Example usage for org.apache.maven.lifecycle.internal MojoDescriptorCreator convert

List of usage examples for org.apache.maven.lifecycle.internal MojoDescriptorCreator convert

Introduction

In this page you can find the example usage for org.apache.maven.lifecycle.internal MojoDescriptorCreator convert.

Prototype

public static Xpp3Dom convert(MojoDescriptor mojoDescriptor) 

Source Link

Usage

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  ww.  jav  a2s  .  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.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  w w .  j a  va2  s.c  o  m

    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);
}