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