in maven-plugin-testing-harness/src/main/java/org/apache/maven/plugin/testing/AbstractMojoTestCase.java [519:553]
protected PlexusConfiguration extractPluginConfiguration(String artifactId, Xpp3Dom pomDom) throws Exception {
Xpp3Dom pluginConfigurationElement = null;
Xpp3Dom buildElement = pomDom.getChild("build");
if (buildElement != null) {
Xpp3Dom pluginsRootElement = buildElement.getChild("plugins");
if (pluginsRootElement != null) {
Xpp3Dom[] pluginElements = pluginsRootElement.getChildren();
for (Xpp3Dom pluginElement : pluginElements) {
String pluginElementArtifactId =
pluginElement.getChild("artifactId").getValue();
if (pluginElementArtifactId.equals(artifactId)) {
pluginConfigurationElement = pluginElement.getChild("configuration");
break;
}
}
if (pluginConfigurationElement == null) {
throw new ConfigurationException("Cannot find a configuration element for a plugin with an "
+ "artifactId of " + artifactId + ".");
}
}
}
if (pluginConfigurationElement == null) {
throw new ConfigurationException(
"Cannot find a configuration element for a plugin with an artifactId of " + artifactId + ".");
}
return new XmlPlexusConfiguration(pluginConfigurationElement);
}