in maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java [53:85]
public List<MojoDescriptor> execute(PluginToolsRequest request)
throws ExtractionException, InvalidPluginDescriptorException {
LOGGER.debug("Running: " + getClass().getName());
String metadataExtension = getMetadataFileExtension(request);
String scriptExtension = getScriptFileExtension(request);
MavenProject project = request.getProject();
@SuppressWarnings("unchecked")
Map<String, Set<File>> scriptFilesKeyedByBasedir =
gatherFilesByBasedir(project.getBasedir(), project.getScriptSourceRoots(), scriptExtension, request);
List<MojoDescriptor> mojoDescriptors;
if (!(metadataExtension == null || metadataExtension.isEmpty())) {
@SuppressWarnings("unchecked")
Map<String, Set<File>> metadataFilesKeyedByBasedir = gatherFilesByBasedir(
project.getBasedir(), project.getScriptSourceRoots(), metadataExtension, request);
mojoDescriptors = extractMojoDescriptorsFromMetadata(metadataFilesKeyedByBasedir, request);
} else {
mojoDescriptors = extractMojoDescriptors(scriptFilesKeyedByBasedir, request);
}
copyScriptsToOutputDirectory(
scriptFilesKeyedByBasedir, project.getBuild().getOutputDirectory(), request);
if (!mojoDescriptors.isEmpty()) {
LOGGER.warn("Scripting support for mojos is deprecated and is planned to be removed in Maven 4.");
LOGGER.warn("Found " + mojoDescriptors.size() + " scripted mojos.");
}
return mojoDescriptors;
}