Example usage for org.apache.maven.plugin.descriptor MojoDescriptor getParameterMap

List of usage examples for org.apache.maven.plugin.descriptor MojoDescriptor getParameterMap

Introduction

In this page you can find the example usage for org.apache.maven.plugin.descriptor MojoDescriptor getParameterMap.

Prototype

public Map<String, Parameter> getParameterMap() 

Source Link

Usage

From source file:org.jszip.maven.AbstractJSZipMojo.java

License:Apache License

protected MojoExecution createMojoExecution(Plugin plugin, PluginExecution pluginExecution,
        MojoDescriptor mojoDescriptor) {
    MojoExecution mojoExecution = new MojoExecution(plugin, mojoDescriptor.getGoal(), pluginExecution.getId());
    mojoExecution.setConfiguration(convert(mojoDescriptor));
    if (plugin.getConfiguration() != null || pluginExecution.getConfiguration() != null) {
        Xpp3Dom pluginConfiguration = plugin.getConfiguration() == null ? new Xpp3Dom("fake")
                : (Xpp3Dom) plugin.getConfiguration();

        Xpp3Dom mergedConfigurationWithExecution = Xpp3DomUtils
                .mergeXpp3Dom((Xpp3Dom) pluginExecution.getConfiguration(), pluginConfiguration);

        Xpp3Dom mergedConfiguration = Xpp3DomUtils.mergeXpp3Dom(mergedConfigurationWithExecution,
                convert(mojoDescriptor));

        Xpp3Dom cleanedConfiguration = new Xpp3Dom("configuration");
        if (mergedConfiguration.getChildren() != null) {
            for (Xpp3Dom parameter : mergedConfiguration.getChildren()) {
                if (mojoDescriptor.getParameterMap().containsKey(parameter.getName())) {
                    cleanedConfiguration.addChild(parameter);
                }//from   ww w  . j  a v a2s  . c om
            }
        }
        if (getLog().isDebugEnabled()) {
            getLog().debug("mojoExecution mergedConfiguration: " + mergedConfiguration);
            getLog().debug("mojoExecution cleanedConfiguration: " + cleanedConfiguration);
        }

        mojoExecution.setConfiguration(cleanedConfiguration);

    }
    mojoExecution.setMojoDescriptor(mojoDescriptor);
    return mojoExecution;
}