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.execution.MavenSession;
27 import org.apache.maven.plugin.MojoExecutionException;
28 import org.apache.maven.plugin.MojoFailureException;
29 import org.apache.maven.shared.release.ReleaseExecutionException;
30 import org.apache.maven.shared.release.ReleaseFailureException;
31 import org.apache.maven.shared.release.config.ReleaseDescriptor;
32 import org.apache.maven.shared.release.config.ReleaseUtils;
33
34
35
36
37
38
39
40
41
42
43
44 public class UpdateVersionsMojo
45 extends AbstractReleaseMojo
46 {
47
48
49
50
51
52
53
54
55 private boolean autoVersionSubmodules;
56
57
58
59
60
61
62
63 private boolean addSchema;
64
65
66
67
68
69
70
71 private String developmentVersion;
72
73
74
75
76
77
78
79 protected MavenSession session;
80
81
82
83
84 public void execute()
85 throws MojoExecutionException, MojoFailureException
86 {
87 super.execute();
88
89 ReleaseDescriptor config = createReleaseDescriptor();
90 config.setAddSchema( addSchema );
91 config.setAutoVersionSubmodules( autoVersionSubmodules );
92 config.setDefaultDevelopmentVersion( developmentVersion );
93
94 Map originalScmInfo = new HashMap();
95 originalScmInfo.put( ArtifactUtils.versionlessKey( project.getGroupId(), project.getArtifactId() ), project.getScm() );
96 config.setOriginalScmInfo( originalScmInfo );
97
98
99 ReleaseDescriptor sysPropertiesConfig
100 = ReleaseUtils.copyPropertiesToReleaseDescriptor( session.getExecutionProperties() );
101 mergeCommandLineConfig( config, sysPropertiesConfig );
102
103 try
104 {
105 releaseManager.updateVersions( config, getReleaseEnvironment(), reactorProjects );
106 }
107 catch ( ReleaseExecutionException e )
108 {
109 throw new MojoExecutionException( e.getMessage(), e );
110 }
111 catch ( ReleaseFailureException e )
112 {
113 throw new MojoFailureException( e.getMessage(), e );
114 }
115 }
116
117
118
119
120
121
122
123
124
125 private void mergeCommandLineConfig( ReleaseDescriptor config, ReleaseDescriptor sysPropertiesConfig )
126 {
127
128 if ( sysPropertiesConfig.getReleaseVersions() != null )
129 {
130 config.getReleaseVersions().putAll( sysPropertiesConfig.getReleaseVersions() );
131 }
132 if ( sysPropertiesConfig.getDevelopmentVersions() != null )
133 {
134 config.getDevelopmentVersions().putAll( sysPropertiesConfig.getDevelopmentVersions() );
135 }
136 }
137
138 }