1 package org.apache.maven.model.converter.plugins;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.model.converter.ProjectConverterException;
23 import org.codehaus.plexus.util.xml.Xpp3Dom;
24
25 import java.util.Properties;
26 import java.util.StringTokenizer;
27
28
29
30
31
32
33
34
35
36 public class PCCPmd
37 extends AbstractPluginConfigurationConverter
38 {
39
40
41
42 public String getArtifactId()
43 {
44 return "maven-pmd-plugin";
45 }
46
47 public String getType()
48 {
49 return TYPE_REPORT_PLUGIN;
50 }
51
52 protected void buildConfiguration( Xpp3Dom configuration, org.apache.maven.model.v3_0_0.Model v3Model,
53 Properties projectProperties )
54 throws ProjectConverterException
55 {
56 addConfigurationChild( configuration, projectProperties, "maven.pmd.excludes", "excludes" );
57
58 addConfigurationChild( configuration, projectProperties, "maven.pmd.failonruleviolation", "failOnViolation" );
59
60 addConfigurationChild( configuration, projectProperties, "maven.pmd.cpd.minimumtokencount", "minimumTokens" );
61
62 String rulesetfiles = projectProperties.getProperty( "maven.pmd.rulesetfiles" );
63 if ( rulesetfiles != null )
64 {
65 StringTokenizer tokenizer = new StringTokenizer( rulesetfiles, "," );
66 if ( tokenizer.hasMoreTokens() )
67 {
68 Xpp3Dom rulesets = new Xpp3Dom( "rulesets" );
69 while ( tokenizer.hasMoreTokens() )
70 {
71 addConfigurationChild( rulesets, "ruleset", translate( tokenizer.nextToken() ) );
72 }
73 if ( rulesets.getChildCount() > 0 )
74 {
75 configuration.addChild( rulesets );
76 }
77 }
78 }
79
80 addConfigurationChild( configuration, projectProperties, "maven.pmd.targetjdk", "targetJdk" );
81 }
82
83
84
85
86
87
88
89
90
91 private String translate( String mavenOneRuleset )
92 {
93 if ( mavenOneRuleset != null && mavenOneRuleset.startsWith( "rulesets/" ) )
94 {
95 return "/" + mavenOneRuleset;
96 }
97 else
98 {
99 return mavenOneRuleset;
100 }
101 }
102 }