in src/main/java/org/apache/sling/maven/projectsupport/AttachPartialBundleListMojo.java [127:189]
private void attachConfigurations() throws MojoExecutionException, IOException, ArchiverException {
if ( this.ignoreBundleListConfig ) {
this.getLog().debug("ignoreBundleListConfig is set to true, therefore not attaching configurations.");
return;
}
// check if we have configurations
boolean hasConfigs = this.checkFile(this.getConfigDirectory());
hasConfigs |= this.checkFile(this.commonSlingBootstrap);
hasConfigs |= this.checkFile(this.commonSlingProps);
hasConfigs |= this.checkFile(this.webappSlingBootstrap);
hasConfigs |= this.checkFile(this.webappSlingProps);
hasConfigs |= this.checkFile(this.standaloneSlingBootstrap);
hasConfigs |= this.checkFile(this.standaloneSlingProps);
if ( !hasConfigs ) {
this.getLog().debug("No configurations to attach.");
return;
}
// copy configuration, as this project might use different names we have to copy everything!
this.configOutputDir.mkdirs();
if ( this.checkFile(this.commonSlingBootstrap) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.commonSlingBootstrap, new File(slingDir, SLING_COMMON_BOOTSTRAP));
}
if ( this.checkFile(this.commonSlingProps) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.commonSlingProps, new File(slingDir, SLING_COMMON_PROPS));
}
if ( this.checkFile(this.webappSlingBootstrap) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.webappSlingBootstrap, new File(slingDir, SLING_WEBAPP_BOOTSTRAP));
}
if ( this.checkFile(this.webappSlingProps) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.webappSlingProps, new File(slingDir, SLING_WEBAPP_PROPS));
}
if ( this.checkFile(this.standaloneSlingBootstrap) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.standaloneSlingBootstrap, new File(slingDir, SLING_STANDALONE_BOOTSTRAP));
}
if ( this.checkFile(this.standaloneSlingProps) ) {
final File slingDir = new File(this.configOutputDir, "sling");
slingDir.mkdirs();
FileUtils.copyFile(this.standaloneSlingProps, new File(slingDir, SLING_STANDALONE_PROPS));
}
if ( this.checkFile(this.getConfigDirectory()) ) {
final File configDir = new File(this.configOutputDir, "config");
configDir.mkdirs();
copyDirectory(this.getConfigDirectory(), configDir,
null, FileUtils.getDefaultExcludes());
}
final File destFile = new File(this.configOutputDir.getParent(), this.configOutputDir.getName() + ".zip");
zipArchiver.setDestFile(destFile);
zipArchiver.addDirectory(this.configOutputDir);
zipArchiver.createArchive();
projectHelper.attachArtifact(project, CONFIG_TYPE, CONFIG_CLASSIFIER, destFile);
}