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 PCCJar
37 extends AbstractPluginConfigurationConverter
38 {
39
40
41
42 public String getArtifactId()
43 {
44 return "maven-jar-plugin";
45 }
46
47 public String getType()
48 {
49 return TYPE_BUILD_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 Xpp3Dom archive = new Xpp3Dom( "archive" );
57 addConfigurationChild( archive, projectProperties, "maven.jar.compress", "compress" );
58 addConfigurationChild( archive, projectProperties, "maven.jar.index", "index" );
59
60 Xpp3Dom manifest = new Xpp3Dom( "manifest" );
61 addConfigurationChild( manifest, projectProperties, "maven.jar.manifest.classpath.add", "addClasspath" );
62 addConfigurationChild( manifest, projectProperties, "maven.jar.manifest.extensions.add", "addExtensions" );
63 if ( manifest.getChildCount() > 0 )
64 {
65 archive.addChild( manifest );
66 }
67 addConfigurationChild( manifest, projectProperties, "maven.jar.mainclass", "mainClass" );
68
69 String manifestEntriesProperty = projectProperties.getProperty( "maven.jar.manifest.attributes.list" );
70 if ( manifestEntriesProperty != null )
71 {
72 Xpp3Dom manifestEntries = new Xpp3Dom( "manifestEntries" );
73
74
75 StringTokenizer tokenizer = new StringTokenizer( manifestEntriesProperty, "," );
76 while ( tokenizer.hasMoreTokens() )
77 {
78 String attribute = tokenizer.nextToken();
79 addConfigurationChild( manifestEntries, projectProperties, "maven.jar.manifest.attribute." + attribute,
80 attribute );
81 }
82
83 if ( manifestEntries.getChildCount() > 0 )
84 {
85 archive.addChild( manifestEntries );
86 }
87 }
88
89 addConfigurationChild( archive, projectProperties, "maven.jar.manifest", "manifestFile" );
90
91 if ( archive.getChildCount() > 0 )
92 {
93 configuration.addChild( archive );
94 }
95
96 addConfigurationChild( configuration, projectProperties, "maven.jar.final.name", "finalName" );
97 }
98 }