in maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java [93:129]
protected void copyScriptsToOutputDirectory(
Map<String, Set<File>> scriptFilesKeyedByBasedir, String outputDirectory, PluginToolsRequest request)
throws ExtractionException {
File outputDir = new File(outputDirectory);
if (!outputDir.exists()) {
outputDir.mkdirs();
}
for (Map.Entry<String, Set<File>> entry : scriptFilesKeyedByBasedir.entrySet()) {
File sourceDir = new File(entry.getKey());
Set<File> scripts = entry.getValue();
for (File scriptFile : scripts) {
String relativePath =
scriptFile.getPath().substring(sourceDir.getPath().length());
if (relativePath.charAt(0) == File.separatorChar) {
relativePath = relativePath.substring(1);
}
File outputFile = new File(outputDir, relativePath).getAbsoluteFile();
if (!outputFile.getParentFile().exists()) {
outputFile.getParentFile().mkdirs();
}
try {
FileUtils.copyFile(scriptFile, outputFile);
} catch (IOException e) {
throw new ExtractionException(
"Cannot copy script file: " + scriptFile + " to output: " + outputFile, e);
}
}
}
}