1 package org.apache.maven.plugins.release;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.HashMap;
23 import java.util.Map;
24
25 import org.apache.maven.artifact.ArtifactUtils;
26 import org.apache.maven.model.Scm;
27 import org.apache.maven.plugin.MojoExecutionException;
28 import org.apache.maven.plugin.MojoFailureException;
29 import org.apache.maven.plugins.annotations.Mojo;
30 import org.apache.maven.plugins.annotations.Parameter;
31 import org.apache.maven.shared.release.ReleaseExecutionException;
32 import org.apache.maven.shared.release.ReleaseFailureException;
33 import org.apache.maven.shared.release.config.ReleaseDescriptor;
34 import org.apache.maven.shared.release.config.ReleaseUtils;
35
36
37
38
39
40
41
42
43
44
45
46 @Mojo( name = "update-versions", aggregator = true )
47 public class UpdateVersionsMojo
48 extends AbstractReleaseMojo
49 {
50
51
52
53
54
55
56
57 @Parameter( defaultValue = "false", property = "autoVersionSubmodules" )
58 private boolean autoVersionSubmodules;
59
60
61
62
63
64
65 @Parameter( defaultValue = "true", property = "addSchema" )
66 private boolean addSchema;
67
68
69
70
71
72
73 @Parameter( property = "developmentVersion" )
74 private String developmentVersion;
75
76
77
78
79 public void execute()
80 throws MojoExecutionException, MojoFailureException
81 {
82 ReleaseDescriptor config = createReleaseDescriptor();
83 config.setAddSchema( addSchema );
84 config.setAutoVersionSubmodules( autoVersionSubmodules );
85 config.setDefaultDevelopmentVersion( developmentVersion );
86
87 Map<String, Scm> originalScmInfo = new HashMap<String, Scm>();
88 originalScmInfo.put( ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ),
89 project.getScm() );
90 config.setOriginalScmInfo( originalScmInfo );
91
92
93 ReleaseDescriptor sysPropertiesConfig =
94 ReleaseUtils.copyPropertiesToReleaseDescriptor( session.getExecutionProperties() );
95 mergeCommandLineConfig( config, sysPropertiesConfig );
96
97 try
98 {
99 releaseManager.updateVersions( config, getReleaseEnvironment(), getReactorProjects() );
100 }
101 catch ( ReleaseExecutionException e )
102 {
103 throw new MojoExecutionException( e.getMessage(), e );
104 }
105 catch ( ReleaseFailureException e )
106 {
107 throw new MojoFailureException( e.getMessage(), e );
108 }
109 }
110 }