1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.felix.bundleplugin;
20
21
22 import java.util.LinkedHashMap;
23 import java.util.Map;
24
25 import org.apache.maven.plugin.AbstractMojo;
26 import org.apache.maven.plugin.MojoExecutionException;
27 import org.apache.maven.plugin.MojoFailureException;
28 import org.apache.maven.plugins.annotations.Mojo;
29 import org.apache.maven.plugins.annotations.Parameter;
30 import org.apache.maven.project.MavenProject;
31 import org.apache.maven.shared.osgi.DefaultMaven2OsgiConverter;
32 import org.apache.maven.shared.osgi.Maven2OsgiConverter;
33
34
35
36
37
38 @Mojo( name = "cleanVersions", threadSafe = true )
39 public class VersionCleanerPlugin extends AbstractMojo
40 {
41
42
43
44
45 @Parameter
46 private Map<String, String> versions = new LinkedHashMap<String, String>();
47
48
49
50
51 @Parameter( defaultValue = "${project}", readonly = true, required = true )
52 private MavenProject project;
53
54 private Maven2OsgiConverter maven2OsgiConverter = new DefaultMaven2OsgiConverter();
55
56
57 public Maven2OsgiConverter getMaven2OsgiConverter()
58 {
59 return maven2OsgiConverter;
60 }
61
62
63 public void setMaven2OsgiConverter( Maven2OsgiConverter maven2OsgiConverter )
64 {
65 this.maven2OsgiConverter = maven2OsgiConverter;
66 }
67
68
69 public void execute() throws MojoExecutionException, MojoFailureException
70 {
71 for ( String name : versions.keySet() )
72 {
73 String version = versions.get( name );
74 String osgi = maven2OsgiConverter.getVersion( version );
75 project.getProperties().put( name, osgi );
76 }
77 }
78 }