public static void writeSourceReport()

in src/main/java/org/apache/sling/feature/maven/mojos/apis/ApisUtil.java [485:521]


    public static void writeSourceReport(final boolean write, final Log log, final File reportFile, final List<ArtifactInfo> infos) throws MojoExecutionException {
        if (write) {
            Collections.sort(infos, new Comparator<ArtifactInfo>(){

                @Override
                public int compare(ArtifactInfo o1, ArtifactInfo o2) {
                    return o1.getId().compareTo(o2.getId());
                }

            });
            final List<String> output = new ArrayList<>();
            for (final ArtifactInfo info : infos) {
                if (info.getSources().isEmpty()) {
                    output.add("- ".concat(info.getId().toMvnId()).concat(" : NO SOURCES FOUND"));
                } else {
                    output.add(
                            "- ".concat(info.getId().toMvnId()).concat(" : ").concat(info.getSources().toString()));
                }
            }
            if ( output.isEmpty() ) {
                output.add("NO SOURCES FOUND");
            }
            log.info("--------------------------------------------------------");
            log.info("Used sources:");
            log.info("--------------------------------------------------------");
            output.stream().forEach(msg -> log.info(msg));
            try {
                Files.write(reportFile.toPath(), output);
            } catch (final IOException e) {
                throw new MojoExecutionException("Unable to write " + reportFile, e);
            }
        } else {
            if ( reportFile.exists() ) {
                reportFile.delete();
            }
        }
    }