@Override public MavenPlugin merge(final MavenPlugin dominant, final MavenPlugin recessive) MavenPluginAdapter merged = new MavenPluginAdapter(dominant); if (Dependencies.areEquivalent(dominant.getCoordinate(), recessive.getCoordinate())) MavenPluginAdapter recessiveAdaptater = new MavenPluginAdapter(recessive); Xpp3Dom mergedDomConfig = Xpp3Dom.mergeXpp3Dom((Xpp3Dom) merged.getConfiguration(), (Xpp3Dom) recessiveAdaptater.getConfiguration()); merged.setConfiguration(mergedDomConfig); List<PluginExecution> mergedExecutions = mergePluginsExecutions(merged.getExecutionsAsMap(), recessiveAdaptater.getExecutionsAsMap()); merged.setExecutions(mergedExecutions); if (Strings.isNullOrEmpty(merged.getVersion())) merged.setVersion(recessiveAdaptater.getVersion()); if (Strings.isNullOrEmpty(merged.getExtensions())) merged.setExtensions(recessiveAdaptater.getExtensions()); if (Strings.isNullOrEmpty(merged.getInherited())) merged.setExtensions(recessiveAdaptater.getInherited());
private void updatePluginConfiguration(WildFlySwarmConfiguration configuration) { MavenPluginFacet facet = getFaceted().getFacet(MavenPluginFacet.class); MavenPlugin plugin = facet.getPlugin(PLUGIN_COORDINATE); MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); Configuration config = adapter.getConfig(); configuration.apply(config); adapter.setConfig(config); facet.updatePlugin(adapter); }
@Override public Coordinate getCoordinate() { return CoordinateBuilder.create() .setGroupId(getGroupId()) .setArtifactId(getArtifactId()) .setVersion(getVersion()); }
public MavenPluginAdapter(final MavenPlugin mavenPlugin) { Coordinate coordinate = mavenPlugin.getCoordinate(); setGroupId(coordinate.getGroupId()); setArtifactId(coordinate.getArtifactId()); setVersion(coordinate.getVersion()); setConfiguration(parseConfig(mavenPlugin.getConfig())); setExecutions(transformExecutions(mavenPlugin)); if (mavenPlugin.isExtensionsEnabled()) { setExtensions(true); } setDependencies(transformDependencies(mavenPlugin)); }
public MavenPluginAdapter(final org.apache.maven.model.Plugin plugin) { org.apache.maven.model.Plugin clone = plugin.clone(); setGroupId(clone.getGroupId()); setArtifactId(clone.getArtifactId()); setVersion(clone.getVersion()); setConfiguration(plugin.getConfiguration()); setExecutions(clone.getExecutions()); setExtensions(clone.getExtensions()); setDependencies(clone.getDependencies()); }
final MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); final Configuration config = adapter.getConfig(); for (final ConfigurationElement elem : getConfigurations()) { mergeConfigurationElement(config, elem); adapter.setConfig(config); adapter.addDependency(MavenConverter.convert(depBuilder)); adapter.addExecution(exec); adapter.setExtensions(isExtensions()); plugin.setConfiguration(adapter.getConfiguration()); plugin.setExecutions(adapter.getExecutions()); plugin.setDependencies(adapter.getDependencies());
MavenPluginAdapter merged = new MavenPluginAdapter(dominant); if (Dependencies.areEquivalent(dominant.getCoordinate(), recessive.getCoordinate())) merged.setVersion(null); merged.setExtensions(null); Configuration mergedConfiguration = merged.getConfig(); if (dominant.getConfig() != null && recessive.getConfig() != null) merged.setConfig(mergedConfiguration); Map<String, PluginExecution> dominantExec = new MavenPluginAdapter(dominant).getExecutionsAsMap(); Map<String, PluginExecution> recessiveExec = new MavenPluginAdapter(recessive).getExecutionsAsMap(); Map<String, PluginExecution> mergedExec = merged.getExecutionsAsMap(); if (dominantExec != null && recessiveExec != null)
MavenPluginAdapter pluginToInstall = new MavenPluginAdapter(mergedPlugin); pluginToInstall.setVersion(versionToInstall); if (!managed) mavenManagedPlugin = new MavenPluginAdapter(managedPlugin); mavenManagedPlugin.setVersion(pluginToInstall.getVersion()); newManagedPlugin.setGroupId(pluginToInstall.getGroupId()); newManagedPlugin.setArtifactId(pluginToInstall.getArtifactId()); newManagedPlugin.setVersion(pluginToInstall.getVersion()); mavenManagedPlugin = new MavenPluginAdapter(newManagedPlugin); pluginToInstall.setVersion(null); // handled by the plugin management section pluginToInstall.setVersion(null);
final MavenPluginAdapter adapter = new MavenPluginAdapter(plugin); if (!isMatchingConfiguration(adapter.getConfig(), getConfigurations())) return false;
private List<MavenPlugin> listConfiguredPlugins(boolean managedPlugin, boolean effectivePlugin, org.jboss.forge.addon.maven.profiles.Profile profileParam) { List<MavenPlugin> plugins = new ArrayList<>(); for (org.apache.maven.model.Plugin plugin : getPluginsPOM(managedPlugin, effectivePlugin, profileParam)) { plugins.add(new MavenPluginAdapter(plugin)); } return plugins; }
private MavenPlugin addOrUpdatePlugin(DependencyFacet deps, MavenPluginFacet plugins, MavenPluginAdapter pluginToInstall, boolean managed) { Coordinate pluginCoordinates = CoordinateBuilder.create().setGroupId(pluginToInstall.getGroupId()) .setArtifactId(pluginToInstall.getArtifactId()); if (managed) { if (plugins.hasManagedPlugin(pluginCoordinates)) { plugins.updateManagedPlugin(pluginToInstall); } else { plugins.addManagedPlugin(pluginToInstall); } } else { if (plugins.hasPlugin(pluginCoordinates)) { plugins.updatePlugin(pluginToInstall); } else { plugins.addPlugin(pluginToInstall); } } return pluginToInstall; }
@Override public List<Dependency> getDirectDependencies() { List<Dependency> dependencies = new ArrayList<Dependency>(); for (org.apache.maven.model.Dependency pluginDependency : getDependencies()) { DependencyBuilder builder = DependencyBuilder.create() .setArtifactId(pluginDependency.getArtifactId()) .setGroupId(pluginDependency.getGroupId()) .setVersion(pluginDependency.getVersion()) .setPackaging(pluginDependency.getType()) .setScopeType(pluginDependency.getScope()); dependencies.add(builder); } return dependencies; }
@Override public List<Execution> listExecutions() { List<Execution> executions = new ArrayList<Execution>(); for (PluginExecution pluginExecution : getExecutions()) { ExecutionBuilder executionBuilder = ExecutionBuilder.create() .setId(pluginExecution.getId()).setPhase(pluginExecution.getPhase()); for (String goal : pluginExecution.getGoals()) { executionBuilder.addGoal(goal); } if (pluginExecution.getConfiguration() != null) { executionBuilder.setConfig(new ConfigurationImpl((Xpp3Dom) pluginExecution.getConfiguration())); } executions.add(executionBuilder); } return executions; }
private void addPlugin(final MavenPlugin plugin, boolean managedPlugin, org.jboss.forge.addon.maven.profiles.Profile profileParam) { MavenFacet mavenCoreFacet = getFaceted().getFacet(MavenFacet.class); Model pom = mavenCoreFacet.getModel(); BuildBase build = getBuild(pom, profileParam); 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)); } mavenCoreFacet.setModel(pom); }
private void modifyCompilerPlugin() { Coordinate compilerDependency = CoordinateBuilder.create() .setGroupId("org.apache.maven.plugins") .setArtifactId("maven-compiler-plugin"); MavenPluginFacet pluginFacet = getFaceted().getFacet(MavenPluginFacet.class); final MavenPluginAdapter compiler; if (pluginFacet.hasPlugin(compilerDependency)) { compiler = new MavenPluginAdapter(pluginFacet.getPlugin(compilerDependency)); } else { compiler = new MavenPluginAdapter(MavenPluginBuilder.create().setCoordinate(compilerDependency)); } Configuration config = compiler.getConfig(); if (!config.hasConfigurationElement("proc")) { ConfigurationElement proc = ConfigurationBuilder.create().createConfigurationElement("proc").setText("none"); config.addConfigurationElement(proc); compiler.setConfig(config); } pluginFacet.updatePlugin(compiler); }
pluginManagement.removePlugin(new MavenPluginAdapter(pluginToRemove)); build.removePlugin(new MavenPluginAdapter(pluginToRemove));