Example usage for org.apache.maven.plugin MojoExecution getConfiguration

List of usage examples for org.apache.maven.plugin MojoExecution getConfiguration

Introduction

In this page you can find the example usage for org.apache.maven.plugin MojoExecution getConfiguration.

Prototype

public Xpp3Dom getConfiguration() 

Source Link

Usage

From source file:com.carrotgarden.m2e.scr.BuildParticipant.java

License:BSD License

/**
 * /*from  w w  w  . ja v  a 2s .c o  m*/
 * this version of parameter lookup seems to work
 * 
 * {@link org.eclipse.m2e.core.project.configurator.AbstractProjectConfigurator}
 * 
 * */
protected <T> T getParameterValue(final String parameter, final Class<T> asType) throws CoreException {

    final MavenSession session = getSession();
    final MojoExecution mojoExecution = getMojoExecution();

    //

    final Plugin plugin = mojoExecution.getPlugin();

    final PluginExecution execution = new PluginExecution();
    execution.setConfiguration(mojoExecution.getConfiguration());

    final String goal = mojoExecution.getGoal();

    //

    final T value = getMaven().getMojoParameterValue(parameter, asType, session, plugin, execution, goal);

    // log.info("@@@ value=" + value);

    return value;

}

From source file:com.github.sdedwards.m2e_nar.internal.MavenUtils.java

License:Apache License

private static <T extends AbstractMojo> T getConfiguredMojo(MavenSession session, MojoExecution mojoExecution,
        Class<T> asType, Log log) throws CoreException {
    MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();

    PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();

    ClassRealm pluginRealm = getMyRealm(pluginDescriptor.getClassRealm().getWorld());

    T mojo;/*  w  w  w. ja  v  a 2  s  .c  o  m*/
    try {
        mojo = asType.newInstance();
    } catch (Exception e) {
        throw new CoreException(
                new Status(IStatus.ERROR, MavenNarPlugin.PLUGIN_ID, "Problem when creating mojo", e));
    }

    mojo.setLog(log);

    logger.debug("Configuring mojo " + mojoDescriptor.getId() + " from plugin realm " + pluginRealm);

    Xpp3Dom dom = mojoExecution.getConfiguration();

    PlexusConfiguration pomConfiguration;

    if (dom == null) {
        pomConfiguration = new XmlPlexusConfiguration("configuration");
    } else {
        pomConfiguration = new XmlPlexusConfiguration(dom);
    }

    ExpressionEvaluator expressionEvaluator = new PluginParameterExpressionEvaluator(session, mojoExecution);

    populatePluginFields(mojo, mojoDescriptor, pluginRealm, pomConfiguration, expressionEvaluator);

    return mojo;
}

From source file:com.github.sdedwards.m2e_nar.internal.NarTestCompileBuildParticipant.java

License:Apache License

public NarTestCompileBuildParticipant(MojoExecution execution, boolean runOnIncremental,
        boolean runOnConfiguration) {
    super(new MojoExecution(execution.getMojoDescriptor(), execution.getExecutionId(), execution.getSource()),
            runOnIncremental, runOnConfiguration);
    // Some versions of nar-maven-plugin don't have a nar-test-unpack goal
    // this means the test artifacts won't be available to us.
    // What we need to do is run the nar-testCompile goal without any tests
    // its configuration in order to just unpack.
    Xpp3Dom configuration = new Xpp3Dom(execution.getConfiguration());
    logger.debug("Configuration before: " + configuration);
    for (int i = 0; i < configuration.getChildCount(); ++i) {
        if ("tests".equals(configuration.getChild(i).getName())) {
            configuration.removeChild(i);
            break;
        }// w  ww.ja v  a2s .c o  m
    }
    logger.debug("Configuration after: " + configuration);
    getMojoExecution().setConfiguration(configuration);
}

From source file:com.liferay.ide.maven.core.ThemePluginBuildParticipant.java

License:Open Source License

protected IStatus executeThemeMojo(final IMavenProjectFacade facade, final IMavenExecutionContext context,
        final IProgressMonitor monitor) throws CoreException {
    IStatus retval = null;//from w  w w.  ja  v  a2s. c o m

    final List<String> goals = Collections.singletonList(getGoal());

    final MavenProject mavenProject = facade.getMavenProject(monitor);
    final MavenExecutionPlan plan = maven.calculateExecutionPlan(mavenProject, goals, true, monitor);

    monitor.worked(10);

    final MojoExecution liferayMojoExecution = MavenUtil.getExecution(plan,
            ILiferayMavenConstants.LIFERAY_MAVEN_PLUGIN_ARTIFACT_ID);

    final Xpp3Dom originalConfig = liferayMojoExecution.getConfiguration();

    final Xpp3Dom config = Xpp3DomUtils.mergeXpp3Dom(new Xpp3Dom("configuration"), originalConfig); //$NON-NLS-1$

    configureExecution(facade, config);

    boolean parentHierarchyLoaded = false;

    try {
        parentHierarchyLoaded = MavenUtil.loadParentHierarchy(facade, monitor);

        monitor.worked(10);

        final ResolverConfiguration configuration = facade.getResolverConfiguration();
        configuration.setResolveWorkspaceProjects(true);

        liferayMojoExecution.setConfiguration(config);

        maven.execute(mavenProject, liferayMojoExecution, monitor);

        monitor.worked(50);

        List<Throwable> exceptions = context.getSession().getResult().getExceptions();

        if (exceptions.size() == 1) {
            retval = LiferayMavenCore.createErrorStatus(exceptions.get(0));
        } else if (exceptions.size() > 1) {
            List<IStatus> statuses = new ArrayList<IStatus>();

            for (Throwable t : exceptions) {
                statuses.add(LiferayMavenCore.createErrorStatus(t));
            }

            retval = LiferayMavenCore.createMultiStatus(IStatus.ERROR, statuses.toArray(new IStatus[0]));
        }

        retval = retval == null ? Status.OK_STATUS : retval;
    } catch (CoreException e) {
        retval = LiferayMavenCore.createErrorStatus(e);
    } finally {
        liferayMojoExecution.setConfiguration(originalConfig);

        if (parentHierarchyLoaded) {
            mavenProject.setParent(null);
        }
    }

    return retval;
}

From source file:com.puppetlabs.geppetto.forge.maven.plugin.AbstractForgeTestMojo.java

License:Open Source License

private void finalizeMojoConfiguration(MojoExecution mojoExecution) {
    MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
    MavenProject project = getMavenSession().getCurrentProject();
    PluginDescriptor pluginDescriptor = mojoDescriptor.getPluginDescriptor();
    Plugin plugin = project.getPlugin(pluginDescriptor.getPluginLookupKey());
    pluginDescriptor.setPlugin(plugin);/*  w  w  w. ja v  a  2s . c  o m*/

    Xpp3Dom executionConfiguration = mojoExecution.getConfiguration();
    if (executionConfiguration == null)
        executionConfiguration = new Xpp3Dom("configuration");

    Xpp3Dom defaultConfiguration = MojoDescriptorCreator.convert(mojoDescriptor);
    Xpp3Dom finalConfiguration = new Xpp3Dom("configuration");

    if (mojoDescriptor.getParameters() != null) {
        for (Parameter parameter : mojoDescriptor.getParameters()) {
            Xpp3Dom parameterConfiguration = executionConfiguration.getChild(parameter.getName());

            if (parameterConfiguration == null)
                parameterConfiguration = executionConfiguration.getChild(parameter.getAlias());

            Xpp3Dom parameterDefaults = defaultConfiguration.getChild(parameter.getName());
            parameterConfiguration = Xpp3Dom.mergeXpp3Dom(parameterConfiguration, parameterDefaults,
                    Boolean.TRUE);

            if (parameterConfiguration != null) {
                parameterConfiguration = new Xpp3Dom(parameterConfiguration, parameter.getName());

                if (StringUtils.isEmpty(parameterConfiguration.getAttribute("implementation"))
                        && StringUtils.isNotEmpty(parameter.getImplementation())) {
                    parameterConfiguration.setAttribute("implementation", parameter.getImplementation());
                }
                finalConfiguration.addChild(parameterConfiguration);
            }
        }
    }

    if (plugin != null) {
        String goal = mojoExecution.getGoal();
        for (PluginExecution pe : plugin.getExecutions()) {
            if (pe.getGoals().contains(goal)) {
                Xpp3Dom execConfig = (Xpp3Dom) pe.getConfiguration();
                if (execConfig != null)
                    finalConfiguration = Xpp3Dom.mergeXpp3Dom(execConfig, finalConfiguration);
                break;
            }
        }
    }
    mojoExecution.setConfiguration(finalConfiguration);
}

From source file:io.fabric8.vertx.maven.plugin.utils.MojoExecutor.java

License:Apache License

public MojoExecutor(MojoExecution execution, MavenProject project, MavenSession session,
        BuildPluginManager buildPluginManager) {
    this.build = buildPluginManager;
    this.project = project;
    this.session = session;
    this.plugin = execution.getPlugin();
    configuration = execution.getConfiguration();
    goal = execution.getGoal();//  w  ww. j  a v  a 2 s .c o m
}

From source file:io.takari.maven.testing.Maven30xRuntime.java

License:Open Source License

protected void finalizeMojoConfiguration(MojoExecution mojoExecution) {
    MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();

    Xpp3Dom executionConfiguration = mojoExecution.getConfiguration();
    if (executionConfiguration == null) {
        executionConfiguration = new Xpp3Dom("configuration");
    }/*from  w  ww . j a  va2s .com*/

    Xpp3Dom defaultConfiguration = MojoDescriptorCreator.convert(mojoDescriptor);

    Xpp3Dom finalConfiguration = new Xpp3Dom("configuration");

    if (mojoDescriptor.getParameters() != null) {
        for (Parameter parameter : mojoDescriptor.getParameters()) {
            Xpp3Dom parameterConfiguration = executionConfiguration.getChild(parameter.getName());

            if (parameterConfiguration == null) {
                parameterConfiguration = executionConfiguration.getChild(parameter.getAlias());
            }

            Xpp3Dom parameterDefaults = defaultConfiguration.getChild(parameter.getName());

            parameterConfiguration = Xpp3Dom.mergeXpp3Dom(parameterConfiguration, parameterDefaults,
                    Boolean.TRUE);

            if (parameterConfiguration != null) {
                parameterConfiguration = new Xpp3Dom(parameterConfiguration, parameter.getName());

                if (StringUtils.isEmpty(parameterConfiguration.getAttribute("implementation"))
                        && StringUtils.isNotEmpty(parameter.getImplementation())) {
                    parameterConfiguration.setAttribute("implementation", parameter.getImplementation());
                }

                finalConfiguration.addChild(parameterConfiguration);
            }
        }
    }

    mojoExecution.setConfiguration(finalConfiguration);
}

From source file:io.takari.maven.testing.Maven30xRuntime.java

License:Open Source License

@Override
public Mojo lookupConfiguredMojo(MavenSession session, MojoExecution execution) throws Exception {
    MavenProject project = session.getCurrentProject();
    MojoDescriptor mojoDescriptor = execution.getMojoDescriptor();

    Mojo mojo = container.lookup(Mojo.class, mojoDescriptor.getRoleHint());

    ExpressionEvaluator evaluator = new PluginParameterExpressionEvaluator(session, execution);

    Xpp3Dom configuration = null;/*  w w  w  .  j  ava2s .com*/
    Plugin plugin = project.getPlugin(mojoDescriptor.getPluginDescriptor().getPluginLookupKey());
    if (plugin != null) {
        configuration = (Xpp3Dom) plugin.getConfiguration();
    }
    if (configuration == null) {
        configuration = new Xpp3Dom("configuration");
    }
    configuration = Xpp3Dom.mergeXpp3Dom(configuration, execution.getConfiguration());
    execution.setConfiguration(configuration);
    finalizeMojoConfiguration(execution);

    PlexusConfiguration pluginConfiguration = new XmlPlexusConfiguration(execution.getConfiguration());

    String configuratorHint = "basic";
    if (mojoDescriptor.getComponentConfigurator() != null) {
        configuratorHint = mojoDescriptor.getComponentConfigurator();
    }

    ComponentConfigurator configurator = container.lookup(ComponentConfigurator.class, configuratorHint);

    configurator.configureComponent(mojo, pluginConfiguration, evaluator, container.getContainerRealm());

    return mojo;
}

From source file:net.revelc.code.formatter.connector.internal.FormatterProjectConfigurator.java

License:Apache License

private InputStream readConfigFile(Formatter formatter, ProjectConfigurationRequest request,
        IProgressMonitor monitor) throws CoreException {
    IMavenProjectFacade mavenProject = request.getMavenProjectFacade();
    List<MojoExecution> executions = mavenProject.getMojoExecutions("net.revelc.code.formatter",
            "formatter-maven-plugin", monitor, "validate");

    MojoExecution execution = executions.get(0);
    Xpp3Dom cfg = execution.getConfiguration();
    String javaConfigFile = cfg.getChild(formatter.getConfigurationName()).getValue();
    if (javaConfigFile == null
            || javaConfigFile.equalsIgnoreCase("${" + formatter.getConfigurationName() + "}")) {
        javaConfigFile = formatter.getDefaultPath();
    }/* w ww .jav a 2 s . c  o m*/

    IFile cfgFile = request.getProject().getFile(javaConfigFile);

    if (!cfgFile.exists()) {
        throw new CoreException(
                new Status(IStatus.CANCEL, FormatterCore.PLUGIN_ID, "Configuration file not found!"));
    }

    return cfgFile.getContents();
}

From source file:nl.mwensveen.m2e.extras.cxf.wsdl2java.CxfBuildParticipant.java

License:Open Source License

public CxfBuildParticipant(MojoExecution execution) {
    super(execution, true);
    LOG.debug("Created new instance for execution: " + execution);
    Xpp3Dom config = execution.getConfiguration();
    sourceRoot = config.getChild("sourceRoot").getValue();
    LOG.debug("source root: " + sourceRoot);

}