Search in sources :

Example 46 with Plugin

use of org.apache.maven.model.Plugin in project maven-archetype by apache.

the class DefaultPomManager method mergeBuildPlugins.

private void mergeBuildPlugins(BuildBase modelBuild, BuildBase generatedModelBuild) {
    @SuppressWarnings("unchecked") Map<String, Plugin> pluginsByIds = modelBuild.getPluginsAsMap();
    @SuppressWarnings("unchecked") List<Plugin> generatedPlugins = generatedModelBuild.getPlugins();
    for (Plugin generatedPlugin : generatedPlugins) {
        String generatedPluginsId = generatedPlugin.getKey();
        if (!pluginsByIds.containsKey(generatedPluginsId)) {
            modelBuild.addPlugin(generatedPlugin);
        } else {
            getLogger().info("Try to merge plugin configuration of plugins with id: " + generatedPluginsId);
            Plugin modelPlugin = (Plugin) pluginsByIds.get(generatedPluginsId);
            modelPlugin.setConfiguration(Xpp3DomUtils.mergeXpp3Dom((Xpp3Dom) generatedPlugin.getConfiguration(), (Xpp3Dom) modelPlugin.getConfiguration()));
        }
    }
}
Also used : Xpp3Dom(org.codehaus.plexus.util.xml.Xpp3Dom) ReportPlugin(org.apache.maven.model.ReportPlugin) Plugin(org.apache.maven.model.Plugin)

Example 47 with Plugin

use of org.apache.maven.model.Plugin in project maven-plugins by apache.

the class AbstractCheckstyleReport method getCheckstylePluginDependenciesAsArtifacts.

private List<Artifact> getCheckstylePluginDependenciesAsArtifacts(Map<String, Plugin> plugins, String hint) {
    List<Artifact> artifacts = new ArrayList<>();
    Plugin checkstylePlugin = plugins.get(plugin.getGroupId() + ":" + plugin.getArtifactId());
    if (checkstylePlugin != null) {
        for (Dependency dep : checkstylePlugin.getDependencies()) {
            // @todo if we can filter on hints, it should be done here...
            String depKey = dep.getGroupId() + ":" + dep.getArtifactId();
            artifacts.add((Artifact) plugin.getArtifactMap().get(depKey));
        }
    }
    return artifacts;
}
Also used : ArrayList(java.util.ArrayList) Dependency(org.apache.maven.model.Dependency) Artifact(org.apache.maven.artifact.Artifact) ReportPlugin(org.apache.maven.model.ReportPlugin) Plugin(org.apache.maven.model.Plugin)

Example 48 with Plugin

use of org.apache.maven.model.Plugin in project maven-plugins by apache.

the class CheckstyleViolationCheckMojo method getCheckstylePluginDependenciesAsArtifacts.

private List<Artifact> getCheckstylePluginDependenciesAsArtifacts(Map<String, Plugin> plugins, String hint) {
    List<Artifact> artifacts = new ArrayList<>();
    Plugin checkstylePlugin = plugins.get(plugin.getGroupId() + ":" + plugin.getArtifactId());
    if (checkstylePlugin != null) {
        for (Dependency dep : checkstylePlugin.getDependencies()) {
            // @todo if we can filter on hints, it should be done here...
            String depKey = dep.getGroupId() + ":" + dep.getArtifactId();
            artifacts.add((Artifact) plugin.getArtifactMap().get(depKey));
        }
    }
    return artifacts;
}
Also used : ArrayList(java.util.ArrayList) Dependency(org.apache.maven.model.Dependency) Artifact(org.apache.maven.artifact.Artifact) Plugin(org.apache.maven.model.Plugin)

Example 49 with Plugin

use of org.apache.maven.model.Plugin in project maven-plugins by apache.

the class DescribeMojoTest method testLookupPluginDescriptorGAV.

public void testLookupPluginDescriptorGAV() throws Throwable {
    DescribeMojo mojo = new DescribeMojo();
    PluginInfo pi = new PluginInfo();
    pi.setGroupId("org.test");
    pi.setArtifactId("test");
    pi.setVersion("1.0");
    PluginDescriptor pd = new PluginDescriptor();
    MojoDescriptorCreator mojoDescriptorCreator = mock(MojoDescriptorCreator.class);
    PluginVersionResolver pluginVersionResolver = mock(PluginVersionResolver.class);
    MavenPluginManagerHelper pluginManager = mock(MavenPluginManagerHelper.class);
    MavenSession session = mock(MavenSession.class);
    PrivateAccessor.setField(mojo, "mojoDescriptorCreator", mojoDescriptorCreator);
    PrivateAccessor.setField(mojo, "pluginVersionResolver", pluginVersionResolver);
    PrivateAccessor.setField(mojo, "pluginManager", pluginManager);
    PrivateAccessor.setField(mojo, "session", session);
    when(pluginManager.getPluginDescriptor(any(Plugin.class), eq(session))).thenReturn(pd);
    PluginDescriptor returned = (PluginDescriptor) PrivateAccessor.invoke(mojo, "lookupPluginDescriptor", new Class[] { PluginInfo.class }, new Object[] { pi });
    assertEquals(pd, returned);
    verify(mojoDescriptorCreator, never()).findPluginForPrefix(any(String.class), any(MavenSession.class));
    verify(pluginVersionResolver, never()).resolve(any(PluginVersionRequest.class));
    ArgumentCaptor<Plugin> argument = ArgumentCaptor.forClass(Plugin.class);
    verify(pluginManager).getPluginDescriptor(argument.capture(), eq(session));
    Plugin capturedPlugin = argument.getValue();
    assertEquals("org.test", capturedPlugin.getGroupId());
    assertEquals("test", capturedPlugin.getArtifactId());
    assertEquals("1.0", capturedPlugin.getVersion());
}
Also used : PluginVersionResolver(org.apache.maven.plugin.version.PluginVersionResolver) PluginDescriptor(org.apache.maven.plugin.descriptor.PluginDescriptor) MavenSession(org.apache.maven.execution.MavenSession) MojoDescriptorCreator(org.apache.maven.lifecycle.internal.MojoDescriptorCreator) PluginInfo(org.apache.maven.plugins.help.DescribeMojo.PluginInfo) MavenPluginManagerHelper(org.apache.maven.reporting.exec.MavenPluginManagerHelper) PluginVersionRequest(org.apache.maven.plugin.version.PluginVersionRequest) Plugin(org.apache.maven.model.Plugin)

Example 50 with Plugin

use of org.apache.maven.model.Plugin in project maven-plugins by apache.

the class DescribeMojoTest method testLookupPluginDescriptorPrefixWithVersion.

public void testLookupPluginDescriptorPrefixWithVersion() throws Throwable {
    DescribeMojo mojo = new DescribeMojo();
    PluginInfo pi = new PluginInfo();
    pi.setPrefix("help");
    pi.setVersion("1.0");
    Plugin plugin = new Plugin();
    plugin.setGroupId("org.test");
    plugin.setArtifactId("test");
    PluginDescriptor pd = new PluginDescriptor();
    MojoDescriptorCreator mojoDescriptorCreator = mock(MojoDescriptorCreator.class);
    PluginVersionResolver pluginVersionResolver = mock(PluginVersionResolver.class);
    MavenPluginManagerHelper pluginManager = mock(MavenPluginManagerHelper.class);
    MavenSession session = mock(MavenSession.class);
    PrivateAccessor.setField(mojo, "mojoDescriptorCreator", mojoDescriptorCreator);
    PrivateAccessor.setField(mojo, "pluginVersionResolver", pluginVersionResolver);
    PrivateAccessor.setField(mojo, "pluginManager", pluginManager);
    PrivateAccessor.setField(mojo, "session", session);
    when(mojoDescriptorCreator.findPluginForPrefix("help", session)).thenReturn(plugin);
    when(pluginManager.getPluginDescriptor(any(Plugin.class), eq(session))).thenReturn(pd);
    PluginDescriptor returned = (PluginDescriptor) PrivateAccessor.invoke(mojo, "lookupPluginDescriptor", new Class[] { PluginInfo.class }, new Object[] { pi });
    assertEquals(pd, returned);
    verify(mojoDescriptorCreator).findPluginForPrefix("help", session);
    verify(pluginVersionResolver, never()).resolve(any(PluginVersionRequest.class));
    ArgumentCaptor<Plugin> argument = ArgumentCaptor.forClass(Plugin.class);
    verify(pluginManager).getPluginDescriptor(argument.capture(), eq(session));
    Plugin capturedPlugin = argument.getValue();
    assertEquals("org.test", capturedPlugin.getGroupId());
    assertEquals("test", capturedPlugin.getArtifactId());
    assertEquals("1.0", capturedPlugin.getVersion());
}
Also used : PluginDescriptor(org.apache.maven.plugin.descriptor.PluginDescriptor) MavenSession(org.apache.maven.execution.MavenSession) PluginVersionResolver(org.apache.maven.plugin.version.PluginVersionResolver) MojoDescriptorCreator(org.apache.maven.lifecycle.internal.MojoDescriptorCreator) PluginInfo(org.apache.maven.plugins.help.DescribeMojo.PluginInfo) MavenPluginManagerHelper(org.apache.maven.reporting.exec.MavenPluginManagerHelper) PluginVersionRequest(org.apache.maven.plugin.version.PluginVersionRequest) Plugin(org.apache.maven.model.Plugin)

Aggregations

Plugin (org.apache.maven.model.Plugin)140 Xpp3Dom (org.codehaus.plexus.util.xml.Xpp3Dom)39 MavenProject (org.apache.maven.project.MavenProject)26 Build (org.apache.maven.model.Build)22 PluginExecution (org.apache.maven.model.PluginExecution)22 ArrayList (java.util.ArrayList)20 Dependency (org.apache.maven.model.Dependency)17 File (java.io.File)15 Model (org.apache.maven.model.Model)15 HashMap (java.util.HashMap)12 PluginDescriptor (org.apache.maven.plugin.descriptor.PluginDescriptor)12 CoreException (org.eclipse.core.runtime.CoreException)11 IOException (java.io.IOException)9 List (java.util.List)8 PluginManagement (org.apache.maven.model.PluginManagement)8 Map (java.util.Map)7 MavenSession (org.apache.maven.execution.MavenSession)7 ReportPlugin (org.apache.maven.model.ReportPlugin)7 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)7 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)6