1 package org.apache.continuum.release.phase;
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.settings.Settings;
23 import org.apache.maven.shared.release.ReleaseExecutionException;
24 import org.apache.maven.shared.release.ReleaseFailureException;
25 import org.apache.maven.shared.release.ReleaseResult;
26 import org.apache.maven.shared.release.config.ReleaseDescriptor;
27 import org.apache.maven.shared.release.env.ReleaseEnvironment;
28 import org.codehaus.plexus.util.StringUtils;
29
30 import java.io.File;
31 import java.util.List;
32
33
34
35
36
37
38 public class RunPerformGoalsPhase
39 extends AbstractContinuumRunGoalsPhase
40 {
41 @Override
42 protected String getGoals( ReleaseDescriptor releaseDescriptor )
43 {
44 return releaseDescriptor.getPerformGoals();
45 }
46
47 public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
48 List reactorProjects )
49 throws ReleaseExecutionException, ReleaseFailureException
50 {
51
52 String additionalArguments = releaseDescriptor.getAdditionalArguments();
53
54 if ( releaseDescriptor.isUseReleaseProfile() )
55 {
56 if ( !StringUtils.isEmpty( additionalArguments ) )
57 {
58 additionalArguments = additionalArguments + " -DperformRelease=true";
59 }
60 else
61 {
62 additionalArguments = "-DperformRelease=true";
63 }
64 }
65
66 return execute( releaseDescriptor, new File( releaseDescriptor.getCheckoutDirectory() ), additionalArguments );
67 }
68
69 public ReleaseResult simulate( ReleaseDescriptor releaseDescriptor, Settings settings, List reactorProjects )
70 throws ReleaseExecutionException, ReleaseFailureException
71 {
72 ReleaseResult result = new ReleaseResult();
73
74 logInfo( result, "Executing perform goals" );
75
76 execute( releaseDescriptor, settings, reactorProjects );
77
78 return result;
79 }
80 }