Search in sources :

Example 1 with PluginVersionResolutionException

use of org.apache.maven.plugin.version.PluginVersionResolutionException in project maven-plugins by apache.

the class DescribeMojo method lookupPluginDescriptor.

/**
     * Method for retrieving the description of the plugin
     *
     * @param pi holds information of the plugin whose description is to be retrieved
     * @return a PluginDescriptor where the plugin description is to be retrieved
     * @throws MojoExecutionException if the plugin could not be verify
     * @throws MojoFailureException   if groupId or artifactId is empty
     */
private PluginDescriptor lookupPluginDescriptor(PluginInfo pi) throws MojoExecutionException, MojoFailureException {
    Plugin forLookup = null;
    if (StringUtils.isNotEmpty(pi.getPrefix())) {
        try {
            forLookup = mojoDescriptorCreator.findPluginForPrefix(pi.getPrefix(), session);
        } catch (NoPluginFoundForPrefixException e) {
            throw new MojoExecutionException("Unable to find the plugin with prefix: " + pi.getPrefix(), e);
        }
    } else if (StringUtils.isNotEmpty(pi.getGroupId()) && StringUtils.isNotEmpty(pi.getArtifactId())) {
        forLookup = new Plugin();
        forLookup.setGroupId(pi.getGroupId());
        forLookup.setArtifactId(pi.getArtifactId());
    }
    if (forLookup == null) {
        String msg = "You must specify either: both 'groupId' and 'artifactId' parameters OR a 'plugin' parameter" + " OR a 'cmd' parameter. For instance:" + LS + "  # mvn help:describe -Dcmd=install" + LS + "or" + LS + "  # mvn help:describe -Dcmd=help:describe" + LS + "or" + LS + "  # mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin" + LS + "or" + LS + "  # mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-help-plugin" + LS + LS + "Try 'mvn help:help -Ddetail=true' for more information.";
        throw new MojoFailureException(msg);
    }
    if (StringUtils.isNotEmpty(pi.getVersion())) {
        forLookup.setVersion(pi.getVersion());
    } else {
        try {
            DefaultPluginVersionRequest versionRequest = new DefaultPluginVersionRequest(forLookup, session);
            versionRequest.setPom(project.getModel());
            PluginVersionResult versionResult = pluginVersionResolver.resolve(versionRequest);
            forLookup.setVersion(versionResult.getVersion());
        } catch (PluginVersionResolutionException e) {
            throw new MojoExecutionException("Unable to resolve the version of the plugin with prefix: " + pi.getPrefix(), e);
        }
    }
    try {
        return pluginManager.getPluginDescriptor(forLookup, session);
    } catch (Exception e) {
        throw new MojoExecutionException("Error retrieving plugin descriptor for:" + LS + LS + "groupId: '" + groupId + "'" + LS + "artifactId: '" + artifactId + "'" + LS + "version: '" + version + "'" + LS + LS, e);
    }
}
Also used : NoPluginFoundForPrefixException(org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException) PluginVersionResolutionException(org.apache.maven.plugin.version.PluginVersionResolutionException) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) MojoFailureException(org.apache.maven.plugin.MojoFailureException) PluginVersionResult(org.apache.maven.plugin.version.PluginVersionResult) DefaultPluginVersionRequest(org.apache.maven.plugin.version.DefaultPluginVersionRequest) PluginVersionResolutionException(org.apache.maven.plugin.version.PluginVersionResolutionException) NoPluginFoundForPrefixException(org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException) IOException(java.io.IOException) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) InvocationTargetException(java.lang.reflect.InvocationTargetException) MojoFailureException(org.apache.maven.plugin.MojoFailureException) Plugin(org.apache.maven.model.Plugin)

Aggregations

IOException (java.io.IOException)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 Plugin (org.apache.maven.model.Plugin)1 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)1 MojoFailureException (org.apache.maven.plugin.MojoFailureException)1 NoPluginFoundForPrefixException (org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException)1 DefaultPluginVersionRequest (org.apache.maven.plugin.version.DefaultPluginVersionRequest)1 PluginVersionResolutionException (org.apache.maven.plugin.version.PluginVersionResolutionException)1 PluginVersionResult (org.apache.maven.plugin.version.PluginVersionResult)1