in src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java [1295:1350]
private void renameResources(final ApisJarContext ctx, final ArtifactInfo info, final ArtifactId artifactId)
throws MojoExecutionException {
final List<String> patterns = getIncludeResourcePatterns(ctx, info.getId());
if (patterns.isEmpty()) {
getLog().debug("No configured resources to rename in " + info.getBinDirectory());
}
getLog().debug("Renaming " + patterns + " files in " + info.getBinDirectory() + "...");
final DirectoryScanner directoryScanner = new DirectoryScanner();
directoryScanner.setBasedir(info.getBinDirectory());
directoryScanner.setIncludes(patterns.toArray(new String[patterns.size()]));
directoryScanner.scan();
if (directoryScanner.getIncludedFiles().length == 0) {
getLog().debug("No " + patterns + " resources in " + info.getBinDirectory() + " to be renamed found.");
return;
}
for (final String resourceName : directoryScanner.getIncludedFiles()) {
final File resource = new File(info.getBinDirectory(), resourceName);
String includedName = resourceName.replace(File.separatorChar, '/');
if (!info.getIncludedResources().contains(resource)) {
final String prefix = artifactId.toMvnName().concat("-");
if (resource.getName().startsWith(prefix)) {
getLog().debug("No need to rename " + resource);
info.getIncludedResources().add(resource);
} else {
File renamed = new File(resource.getParentFile(), prefix.concat(resource.getName()));
getLog().debug("Renaming resource " + resource + " to " + renamed + "...");
if (resource.renameTo(renamed)) {
getLog().debug("Resource renamed to " + renamed);
info.getIncludedResources().add(renamed);
} else {
throw new MojoExecutionException("Impossible to rename resource " + resource + " to " + renamed
+ ", please check the current user has enough rights on the File System");
}
final int lastSlash = includedName.lastIndexOf('/');
if (lastSlash == -1) {
includedName = renamed.getName();
} else {
includedName = includedName.substring(0, lastSlash + 1).concat(renamed.getName());
}
}
}
if (includedName.endsWith(ArtifactType.CND.getContentExtension())) {
info.getNodeTypes().add(includedName);
}
}
getLog().debug(patterns + " resources in " + info.getBinDirectory() + " successfully renamed");
}