1 package org.apache.maven.plugin.cxx.utils.release;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import java.util.List;
22 import org.apache.maven.shared.release.env.ReleaseEnvironment;
23 import org.apache.maven.shared.release.ReleaseResult;
24 import org.apache.maven.shared.release.ReleaseExecutionException;
25 import org.apache.maven.shared.release.ReleaseFailureException;
26 import org.apache.maven.project.MavenProject;
27 import org.apache.maven.plugin.MojoExecutionException;
28 import org.apache.maven.plugin.MojoFailureException;
29
30
31
32
33
34
35 public abstract class CxxAbstractMavenReleasePluginPhase
36 extends CxxAbstractReleasePhase
37 {
38
39
40
41
42 private org.apache.maven.shared.release.phase.ReleasePhase mavenReleasePhase;
43
44 org.apache.maven.shared.release.phase.ReleasePhase getMavenReleasePhase()
45 {
46 return mavenReleasePhase;
47 }
48
49
50
51
52 private boolean forceDryRun = false;
53
54 @Override
55 public ReleaseResult run( CxxReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
56 List<MavenProject> reactorProjects )
57 throws MojoExecutionException, MojoFailureException
58 {
59 ReleaseResult result = new ReleaseResult();
60
61 try
62 {
63 if ( null != mavenReleasePhase )
64 {
65 if ( releaseDescriptor.getDryRun() || forceDryRun )
66 {
67 result = mavenReleasePhase.simulate( releaseDescriptor, releaseEnvironment, reactorProjects );
68 }
69 else
70 {
71 result = mavenReleasePhase.execute( releaseDescriptor, releaseEnvironment, reactorProjects );
72 }
73 }
74 else
75 {
76 result = getReleaseResultSuccess();
77 }
78 }
79 catch ( ReleaseExecutionException e )
80 {
81 throw new MojoExecutionException( e.toString(), e.getCause() );
82 }
83 catch ( ReleaseFailureException e )
84 {
85 throw new MojoFailureException( e.toString(), e.getCause() );
86 }
87
88 return result;
89 }
90
91 public ReleaseResult clean( List<MavenProject> reactorProjects )
92 {
93 if ( null != mavenReleasePhase )
94 {
95 return mavenReleasePhase.clean( reactorProjects );
96 }
97 else
98 {
99 return getReleaseResultSuccess();
100 }
101 }
102 }