You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2016/05/21 13:06:30 UTC

svn commit: r1744936 - in /maven/release/trunk/maven-release-manager/src/main: ./ java/org/apache/maven/shared/release/phase/

Author: rfscholte
Date: Sat May 21 13:06:30 2016
New Revision: 1744936

URL: http://svn.apache.org/viewvc?rev=1744936&view=rev
Log:
Simplify RewritePomXPhase Components: maintain in code, not in components-fragment.xml

Modified:
    maven/release/trunk/maven-release-manager/src/main/components-fragment.xml
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
    maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java

Modified: maven/release/trunk/maven-release-manager/src/main/components-fragment.xml
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/components-fragment.xml?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/components-fragment.xml (original)
+++ maven/release/trunk/maven-release-manager/src/main/components-fragment.xml Sat May 21 13:06:30 2016
@@ -143,27 +143,6 @@
     </component>
     <component>
       <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
-      <role-hint>rewrite-poms-for-release</role-hint>
-      <implementation>org.apache.maven.shared.release.phase.RewritePomsForReleasePhase</implementation>
-      <configuration>
-        <pomSuffix>tag</pomSuffix>
-      </configuration>
-      <requirements>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.transform.ModelETLFactory</role>
-          <field-name>modelETLFactories</field-name>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmTranslator</role>
-          <field-name>scmTranslators</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
       <role-hint>scm-commit-release</role-hint>
       <implementation>org.apache.maven.shared.release.phase.ScmCommitPreparationPhase</implementation>
       <requirements>
@@ -204,44 +183,6 @@
     </component>
     <component>
       <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
-      <role-hint>rewrite-poms-for-development</role-hint>
-      <implementation>org.apache.maven.shared.release.phase.RewritePomsForDevelopmentPhase</implementation>
-      <configuration>
-        <pomSuffix>next</pomSuffix>
-      </configuration>
-      <requirements>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.transform.ModelETLFactory</role>
-          <field-name>modelETLFactories</field-name>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmTranslator</role>
-          <field-name>scmTranslators</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
-      <role-hint>rewrite-pom-versions</role-hint>
-      <implementation>org.apache.maven.shared.release.phase.RewritePomVersionsPhase</implementation>
-      <configuration>
-        <pomSuffix>next</pomSuffix>
-      </configuration>
-      <requirements>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.transform.ModelETLFactory</role>
-          <field-name>modelETLFactories</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
       <role-hint>scm-commit-rollback</role-hint>
       <implementation>org.apache.maven.shared.release.phase.ScmCommitPreparationPhase</implementation>
       <requirements>
@@ -255,27 +196,6 @@
     </component>
     <component>
       <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
-      <role-hint>rewrite-poms-for-branch</role-hint>
-      <implementation>org.apache.maven.shared.release.phase.RewritePomsForBranchPhase</implementation>
-      <configuration>
-        <pomSuffix>branch</pomSuffix>
-      </configuration>
-      <requirements>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmRepositoryConfigurator</role>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.transform.ModelETLFactory</role>
-          <field-name>modelETLFactories</field-name>
-        </requirement>
-        <requirement>
-          <role>org.apache.maven.shared.release.scm.ScmTranslator</role>
-          <field-name>scmTranslators</field-name>
-        </requirement>
-      </requirements>
-    </component>
-    <component>
-      <role>org.apache.maven.shared.release.phase.ReleasePhase</role>
       <role-hint>check-poms</role-hint>
       <implementation>org.apache.maven.shared.release.phase.CheckPomPhase</implementation>
       <configuration>

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/AbstractRewritePomsPhase.java Sat May 21 13:06:30 2016
@@ -60,6 +60,7 @@ import org.apache.maven.shared.release.t
 import org.apache.maven.shared.release.transform.ModelETLFactory;
 import org.apache.maven.shared.release.transform.jdom.JDomModelETLFactory;
 import org.apache.maven.shared.release.util.ReleaseUtil;
+import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.util.StringUtils;
 
 /**
@@ -73,8 +74,10 @@ public abstract class AbstractRewritePom
     /**
      * Tool that gets a configured SCM repository from release configuration.
      */
+    @Requirement
     private ScmRepositoryConfigurator scmRepositoryConfigurator;
     
+    @Requirement( role = ModelETLFactory.class )
     private Map<String, ModelETLFactory> modelETLFactories;
     
     /**
@@ -85,6 +88,7 @@ public abstract class AbstractRewritePom
     /**
      * SCM URL translators mapped by provider name.
      */
+    @Requirement( role = ScmTranslator.class )
     private Map<String, ScmTranslator> scmTranslators;
     
     protected final Map<String, ScmTranslator> getScmTranslators()
@@ -92,11 +96,6 @@ public abstract class AbstractRewritePom
         return scmTranslators;
     }
 
-    /**
-     * Configuration item for the suffix to add to rewritten POMs when simulating.
-     */
-    private String pomSuffix;
-
     private String ls = ReleaseUtil.LS;
 
     public void setLs( String ls )
@@ -108,6 +107,8 @@ public abstract class AbstractRewritePom
     {
         this.modelETL = modelETL;
     }
+    
+    protected abstract String getPomSuffix(); 
 
     @Override
     public ReleaseResult execute( ReleaseDescriptor releaseDescriptor, ReleaseEnvironment releaseEnvironment,
@@ -152,7 +153,7 @@ public abstract class AbstractRewritePom
                 // MRELEASE-273 : if no pom
                 if ( pomFile != null )
                 {
-                    File file = new File( pomFile.getParentFile(), pomFile.getName() + "." + pomSuffix );
+                    File file = new File( pomFile.getParentFile(), pomFile.getName() + "." + getPomSuffix() );
                     if ( file.exists() )
                     {
                         file.delete();
@@ -222,7 +223,7 @@ public abstract class AbstractRewritePom
         File outputFile;
         if ( simulate )
         {
-            outputFile = new File( pomFile.getParentFile(), pomFile.getName() + "." + pomSuffix );
+            outputFile = new File( pomFile.getParentFile(), pomFile.getName() + "." + getPomSuffix() );
         }
         else
         {

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomVersionsPhase.java Sat May 21 13:06:30 2016
@@ -28,16 +28,23 @@ import org.apache.maven.scm.repository.S
 import org.apache.maven.shared.release.ReleaseExecutionException;
 import org.apache.maven.shared.release.ReleaseResult;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
+import org.codehaus.plexus.component.annotations.Component;
 
 /**
  * Rewrite POMs for future development
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
+@Component( role = ReleasePhase.class, hint = "rewrite-pom-versions" )
 public class RewritePomVersionsPhase
     extends AbstractRewritePomsPhase
 {
-
+    @Override
+    protected final String getPomSuffix()
+    {
+        return "next";
+    }
+    
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForBranchPhase.java Sat May 21 13:06:30 2016
@@ -33,6 +33,7 @@ import org.apache.maven.shared.release.R
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.scm.ScmTranslator;
 import org.apache.maven.shared.release.util.ReleaseUtil;
+import org.codehaus.plexus.component.annotations.Component;
 
 /**
  * Rewrite POMs for branch.
@@ -40,9 +41,16 @@ import org.apache.maven.shared.release.u
  * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
  * @version $Id$
  */
+@Component( role = ReleasePhase.class, hint = "rewrite-poms-for-branch" )
 public class RewritePomsForBranchPhase
     extends AbstractRewritePomsPhase
 {
+    @Override
+    protected final String getPomSuffix()
+    {
+        return "branch";
+    }
+    
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
                                  String commonBasedir ) 

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForDevelopmentPhase.java Sat May 21 13:06:30 2016
@@ -30,16 +30,24 @@ import org.apache.maven.shared.release.R
 import org.apache.maven.shared.release.ReleaseResult;
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.scm.ScmTranslator;
+import org.codehaus.plexus.component.annotations.Component;
 
 /**
  * Rewrite POMs for future development
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
+@Component( role = ReleasePhase.class , hint = "rewrite-poms-for-development" )
 public class RewritePomsForDevelopmentPhase
     extends AbstractRewritePomsPhase
 {
     @Override
+    protected final String getPomSuffix()
+    {
+        return "next";
+    }
+    
+    @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,
                                  String commonBasedir )

Modified: maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java
URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java?rev=1744936&r1=1744935&r2=1744936&view=diff
==============================================================================
--- maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java (original)
+++ maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/RewritePomsForReleasePhase.java Sat May 21 13:06:30 2016
@@ -33,16 +33,23 @@ import org.apache.maven.shared.release.R
 import org.apache.maven.shared.release.config.ReleaseDescriptor;
 import org.apache.maven.shared.release.scm.ScmTranslator;
 import org.apache.maven.shared.release.util.ReleaseUtil;
+import org.codehaus.plexus.component.annotations.Component;
 
 /**
  * Rewrite POMs for release.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  */
+@Component( role = ReleasePhase.class, hint = "rewrite-poms-for-release" )
 public class RewritePomsForReleasePhase
     extends AbstractRewritePomsPhase
 {
-
+    @Override
+    protected final String getPomSuffix()
+    {
+        return "tag";
+    }
+    
     @Override
     protected void transformScm( MavenProject project, Model modelTarget, ReleaseDescriptor releaseDescriptor,
                                  String projectId, ScmRepository scmRepository, ReleaseResult result,