in src/main/java/org/apache/sling/maven/slingstart/PreparePackageMojo.java [508:551]
private void buildSettings(final Model model, final String packageRunMode, final File outputDir)
throws MojoExecutionException {
final Properties settings = new Properties();
final Feature launchpadFeature = model.getFeature(ModelConstants.FEATURE_LAUNCHPAD);
if ( launchpadFeature != null ) {
final RunMode launchpadRunMode = launchpadFeature.getRunMode();
if ( launchpadRunMode != null ) {
for(final Map.Entry<String, String> entry : launchpadRunMode.getSettings()) {
settings.put(entry.getKey(), deescapeVariablePlaceholders(entry.getValue()));
}
}
}
final Feature bootFeature = model.getFeature(ModelConstants.FEATURE_BOOT);
if ( bootFeature != null ) {
final RunMode bootRunMode = bootFeature.getRunMode();
if ( bootRunMode != null ) {
for(final Map.Entry<String, String> entry : bootRunMode.getSettings()) {
settings.put(entry.getKey(), deescapeVariablePlaceholders(entry.getValue()));
}
}
}
for(final Feature f : model.getFeatures()) {
final RunMode packageRM = f.getRunMode(new String[] {packageRunMode});
if ( packageRM != null ) {
for(final Map.Entry<String, String> entry : packageRM.getSettings()) {
settings.put(entry.getKey(), deescapeVariablePlaceholders(entry.getValue()));
}
}
}
if ( settings.size() > 0 ) {
final File settingsFile = new File(outputDir, PROPERTIES_FILE);
getLog().debug(String.format("Creating settings at %s", settingsFile.getPath()));
FileWriter writer = null;
try {
writer = new FileWriter(settingsFile);
settings.store(writer, null);
} catch ( final IOException ioe ) {
throw new MojoExecutionException("Unable to write properties file.", ioe);
} finally {
IOUtils.closeQuietly(writer);
}
}
}