in src/main/java/org/apache/sling/maven/slingstart/PackageMojo.java [80:115]
private void packageStandaloneApp(final Map<String, File> globalContentsMap) throws MojoExecutionException {
this.getLog().info("Packaging standalone jar...");
@SuppressWarnings("unchecked")
final Map<String, File> contentsMap = (Map<String, File>) this.project.getContextValue(BuildConstants.CONTEXT_STANDALONE);
final File buildOutputDirectory = this.getStandaloneOutputDirectory();
final File manifestFile = new File(buildOutputDirectory, "META-INF/MANIFEST.MF");
FileInputStream fis = null;
try {
fis = new FileInputStream(manifestFile);
final Manifest mf = new Manifest(fis);
final File outputFile = getBuildFile(".jar");
final JarArchiverHelper helper = new JarArchiverHelper(jarArchiver, this.project, outputFile, mf);
helper.addDirectory(buildOutputDirectory, null, EXCLUDES_MANIFEST);
helper.addArtifacts(globalContentsMap, "");
helper.addArtifacts(contentsMap, "");
helper.createArchive();
if ( BuildConstants.PACKAGING_SLINGSTART.equals(project.getPackaging()) ) {
project.getArtifact().setFile(outputFile);
} else {
if (!attachArtifact) {
this.getLog().info("Do not attach the standalone jar to this Maven project");
} else {
projectHelper.attachArtifact(project, BuildConstants.TYPE_JAR, BuildConstants.CLASSIFIER_APP, outputFile);
}
}
} catch ( final IOException ioe) {
throw new MojoExecutionException("Unable to create standalone jar", ioe);
} finally {
IOUtils.closeQuietly(fis);
}
}