public List execute()

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;
    }