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