in src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java [222:251]
private void buildContentsMap(final Model model, final String packageRunMode, final Map<String, File> contentsMap)
throws MojoExecutionException {
if ( packageRunMode == null ) {
// add base jar
final Artifact artifact = getBaseArtifact(model, null, BuildConstants.TYPE_JAR);
contentsMap.put(BASE_DESTINATION + "/"+ artifact.getArtifactId() + "." + artifact.getArtifactHandler().getExtension(), artifact.getFile());
}
for(final Feature feature : model.getFeatures()) {
if ( feature.isSpecial() && !feature.getName().equals(ModelConstants.FEATURE_BOOT)) {
continue;
} else if (FeatureTypes.SUBSYSTEM_APPLICATION.equals(feature.getType()) ||
FeatureTypes.SUBSYSTEM_COMPOSITE.equals(feature.getType()) ||
FeatureTypes.SUBSYSTEM_FEATURE.equals(feature.getType())) {
buildSubsystemBase(contentsMap, feature);
} else {
for(final RunMode runMode : feature.getRunModes()) {
if ( packageRunMode == null ) {
if ( runMode.isSpecial() ) {
continue;
}
this.buildContentsMap(model, runMode, contentsMap, feature.getName().equals(ModelConstants.FEATURE_BOOT));
} else {
if ( runMode.isRunMode(packageRunMode) ) {
this.buildContentsMap(model, runMode, contentsMap, feature.getName().equals(ModelConstants.FEATURE_BOOT));
}
}
}
}
}
}