@Command("add-plugin") public void addPlugin( @Option(description = "dependency identifier of plugin, ex: \"org.jboss.forge:forge-maven-plugin:1.0.0.Final\"", required = true) final Dependency gav, final PipeOut out) { MavenPluginBuilder plugin = MavenPluginBuilder.create().setDependency(gav); if (!mavenPluginInstaller.isInstalled(project, plugin)) { mavenPluginInstaller.install(project, plugin); } }
@Command("add-managed-plugin") public void addManagedPlugin( @Option(description = "dependency identifier of plugin, ex: \"org.jboss.forge:forge-maven-plugin:1.0.0.Final\"", required = true) final Dependency gav, final PipeOut out) { MavenPluginBuilder plugin = MavenPluginBuilder.create().setDependency(gav); if (!mavenPluginInstaller.isInstalled(project, plugin)) { mavenPluginInstaller.installManaged(project, plugin); } } }
@Override public boolean install() { MavenPluginFacet pluginFacet = getOrigin().getFacet(MavenPluginFacet.class); MavenPluginBuilder plugin = MavenPluginBuilder .create() .setCoordinate(CoordinateBuilder.create().setGroupId("org.apache.maven.plugins") .setArtifactId("maven-jar-plugin")) .addExecution( ExecutionBuilder .create() .setId("create-forge-addon") .setPhase("package") .addGoal("jar") .setConfig( ConfigurationBuilder.create().addConfigurationElement( ConfigurationElementBuilder.create().setName("classifier") .setText("forge-addon")))); pluginFacet.addPlugin(plugin); return true; }
Dependency versioned = promptVersion(processorDependency); ConfigurationBuilder configuration = ConfigurationBuilder.create(); configuration.createConfigurationElement("processors") .addChild("processor").setText(provider.getProcessor()); if (!Strings.isNullOrEmpty(provider.getCompilerArguments())) configuration.createConfigurationElement("compilerArguments") .setText(provider.getCompilerArguments()); ExecutionBuilder execution = ExecutionBuilder.create() .setId("process") .setPhase("generate-sources") .addGoal("process") .setConfig(configuration); MavenPluginBuilder processorPlugin = MavenPluginBuilder.create() .setDependency(versioned) .addExecution(execution) .addPluginDependency(aptDependency);
private void modifyCompilerPlugin() { Dependency compilerDependency = DependencyBuilder.create() .setGroupId("org.apache.maven.plugins") .setArtifactId("maven-compiler-plugin"); MavenPluginFacet pluginFacet = project.getFacet(MavenPluginFacet.class); MavenPlugin compiler = pluginFacet.getPlugin(compilerDependency); Configuration config = compiler.getConfig(); if (!config.hasConfigurationElement("proc")) { ConfigurationElement proc = ConfigurationBuilder.create().createConfigurationElement("proc").setText("none"); config.addConfigurationElement(proc); ((MavenPluginAdapter)compiler).setConfig(config); } pluginFacet.updatePlugin(compiler); }
private boolean processorConfigured(MetaModelProvider provider) { DependencyBuilder dependency = createProcessorDependency().setVersion(null); MavenPluginFacet pluginFacet = project.getFacet(MavenPluginFacet.class); if (pluginFacet.hasPlugin(dependency)) { MavenPlugin plugin = pluginFacet.getPlugin(dependency); if (plugin.listExecutions().size() > 0) { Configuration config = plugin.listExecutions().get(0).getConfig(); if (config.hasConfigurationElement("processors")) { ConfigurationElement element = config.getConfigurationElement("processors").getChildByName("processor"); return element.getText().equals(provider.getProcessor()); } } } return false; }