View Javadoc
1   package org.apache.maven.plugin.cxx.utils.release;
2   
3   /*
4    * Copyright (C) 2011-2016, Neticoa SAS France - Tous droits réservés.
5    * Author(s) : Franck Bonin, Neticoa SAS France
6    *
7    * Licensed under the Apache License, Version 2.0 (the "License");
8    * you may not use this file except in compliance with the License.
9    * You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   *
19   */
20  
21  import java.util.List;
22  import org.apache.maven.plugin.MojoExecutionException;
23  import org.apache.maven.plugin.MojoFailureException;
24  import org.apache.maven.project.MavenProject;
25  import org.apache.maven.shared.release.env.ReleaseEnvironment;
26  import org.apache.maven.shared.release.ReleaseResult;
27  import org.apache.maven.plugin.logging.Log;
28  
29  /**
30   * A phase in the cxx release/branch goal.
31   *
32   * $FB derived from org.apache.maven.shared.release.phase.ReleasePhase;
33   * @author 
34   */
35  public interface CxxReleasePhase
36  {
37      /**
38       * The Plexus role.
39       */
40      String ROLE = CxxReleasePhase.class.getName();
41  
42      /**
43       * Execute the phase.
44       *
45       * @param releaseDescriptor the configuration to use
46       * @param releaseEnvironment the environmental configuration, such as Maven settings, Maven home, etc.
47       * @param reactorProjects   the reactor projects
48       * @throws ReleaseExecutionException an exception during the execution of the phase
49       * @throws ReleaseFailureException   a failure during the execution of the phase
50       * @return the release result
51       */
52      ReleaseResult run( CxxReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
53                             List<MavenProject> reactorProjects )
54          throws MojoExecutionException, MojoFailureException;
55  
56      /**
57       * Clean up after a phase if it leaves any additional files in the checkout.
58       *
59       * @param reactorProjects the reactor projects
60       * @return the release result
61       */
62      ReleaseResult clean( List<MavenProject> reactorProjects );
63      
64      /**
65       *
66       *
67       * @param log
68       */
69      void setLog( Log log );
70  }
71