You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/09/06 20:17:23 UTC

svn commit: r279051 - in /maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release: PrepareReleaseMojo.java helpers/ProjectScmRewriter.java helpers/ProjectVersionResolver.java helpers/ScmHelper.java

Author: brett
Date: Tue Sep  6 11:17:16 2005
New Revision: 279051

URL: http://svn.apache.org/viewcvs?rev=279051&view=rev
Log:
release plugin bugfixes

Modified:
    maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
    maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectScmRewriter.java
    maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectVersionResolver.java
    maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ScmHelper.java

Modified: maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java?rev=279051&r1=279050&r2=279051&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java (original)
+++ maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java Tue Sep  6 11:17:16 2005
@@ -23,10 +23,12 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Dependency;
+import org.apache.maven.model.DependencyManagement;
 import org.apache.maven.model.Extension;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginManagement;
 import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.model.Reporting;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -83,7 +85,7 @@
      * @parameter expression="${settings.interactiveMode}"
      * @readonly
      */
-    private boolean interactive = true;
+    private boolean interactive;
 
     /**
      * @parameter expression="${component.org.apache.maven.artifact.metadata.ArtifactMetadataSource}"
@@ -185,11 +187,10 @@
                 checkForPresenceOfSnapshots( project );
 
                 transformPomToReleaseVersionPom( project );
-
             }
 
             generateReleasePoms();
-            
+
             checkInRelease();
 
             tagRelease();
@@ -467,7 +468,7 @@
             for ( Iterator i = changedFiles.iterator(); i.hasNext(); )
             {
                 ScmFile f = (ScmFile) i.next();
-                if ( f.getPath().equals( "pom.xml.backup" ) || f.getPath().equals( releaseProgressFilename ) )
+                if ( "pom.xml.backup".equals( f.getPath() ) || f.getPath().equals( releaseProgressFilename ) )
                 {
                     i.remove();
                 }
@@ -617,13 +618,14 @@
         {
             if ( !isSnapshot( project.getVersion() ) )
             {
-                throw new MojoExecutionException( "The project " + project.getGroupId() + ":" + project.getArtifactId() + " isn't a snapshot (" + project.getVersion() + ")." );
+                throw new MojoExecutionException( "The project " + project.getGroupId() + ":" +
+                    project.getArtifactId() + " isn't a snapshot (" + project.getVersion() + ")." );
             }
 
             Model model = project.getOriginalModel();
 
             //Rewrite parent version
-            if ( project.hasParent() )
+            if ( model.getParent() != null )
             {
                 Artifact parentArtifact = project.getParentArtifact();
 
@@ -636,8 +638,6 @@
             }
 
             //Rewrite dependencies section
-            Map artifactMap = project.getArtifactMap();
-
             List dependencies = model.getDependencies();
 
             if ( dependencies != null )
@@ -646,14 +646,39 @@
                 {
                     Dependency dep = (Dependency) i.next();
 
-                    String conflictId = ArtifactUtils.artifactId( dep.getGroupId(), dep.getArtifactId(), dep.getType(),
-                                                                  dep.getClassifier(), dep.getVersion() );
+                    // Avoid in dep mgmt
+                    if ( dep.getVersion() != null )
+                    {
+                        String resolvedVersion = getVersionResolver().getResolvedVersion( dep.getGroupId(),
+                                                                                          dep.getArtifactId() );
 
-                    Artifact artifact = (Artifact) artifactMap.get( conflictId );
+                        if ( resolvedVersion != null )
+                        {
+                            dep.setVersion( resolvedVersion );
+                        }
+                    }
+                }
+            }
+
+            DependencyManagement dependencyManagement = model.getDependencyManagement();
+            dependencies = dependencyManagement != null ? dependencyManagement.getDependencies() : null;
+
+            if ( dependencies != null )
+            {
+                for ( Iterator i = dependencies.iterator(); i.hasNext(); )
+                {
+                    Dependency dep = (Dependency) i.next();
 
-                    String version = resolveVersion( artifact, "dependency", project );
+                    if ( dep.getVersion() != null )
+                    {
+                        String resolvedVersion = getVersionResolver().getResolvedVersion( dep.getGroupId(),
+                                                                                          dep.getArtifactId() );
 
-                    dep.setVersion( version );
+                        if ( resolvedVersion != null )
+                        {
+                            dep.setVersion( resolvedVersion );
+                        }
+                    }
                 }
             }
 
@@ -662,39 +687,64 @@
             if ( build != null )
             {
                 //Rewrite plugins section
-                Map pluginArtifactMap = project.getPluginArtifactMap();
-
                 List plugins = build.getPlugins();
 
-                for ( Iterator i = plugins.iterator(); i.hasNext(); )
+                if ( plugins != null )
                 {
-                    Plugin plugin = (Plugin) i.next();
+                    for ( Iterator i = plugins.iterator(); i.hasNext(); )
+                    {
+                        Plugin plugin = (Plugin) i.next();
+
+                        // Avoid in plugin mgmt
+                        if ( plugin.getVersion() != null )
+                        {
+                            String resolvedVersion = getVersionResolver().getResolvedVersion( plugin.getGroupId(),
+                                                                                              plugin.getArtifactId() );
 
-                    String pluginId = plugin.getKey();
+                            if ( resolvedVersion != null )
+                            {
+                                plugin.setVersion( resolvedVersion );
+                            }
+                        }
+                    }
+                }
 
-                    Artifact artifact = (Artifact) pluginArtifactMap.get( pluginId );
+                PluginManagement pluginManagement = build.getPluginManagement();
+                plugins = pluginManagement != null ? pluginManagement.getPlugins() : null;
 
-                    String version = resolveVersion( artifact, "plugin", project );
+                if ( plugins != null )
+                {
+                    for ( Iterator i = plugins.iterator(); i.hasNext(); )
+                    {
+                        Plugin plugin = (Plugin) i.next();
+
+                        if ( plugin.getVersion() != null )
+                        {
+                            String resolvedVersion = getVersionResolver().getResolvedVersion( plugin.getGroupId(),
+                                                                                              plugin.getArtifactId() );
 
-                    plugin.setVersion( version );
+                            if ( resolvedVersion != null )
+                            {
+                                plugin.setVersion( resolvedVersion );
+                            }
+                        }
+                    }
                 }
 
                 //Rewrite extensions section
-                Map extensionArtifactMap = project.getExtensionArtifactMap();
-
                 List extensions = build.getExtensions();
 
                 for ( Iterator i = extensions.iterator(); i.hasNext(); )
                 {
                     Extension ext = (Extension) i.next();
 
-                    String pluginId = ArtifactUtils.versionlessKey( ext.getGroupId(), ext.getArtifactId() );
-
-                    Artifact artifact = (Artifact) extensionArtifactMap.get( pluginId );
+                    String resolvedVersion = getVersionResolver().getResolvedVersion( ext.getGroupId(),
+                                                                                      ext.getArtifactId() );
 
-                    String version = resolveVersion( artifact, "extension", project );
-
-                    ext.setVersion( version );
+                    if ( resolvedVersion != null )
+                    {
+                        ext.setVersion( resolvedVersion );
+                    }
                 }
             }
 
@@ -703,21 +753,19 @@
             if ( reporting != null )
             {
                 //Rewrite reports section
-                Map reportArtifactMap = project.getReportArtifactMap();
-
                 List reports = reporting.getPlugins();
 
                 for ( Iterator i = reports.iterator(); i.hasNext(); )
                 {
                     ReportPlugin plugin = (ReportPlugin) i.next();
 
-                    String pluginId = plugin.getKey();
-
-                    Artifact artifact = (Artifact) reportArtifactMap.get( pluginId );
+                    String resolvedVersion = getVersionResolver().getResolvedVersion( plugin.getGroupId(),
+                                                                                      plugin.getArtifactId() );
 
-                    String version = resolveVersion( artifact, "report", project );
-
-                    plugin.setVersion( version );
+                    if ( resolvedVersion != null )
+                    {
+                        plugin.setVersion( resolvedVersion );
+                    }
                 }
             }
 
@@ -768,7 +816,7 @@
             for ( Iterator it = reactorProjects.iterator(); it.hasNext(); )
             {
                 MavenProject project = (MavenProject) it.next();
-                
+
                 MavenProject releaseProject = new MavenProject( project );
                 Model releaseModel = releaseProject.getModel();
 
@@ -811,7 +859,10 @@
                     releaseModel.setDependencies( newdeps );
                 }
 
-                List plugins = releaseProject.getBuildPlugins();
+                // Use original - don't want the lifecycle introduced ones
+                // TODO: but is it the right settings?
+                Build originalModel = releaseProject.getOriginalModel().getBuild();
+                List plugins = originalModel != null ? originalModel.getPlugins() : null;
 
                 if ( plugins != null )
                 {
@@ -892,9 +943,9 @@
                 try
                 {
                     String releasePomPath = trimPathForScmCalculation( releasePomFile );
-                    
-                    releasePomPath = releasePomPath.substring( canonicalBasedir.length() );
-                    
+
+                    releasePomPath = releasePomPath.substring( canonicalBasedir.length() + 1 );
+
                     ScmHelper scm = getScm();
 
                     scm.setWorkingDirectory( basedir );
@@ -1026,7 +1077,7 @@
     {
         String path = file.getCanonicalPath();
 
-        path.replace( File.separatorChar, '/' );
+        path = path.replace( File.separatorChar, '/' );
 
         if ( path.endsWith( "/" ) )
         {

Modified: maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectScmRewriter.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectScmRewriter.java?rev=279051&r1=279050&r2=279051&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectScmRewriter.java (original)
+++ maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectScmRewriter.java Tue Sep  6 11:17:16 2005
@@ -1,5 +1,21 @@
 package org.apache.maven.plugins.release.helpers;
 
+/*
+ * Copyright 2001-2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 import org.apache.maven.artifact.ArtifactUtils;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Scm;
@@ -21,8 +37,8 @@
 
         if ( originalScmInformation.containsKey( projectId ) )
         {
-            throw new IllegalArgumentException( "Project: " + projectId
-                + " already has it's original SCM info cached. Each project should only be resolved once." );
+            throw new IllegalArgumentException( "Project: " + projectId +
+                " already has it's original SCM info cached. Each project should only be resolved once." );
         }
 
         Model model = project.getModel();
@@ -31,8 +47,8 @@
 
         if ( scm == null )
         {
-            throw new MojoExecutionException( "Project: " + projectId
-                + " does not have a SCM section! Cannot proceed with release." );
+            throw new MojoExecutionException(
+                "Project: " + projectId + " does not have a SCM section! Cannot proceed with release." );
         }
 
         String tag = model.getScm().getTag();
@@ -60,8 +76,8 @@
 
         if ( original == null )
         {
-            throw new IllegalArgumentException( "Project \'" + projectId
-                + "\' has not had its SCM info cached. Cannot restore uncached SCM info." );
+            throw new IllegalArgumentException(
+                "Project \'" + projectId + "\' has not had its SCM info cached. Cannot restore uncached SCM info." );
         }
 
         original.modify( project );

Modified: maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectVersionResolver.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectVersionResolver.java?rev=279051&r1=279050&r2=279051&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectVersionResolver.java (original)
+++ maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ProjectVersionResolver.java Tue Sep  6 11:17:16 2005
@@ -1,6 +1,7 @@
 package org.apache.maven.plugins.release.helpers;
 
 import org.apache.maven.artifact.ArtifactUtils;
+import org.apache.maven.model.Model;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.logging.Log;
 import org.apache.maven.project.MavenProject;
@@ -38,8 +39,8 @@
 
         if ( resolvedVersions.containsKey( projectId ) )
         {
-            throw new IllegalArgumentException( "Project: " + projectId
-                + " is already resolved. Each project should only be resolved once." );
+            throw new IllegalArgumentException(
+                "Project: " + projectId + " is already resolved. Each project should only be resolved once." );
         }
 
         //Rewrite project version
@@ -66,7 +67,9 @@
             }
         }
 
-        project.setVersion( projectVersion );
+        Model model = project.getOriginalModel();
+
+        model.setVersion( projectVersion );
 
         resolvedVersions.put( projectId, projectVersion );
     }
@@ -87,8 +90,8 @@
 
         if ( projectVersion == null )
         {
-            throw new IllegalArgumentException( "Project \'" + projectId
-                + "\' has not been resolved. Cannot increment an unresolved version." );
+            throw new IllegalArgumentException(
+                "Project \'" + projectId + "\' has not been resolved. Cannot increment an unresolved version." );
         }
 
         // TODO: we will need to incorporate versioning strategies here because it is unlikely
@@ -104,8 +107,8 @@
         {
             nextVersionString = Integer.toString( Integer.parseInt( nextVersionString ) + 1 );
 
-            projectVersion = projectVersion.substring( 0, projectVersion.lastIndexOf( "-" ) + 1 ) + nextVersionString
-                + SNAPSHOT_CLASSIFIER;
+            projectVersion = projectVersion.substring( 0, projectVersion.lastIndexOf( "-" ) + 1 ) + nextVersionString +
+                SNAPSHOT_CLASSIFIER;
         }
         catch ( NumberFormatException e )
         {

Modified: maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ScmHelper.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ScmHelper.java?rev=279051&r1=279050&r2=279051&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ScmHelper.java (original)
+++ maven/components/trunk/maven-plugins/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/helpers/ScmHelper.java Tue Sep  6 11:17:16 2005
@@ -20,8 +20,6 @@
 import org.apache.maven.scm.ScmException;
 import org.apache.maven.scm.ScmFileSet;
 import org.apache.maven.scm.ScmResult;
-import org.apache.maven.scm.manager.ScmManager;
-import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.command.add.AddScmResult;
 import org.apache.maven.scm.command.checkin.CheckInScmResult;
 import org.apache.maven.scm.command.checkout.CheckOutScmResult;
@@ -29,6 +27,8 @@
 import org.apache.maven.scm.command.status.StatusScmResult;
 import org.apache.maven.scm.command.tag.TagScmResult;
 import org.apache.maven.scm.command.update.UpdateScmResult;
+import org.apache.maven.scm.manager.ScmManager;
+import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
 import org.apache.maven.scm.repository.ScmRepository;
 import org.codehaus.plexus.util.FileUtils;
 
@@ -185,7 +185,7 @@
     {
         ScmRepository repository = getScmRepository();
 
-        ScmFileSet fs = new ScmFileSet( new File( workingDirectory ), file, null );
+        ScmFileSet fs = new ScmFileSet( new File( workingDirectory ), new File( file ) );
 
         AddScmResult result = getScmManager().getProviderByRepository( repository ).add( repository, fs );
 
@@ -199,7 +199,8 @@
 
         ScmFileSet fs = new ScmFileSet( new File( workingDirectory ), file, null );
 
-        RemoveScmResult result = getScmManager().getProviderByRepository( repository ).remove( repository, fs, message );
+        RemoveScmResult result = getScmManager().getProviderByRepository( repository ).remove( repository, fs,
+                                                                                               message );
 
         checkResult( result );
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org