You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2007/07/27 20:49:28 UTC
svn commit: r560351 -
/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java
Author: dennisl
Date: Fri Jul 27 11:49:27 2007
New Revision: 560351
URL: http://svn.apache.org/viewvc?view=rev&rev=560351
Log:
[MONE-16] Convert the reports to reporting plugins
o Added a mechanism to lookup the groupId of a report. Previously, if a report was only listed in the <reports> section of a model v3 pom, we had no idea which groupId it had. This means that we can now handle reports that do not come from the Maven project.
Modified:
maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java
Modified: maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java?view=diff&rev=560351&r1=560350&r2=560351
==============================================================================
--- maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java (original)
+++ maven/shared/trunk/maven-model-converter/src/main/java/org/apache/maven/model/converter/PomV3ToV4Translator.java Fri Jul 27 11:49:27 2007
@@ -43,8 +43,10 @@
import org.codehaus.plexus.util.xml.Xpp3Dom;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -60,6 +62,22 @@
private List warnings;
+ /**
+ * A map that holds artifactIds (as keys) and groupIds (as values) for
+ * reports that are not Maven's own. It is used to lookup the groupId of
+ * reports that are not specified as a dependency.
+ */
+ private Map model3ReportPlugins = new HashMap();
+
+ public PomV3ToV4Translator()
+ {
+ // Add known non-Maven project reports, i.e from the maven-plugins
+ // project at SourceForge.
+ model3ReportPlugins.put( "maven-cobertura-plugin", "maven-plugins" );
+ model3ReportPlugins.put( "maven-findbugs-plugin", "maven-plugins" );
+ model3ReportPlugins.put( "maven-javancss-plugin", "maven-plugins" );
+ }
+
public Model translate( org.apache.maven.model.v3_0_0.Model v3Model )
throws PomTranslationException
{
@@ -262,7 +280,7 @@
{
ReportPlugin reportPlugin = new ReportPlugin();
- reportPlugin.setGroupId( "org.apache.maven.plugins" );
+ reportPlugin.setGroupId( findReportPluginGroupId( reportName ) );
reportPlugin.setArtifactId( reportName );
@@ -283,6 +301,22 @@
}
return reports;
+ }
+
+ /**
+ * Find a suitable groupId for a report from a model v3 pom.
+ *
+ * @param artifactId The artifactId of the report we are looking up
+ * @return A suitable groupId
+ */
+ private String findReportPluginGroupId( String artifactId )
+ {
+ String groupId = (String) model3ReportPlugins.get( artifactId );
+ if ( groupId == null )
+ {
+ groupId = "org.apache.maven.plugins";
+ }
+ return groupId;
}
private Organization translateOrganization( org.apache.maven.model.v3_0_0.Organization v3Organization )