public void execute()

in src/main/java/org/apache/sling/feature/maven/mojos/ExtractExtensionMojo.java [49:93]


    public void execute() throws MojoExecutionException, MojoFailureException {
        checkPreconditions();
        File dir = new File(outputDir);
        dir.mkdirs();

        getLog().info("Feature Selection: " + selection);

        Map<String, Feature> selFeat = getSelectedFeatures(selection);
        for (Map.Entry<String, Feature> entry : selFeat.entrySet()) {
            Feature f = entry.getValue();
            Extension ext = f.getExtensions().getByName(extension);
            if (ext == null) {
                getLog().info("Feature " + f.getId() + " does not contain extension " + extension);
                continue;
            }

            String fileName = f.getId().getClassifier();
            if (fileName == null) {
                fileName = extension;
            } else {
                fileName += "-" + extension;
            }
            fileName += ext.getType() == ExtensionType.JSON ? ".json" : ".txt";

            try (Writer wr = new FileWriter(new File(dir, fileName))) {
                switch (ext.getType()) {
                    case ARTIFACTS:
                        // List the artifacts as text
                        for (Artifact a : ext.getArtifacts()) {
                            wr.write(a.getId().toMvnId());
                            wr.write(System.lineSeparator());
                        }
                        break;
                    case JSON:
                        wr.write(ext.getJSON());
                        break;
                    case TEXT:
                        wr.write(ext.getText());
                        break;
                }
            } catch (IOException ex) {
                throw new MojoExecutionException("Problem writing feature" + outputDir, ex);
            }
        }
    }