diff --git a/maven-api/src/main/java/org/jboss/forge/maven/MavenPluginFacet.java b/maven-api/src/main/java/org/jboss/forge/maven/MavenPluginFacet.java index 7f8c5eb9b5..264e225d3d 100644 --- a/maven-api/src/main/java/org/jboss/forge/maven/MavenPluginFacet.java +++ b/maven-api/src/main/java/org/jboss/forge/maven/MavenPluginFacet.java @@ -53,6 +53,19 @@ public String getId() void removePlugin(Dependency dependency); void updatePlugin(final MavenPlugin plugin); + + List listConfiguredManagedPlugins(); + + boolean hasManagedPlugin(Dependency dependency); + + MavenPlugin getManagedPlugin(Dependency dependency); + + void addManagedPlugin(MavenPlugin plugin); + + void removeManagedPlugin(Dependency dependency); + + void updateManagedPlugin(final MavenPlugin plugin); + /** * Add a {@link KnownRepository} to the project build system. This is where dependencies can be found, downloaded, diff --git a/project-model-maven-tests/src/test/java/org/jboss/forge/maven/facets/MavenPluginFacetManagedPluginTest.java b/project-model-maven-tests/src/test/java/org/jboss/forge/maven/facets/MavenPluginFacetManagedPluginTest.java new file mode 100644 index 0000000000..ece62ae3ad --- /dev/null +++ b/project-model-maven-tests/src/test/java/org/jboss/forge/maven/facets/MavenPluginFacetManagedPluginTest.java @@ -0,0 +1,253 @@ +/* + * Copyright 2012 Red Hat, Inc. and/or its affiliates. + * + * Licensed under the Eclipse Public License version 1.0, available at + * http://www.eclipse.org/legal/epl-v10.html + */ + +package org.jboss.forge.maven.facets; + +import static org.hamcrest.core.Is.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +import javax.inject.Inject; + +import org.apache.maven.model.Build; +import org.apache.maven.model.PluginManagement; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.forge.maven.MavenCoreFacet; +import org.jboss.forge.maven.MavenPluginFacet; +import org.jboss.forge.maven.facets.exceptions.PluginNotFoundException; +import org.jboss.forge.maven.plugins.MavenPlugin; +import org.jboss.forge.maven.plugins.MavenPluginAdapter; +import org.jboss.forge.maven.plugins.MavenPluginBuilder; +import org.jboss.forge.maven.util.ProjectModelTest; +import org.jboss.forge.project.Project; +import org.jboss.forge.project.dependencies.DependencyBuilder; +import org.jboss.forge.project.facets.DependencyFacet; +import org.jboss.forge.project.facets.PackagingFacet; +import org.jboss.forge.project.facets.ResourceFacet; +import org.jboss.forge.project.services.ProjectFactory; +import org.jboss.forge.project.services.ResourceFactory; +import org.jboss.forge.shell.util.ResourceUtil; +import org.jboss.shrinkwrap.api.spec.JavaArchive; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * @author Paul Bakker + */ +@RunWith(Arquillian.class) +public class MavenPluginFacetManagedPluginTest extends ProjectModelTest +{ + @Inject + private ProjectFactory projectFactory; + + @Inject + private ResourceFactory resourceFactory; + + private static Project testProject; + + private final static int TEST_PROJECT_NBR_OF_MANAGED_PLUGINS = 5; + + @Deployment + public static JavaArchive createTestArchive() + { + return ProjectModelTest.createTestArchive().addAsManifestResource( + "META-INF/services/org.jboss.forge.project.dependencies.DependencyResolverProvider"); + } + + @Before + @Override + public void before() throws IOException + { + + project = null; + super.before(); + + if (testProject == null) + { + testProject = projectFactory.findProjectRecursively(ResourceUtil.getContextDirectory(resourceFactory + .getResourceFrom(new File("src/test/resources/test-pom-managed")))); + } + } + + @Test + public void testIsInstalled() throws Exception + { + boolean isInstalled = testProject.hasFacet(MavenPluginFacet.class); + assertEquals(true, isInstalled); + } + + @Test + public void testListManagedPlugins() throws Exception + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + List mavenManagedPlugins = mavenPluginFacet.listConfiguredManagedPlugins(); + assertThat(mavenManagedPlugins.size(), is(TEST_PROJECT_NBR_OF_MANAGED_PLUGINS)); + } + + @Test + public void testAddManagedPlugin() + { + Project project = getProject(); + MavenPluginFacet mavenPluginFacet = getProject().getFacet(MavenPluginFacet.class); + + int nrOfManagedPlugins = getNumberOfManagedPlugins(project); + MavenPluginBuilder plugin = MavenPluginBuilder.create().setDependency( + DependencyBuilder.create().setGroupId("org.apache.maven.plugins").setArtifactId("maven-site-plugin") + .setVersion("3.0")); + + mavenPluginFacet.addManagedPlugin(plugin); + + assertThat(getNumberOfManagedPlugins(project), is(nrOfManagedPlugins + 1)); + } + + private int getNumberOfManagedPlugins(Project project) + { + MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); + Build build = mavenCoreFacet.getPOM().getBuild(); + if (build != null) { + PluginManagement pluginManagement = build.getPluginManagement(); + if (pluginManagement != null) { + return pluginManagement.getPlugins().size(); + } + } + return 0; + } + + @Test + public void testHasManagedPlugin() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + boolean hasManagedPlugin = mavenPluginFacet.hasManagedPlugin(DependencyBuilder + .create("org.codehaus.mojo:findbugs-maven-plugin")); + assertTrue(hasManagedPlugin); + } + + @Test + public void testHasManagedPluginForDefaultGroupId() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + boolean hasManagedPlugin = mavenPluginFacet.hasManagedPlugin(DependencyBuilder + .create("org.apache.maven.plugins:maven-compiler-plugin")); + assertTrue(hasManagedPlugin); + } + + @Test + public void testHasManagedPluginForNullGroupId() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + DependencyBuilder pluginDependency = DependencyBuilder.create().setArtifactId("maven-compiler-plugin"); + boolean hasManagedPlugin = mavenPluginFacet.hasManagedPlugin(pluginDependency); + assertTrue(hasManagedPlugin); + } + + @Test + public void testHasManagedPluginForEmptyGroupId() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + DependencyBuilder pluginDependency = DependencyBuilder.create().setGroupId("") + .setArtifactId("maven-compiler-plugin"); + boolean hasManagedPlugin = mavenPluginFacet.hasManagedPlugin(pluginDependency); + assertTrue(hasManagedPlugin); + } + + @Test + public void testHasManagedPluginWhenPluginNotInstalled() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + boolean hasManagedPlugin = mavenPluginFacet.hasManagedPlugin(DependencyBuilder.create("test.plugins:fake")); + assertFalse(hasManagedPlugin); + } + + @Test + public void testGetManagedPlugin() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + MavenPlugin plugin = mavenPluginFacet.getManagedPlugin(DependencyBuilder + .create("org.codehaus.mojo:findbugs-maven-plugin")); + assertNotNull(plugin); + assertThat(plugin.getDependency().getArtifactId(), is("findbugs-maven-plugin")); + assertThat(plugin.getDependency().getVersion(), is("2.3.2")); + } + + @Test + @SuppressWarnings("unchecked") + public void testGetManagedPluginWhenNoneExistDoesNotThrowException() throws Exception + { + Project project = createProject(MavenCoreFacet.class, ResourceFacet.class, DependencyFacet.class, + PackagingFacet.class); + project.getFacet(MavenPluginFacet.class).listConfiguredManagedPlugins(); + } + + @Test(expected = PluginNotFoundException.class) + public void testGetPluginException() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + mavenPluginFacet.getManagedPlugin(DependencyBuilder.create("test.plugins:fake")); + } + + @Test + public void testRemoveManagedPlugin() + { + Project project = getProject(); + MavenPluginFacet mavenPluginFacet = getProject().getFacet(MavenPluginFacet.class); + int nrOfManagedPlugins = getNumberOfManagedPlugins(project); + + // FIXME: we should not use the mavenPluginFacet to addManagedPlugin (break unit tests principles) + // One way would be to add a pluginManagement to the project (getProject()), + // but I can not find out where is defined the pom for this project + MavenPluginBuilder plugin = MavenPluginBuilder.create().setDependency( + DependencyBuilder.create().setGroupId("org.apache.maven.plugins").setArtifactId("maven-site-plugin") + .setVersion("3.0")); + mavenPluginFacet.addManagedPlugin(plugin); + assertThat(getNumberOfManagedPlugins(project), is(++nrOfManagedPlugins)); + + mavenPluginFacet.removeManagedPlugin(DependencyBuilder.create("org.apache.maven.plugins:maven-site-plugin")); + assertThat(getNumberOfManagedPlugins(project), is(--nrOfManagedPlugins)); + } + + @Test + public void testAddConfigurationToExistingManagedPlugin() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + MavenPlugin plugin = mavenPluginFacet.getManagedPlugin(DependencyBuilder + .create("org.codehaus.mojo:findbugs-maven-plugin")); + MavenPluginBuilder pluginBuilder = MavenPluginBuilder.create(plugin); + + pluginBuilder.createConfiguration().createConfigurationElement("xmlOutput").setText("true"); + + assertEquals( + "org.codehaus.mojofindbugs-maven-plugin2.3.2true", + pluginBuilder.toString()); + } + + @Test + public void testAddConfigurationToExistingManagedPluginWithConfig() + { + MavenPluginFacet mavenPluginFacet = testProject.getFacet(MavenPluginFacet.class); + MavenPlugin plugin = mavenPluginFacet + .getManagedPlugin(DependencyBuilder.create().setArtifactId("maven-compiler-plugin")); + MavenPluginBuilder pluginBuilder = MavenPluginBuilder.create(plugin); + + pluginBuilder.createConfiguration().createConfigurationElement("testelement").setText("test"); + + assertEquals( + "org.apache.maven.pluginsmaven-compiler-plugin2.0.21.61.6test", + pluginBuilder.toString()); + } + + + +} diff --git a/project-model-maven-tests/src/test/resources/test-pom-managed/pom.xml b/project-model-maven-tests/src/test/resources/test-pom-managed/pom.xml new file mode 100644 index 0000000000..0486e36b3c --- /dev/null +++ b/project-model-maven-tests/src/test/resources/test-pom-managed/pom.xml @@ -0,0 +1,305 @@ + + + 4.0.0 + com.ocpsoft + socialpm + X-SNAPSHOT + war + OcpSoft Social Project Management + http://ocpsoft.com/scrumshark/ + + 1.0.3.GA + 1.5.10 + 4.8.1 + 1.0.0.Beta7 + 1.0.0.Alpha3 + 6.0.0.20100721-M4 + 3.0.2-SNAPSHOT + 1.0.2.Final + 3.0.0.Alpha3 + 3.5.2-Final + 1.0.0.Final + 1.0-SP1 + + + + + org.jboss.spec + jboss-javaee-6.0 + ${jboss-javaee6-spec.version} + pom + import + + + + + + com.ocpsoft + prettyfaces-jsf2 + ${prettyfaces.version} + + + org.jboss.seam.faces + seam-faces + ${seam.faces.version} + + + org.hibernate + hibernate-entitymanager + ${hibernate.version} + provided + + + org.jboss.arquillian + arquillian-junit + ${arquillian.version} + test + + + commons-lang + commons-lang + 2.4 + + + commons-codec + commons-codec + 1.3 + + + junit + junit + ${junit.version} + test + + + org.jboss + test-dependency + 1.0.0.Final + + + + + + true + + ocpsoft + OcpSoft Releases + http://ocpsoft.com/repository/ + + + jboss-public-repository-group + JBoss Public Maven Repository Group + https://repository.jboss.org/nexus/content/groups/public/ + + + + false + + jboss + JBoss Legacy Repo + http://repository.jboss.org/maven2/ + + + + false + + java.net2 + Repository hosting the jee6 artifacts + http://download.java.net/maven/2 + + + + socialpm + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + org.qooxdoo + qooxdoo-maven-plugin + [2.0-RC1,) + + compile + test-compile + generate-html + generate-config + sdk-unpack + translation + + + + + + + + + + + + org.qooxdoo + qooxdoo-maven-plugin + 2.0-RC1 + + + sdk-unpack + initialize + + sdk-unpack + + + + generate-config + generate-sources + + generate-config + + + + translation + generate-resources + + translation + + + + generate-html + process-resources + + generate-html + + + + compile + compile + + compile + + + + test-compile + test-compile + + test-compile + + + + + false + phantomjs + C:\phantomjs-1.9.0\phantomjs.exe + + + + maven-compiler-plugin + 2.0.2 + + 1.6 + 1.6 + + + + org.codehaus.mojo + findbugs-maven-plugin + 2.3.2 + + + maven-war-plugin + 2.1-beta-1 + + false + + + + + + + maven-compiler-plugin + + + maven-war-plugin + + + org.codehaus.mojo + findbugs-maven-plugin + + + + + + + + glassfish + + + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} + + + + + jbossas-managed-6 + + + org.jboss.arquillian.container + arquillian-jbossas-managed-6 + ${arquillian.version} + + + org.jboss.jbossas + jboss-server-manager + ${jbossas.server.manager.version} + + + org.jboss.jbossas + jboss-as-client + ${jbossas.client.version} + pom + test + + + + + jbossas-remote-6 + + + + src/test/resources + + + src/test/resources-jbossas + + + + + + org.jboss.arquillian.container + arquillian-jbossas-remote-6 + ${arquillian.version} + test + + + org.jboss.jbossas + jboss-as-client + ${jbossas.client.version} + pom + test + + + + + diff --git a/project-model-maven/src/main/java/org/jboss/forge/maven/facets/MavenPluginFacetImpl.java b/project-model-maven/src/main/java/org/jboss/forge/maven/facets/MavenPluginFacetImpl.java index b1183ef4e6..c32c9ea11d 100644 --- a/project-model-maven/src/main/java/org/jboss/forge/maven/facets/MavenPluginFacetImpl.java +++ b/project-model-maven/src/main/java/org/jboss/forge/maven/facets/MavenPluginFacetImpl.java @@ -15,6 +15,7 @@ import org.apache.maven.model.Build; import org.apache.maven.model.Model; +import org.apache.maven.model.PluginManagement; import org.apache.maven.model.Repository; import org.jboss.forge.maven.MavenCoreFacet; import org.jboss.forge.maven.MavenPluginFacet; @@ -57,128 +58,187 @@ public boolean isInstalled() { return false; } } - - @Override - public List listConfiguredPlugins() { - MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); - Build build = mavenCoreFacet.getPOM().getBuild(); + + private List getPluginsPOM(boolean managedPlugin) { + MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); + Build build = mavenCoreFacet.getPOM().getBuild(); + if (build != null) { + if (managedPlugin) { + PluginManagement pluginManagement = build.getPluginManagement(); + if (pluginManagement != null) { + return pluginManagement.getPlugins(); + } + } else { + return build.getPlugins(); + } + } + return null; + } + + private List listConfiguredPlugins(boolean managedPlugin) { List plugins = new ArrayList(); - if (build != null) { - List pomPlugins = build.getPlugins(); - - if (pomPlugins != null) { - for (org.apache.maven.model.Plugin plugin : pomPlugins) { - MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); - MavenPluginBuilder pluginBuilder = MavenPluginBuilder - .create() - .setDependency( - DependencyBuilder.create().setGroupId(plugin.getGroupId()) - .setArtifactId(plugin.getArtifactId()).setVersion(plugin.getVersion())) + List pomPlugins =getPluginsPOM(managedPlugin); + if (pomPlugins != null) { + for (org.apache.maven.model.Plugin plugin : pomPlugins) { + MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); + MavenPluginBuilder pluginBuilder = MavenPluginBuilder + .create() + .setDependency( + DependencyBuilder.create().setGroupId(plugin.getGroupId()) + .setArtifactId(plugin.getArtifactId()).setVersion(plugin.getVersion())) - .setConfiguration(adapter.getConfig()); - for (Execution execution : adapter.listExecutions()) - { - pluginBuilder.addExecution(execution); - } - plugins.add(pluginBuilder); + .setConfiguration(adapter.getConfig()); + for (Execution execution : adapter.listExecutions()) + { + pluginBuilder.addExecution(execution); } + plugins.add(pluginBuilder); } } - return plugins; } - - @Override - public void addPlugin(final MavenPlugin plugin) { + + private void addPlugin(final MavenPlugin plugin, boolean managedPlugin) { MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); Model pom = mavenCoreFacet.getPOM(); Build build = pom.getBuild(); - if (build == null) { - build = new Build(); + if (build == null) build = new Build(); + if (managedPlugin) { + PluginManagement pluginManagement = build.getPluginManagement(); + if (pluginManagement == null) { + pluginManagement = new PluginManagement(); + build.setPluginManagement(pluginManagement); + } + pluginManagement.addPlugin(new MavenPluginAdapter(plugin)); + } else { + build.addPlugin(new MavenPluginAdapter(plugin)); } - - build.addPlugin(new MavenPluginAdapter(plugin)); pom.setBuild(build); mavenCoreFacet.setPOM(pom); } + + private MavenPlugin getPlugin(final Dependency dependency, boolean managedPlugin) { + String groupId = dependency.getGroupId(); + groupId = (groupId == null) || groupId.equals("") ? DEFAULT_GROUPID : groupId; - @Override - public boolean hasPlugin(final Dependency dependency) { + for (MavenPlugin mavenPlugin : listConfiguredPlugins(managedPlugin)) { + Dependency temp = mavenPlugin.getDependency(); + if (DependencyBuilder.areEquivalent(temp, DependencyBuilder.create(dependency).setGroupId(groupId))) { + return mavenPlugin; + } + } + + throw new PluginNotFoundException(groupId, dependency.getArtifactId()); + } + + public boolean hasPlugin(final Dependency dependency, boolean managedPlugin) { try { - getPlugin(dependency); + getPlugin(dependency, managedPlugin); return true; } catch (PluginNotFoundException ex) { return false; } } - - @Override - public MavenPlugin getPlugin(final Dependency dependency) { - String groupId = dependency.getGroupId(); - - if ((groupId == null) || groupId.equals("")) { - groupId = DEFAULT_GROUPID; - } - - for (MavenPlugin mavenPlugin : listConfiguredPlugins()) { - Dependency temp = mavenPlugin.getDependency(); - if (DependencyBuilder.areEquivalent(temp, DependencyBuilder.create(dependency).setGroupId(groupId))) { - return mavenPlugin; + + private void removePlugin(final Dependency dependency, boolean managedPlugin) { + MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); + List pomPlugins = getPluginsPOM(managedPlugin); + if (pomPlugins != null) { + for (org.apache.maven.model.Plugin pomPlugin : pomPlugins) { + Dependency pluginDep = DependencyBuilder.create().setGroupId(pomPlugin.getGroupId()) + .setArtifactId(pomPlugin.getArtifactId()); + + if (DependencyBuilder.areEquivalent(pluginDep, dependency)) { + Model pom = mavenCoreFacet.getPOM(); + if (managedPlugin) { + pom.getBuild().getPluginManagement().removePlugin(pomPlugin); + } else { + pom.getBuild().removePlugin(pomPlugin); + } + mavenCoreFacet.setPOM(pom); + } } + } + } + + private void updatePlugin(final MavenPlugin plugin, boolean managedPlugin) { + MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); + List pomPlugins = getPluginsPOM(managedPlugin); + if (pomPlugins != null) { + for (org.apache.maven.model.Plugin pomPlugin : pomPlugins) { + Dependency pluginDep = DependencyBuilder.create().setGroupId(pomPlugin.getGroupId()) + .setArtifactId(pomPlugin.getArtifactId()); + + if (DependencyBuilder.areEquivalent(pluginDep, plugin.getDependency())) { + MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); + pomPlugin.setConfiguration(adapter.getConfiguration()); + mavenCoreFacet.setPOM(mavenCoreFacet.getPOM()); + break; + } + } } + } - throw new PluginNotFoundException(groupId, dependency.getArtifactId()); + @Override + public List listConfiguredPlugins() { + return listConfiguredPlugins(false); + } + + @Override + public List listConfiguredManagedPlugins() { + return listConfiguredPlugins(true); + } + @Override + public void addPlugin(final MavenPlugin plugin) { + addPlugin(plugin, false); + } + + @Override + public void addManagedPlugin(final MavenPlugin plugin) { + addPlugin(plugin, true); + } + + @Override + public MavenPlugin getPlugin(final Dependency dependency) { + return getPlugin(dependency, false); + } + + @Override + public MavenPlugin getManagedPlugin(final Dependency dependency) { + return getPlugin(dependency, true); } + @Override + public boolean hasPlugin(final Dependency dependency) { + return hasPlugin(dependency,false); + } + + @Override + public boolean hasManagedPlugin(final Dependency dependency) { + return hasPlugin(dependency,true); + } + @Override public void removePlugin(final Dependency dependency) { - MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); - - Build build = mavenCoreFacet.getPOM().getBuild(); - if (build != null) { - List pomPlugins = build.getPlugins(); - if (pomPlugins != null) { - for (org.apache.maven.model.Plugin pomPlugin : pomPlugins) { - Dependency pluginDep = DependencyBuilder.create().setGroupId(pomPlugin.getGroupId()) - .setArtifactId(pomPlugin.getArtifactId()); - - if (DependencyBuilder.areEquivalent(pluginDep, dependency)) { - Model pom = mavenCoreFacet.getPOM(); - pom.getBuild().removePlugin(pomPlugin); - mavenCoreFacet.setPOM(pom); - } - } - } - } + removePlugin(dependency, false); + } + + @Override + public void removeManagedPlugin(final Dependency dependency) { + removePlugin(dependency, true); } @Override public void updatePlugin(final MavenPlugin plugin) { - MavenCoreFacet mavenCoreFacet = project.getFacet(MavenCoreFacet.class); - Model pom = mavenCoreFacet.getPOM(); - Build build = pom.getBuild(); - if (build != null) - { - List pomPlugins = build.getPlugins(); - if (pomPlugins != null) - { - for (org.apache.maven.model.Plugin pomPlugin : pomPlugins) - { - Dependency pluginDep = DependencyBuilder.create().setGroupId(pomPlugin.getGroupId()) - .setArtifactId(pomPlugin.getArtifactId()); - - if (DependencyBuilder.areEquivalent(pluginDep, plugin.getDependency())) - { - MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); - pomPlugin.setConfiguration(adapter.getConfiguration()); - mavenCoreFacet.setPOM(pom); - break; - } - } - } - } + updatePlugin(plugin, false); + } + + @Override + public void updateManagedPlugin(final MavenPlugin plugin) + { + updatePlugin(plugin, true); } @Override