You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2015/12/31 22:33:41 UTC
svn commit: r1722470 - in /maven/shared/trunk/maven-archiver/src:
main/java/org/apache/maven/archiver/ site/apt/examples/ site/xdoc/
test/java/org/apache/maven/archiver/
Author: michaelo
Date: Thu Dec 31 21:33:41 2015
New Revision: 1722470
URL: http://svn.apache.org/viewvc?rev=1722470&view=rev
Log:
[MSHARED-191] Specification-Version must not contain "-SNAPSHOT"
Modified:
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
maven/shared/trunk/maven-archiver/src/site/apt/examples/manifest.apt
maven/shared/trunk/maven-archiver/src/site/xdoc/index.xml.vm
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MockArtifact.java
Modified: maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java?rev=1722470&r1=1722469&r2=1722470&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java (original)
+++ maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java Thu Dec 31 21:33:41 2015
@@ -21,6 +21,8 @@ package org.apache.maven.archiver;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.archiver.ArchiverException;
@@ -386,7 +388,18 @@ public class MavenArchiver
if ( config.isAddDefaultSpecificationEntries() )
{
addManifestAttribute( m, entries, "Specification-Title", project.getName() );
- addManifestAttribute( m, entries, "Specification-Version", project.getVersion() );
+
+ try
+ {
+ ArtifactVersion version = project.getArtifact().getSelectedVersion();
+ String specVersion = String.format( "%s.%s", version.getMajorVersion(), version.getMinorVersion() );
+ addManifestAttribute( m, entries, "Specification-Version", specVersion );
+ }
+ catch ( OverConstrainedVersionException e )
+ {
+ throw new ManifestException( "Failed to get selected artifact version to calculate"
+ + " the specification version: " + e.getMessage() );
+ }
if ( project.getOrganization() != null )
{
Modified: maven/shared/trunk/maven-archiver/src/site/apt/examples/manifest.apt
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/site/apt/examples/manifest.apt?rev=1722470&r1=1722469&r2=1722470&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/site/apt/examples/manifest.apt (original)
+++ maven/shared/trunk/maven-archiver/src/site/apt/examples/manifest.apt Thu Dec 31 21:33:41 2015
@@ -84,7 +84,7 @@ Created-By: Apache Maven ${maven.version
Built-By: ${user.name}
Build-Jdk: ${java.version}
Specification-Title: ${project.name}
-Specification-Version: ${project.version}
+Specification-Version: ${project.artifact.selectedVersion.majorVersion}.${project.artifact.selectedVersion.minorVersion}
Specification-Vendor: ${project.organization.name}
Implementation-Title: ${project.name}
Implementation-Version: ${project.version}
Modified: maven/shared/trunk/maven-archiver/src/site/xdoc/index.xml.vm
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/site/xdoc/index.xml.vm?rev=1722470&r1=1722469&r2=1722470&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/site/xdoc/index.xml.vm (original)
+++ maven/shared/trunk/maven-archiver/src/site/xdoc/index.xml.vm Thu Dec 31 21:33:41 2015
@@ -213,7 +213,7 @@ Implementation-URL: \${project.url}
If the manifest will contain these entries:
<source>
Specification-Title: \${project.name}
-Specification-Version: \${project.version}
+Specification-Version: \${project.artifact.selectedVersion.majorVersion}.\${project.artifact.selectedVersion.minorVersion}
Specification-Vendor: \${project.organization.name}
</source>
The default value is <code>false</code>.
Modified: maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java?rev=1722470&r1=1722469&r2=1722470&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java (original)
+++ maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MavenArchiverTest.java Thu Dec 31 21:33:41 2015
@@ -314,7 +314,7 @@ public class MavenArchiverTest
Map<Object, Object> entries = jar.getManifest().getMainAttributes();
assertTrue( entries.containsKey( Attributes.Name.IMPLEMENTATION_VERSION ) );
- assertEquals( "0.1", entries.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
+ assertEquals( "0.1.1", entries.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
}
finally
{
@@ -454,7 +454,7 @@ public class MavenArchiverTest
assertEquals( "Apache", manifest.get( Attributes.Name.SPECIFICATION_VENDOR ) );
assertEquals( "archiver test", manifest.get( Attributes.Name.IMPLEMENTATION_TITLE ) );
- assertEquals( "0.1", manifest.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
+ assertEquals( "0.1.1", manifest.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
assertEquals( "org.apache.dummy", manifest.get( Attributes.Name.IMPLEMENTATION_VENDOR_ID ) );
assertEquals( "Apache", manifest.get( Attributes.Name.IMPLEMENTATION_VENDOR ) );
assertEquals( "http://maven.apache.org", manifest.get( Attributes.Name.IMPLEMENTATION_URL ) );
@@ -504,7 +504,7 @@ public class MavenArchiverTest
assertEquals( "Apache", manifest.get( Attributes.Name.SPECIFICATION_VENDOR ) );
assertEquals( "archiver test", manifest.get( Attributes.Name.IMPLEMENTATION_TITLE ) );
- assertEquals( "0.1", manifest.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
+ assertEquals( "0.1.1", manifest.get( Attributes.Name.IMPLEMENTATION_VERSION ) );
assertEquals( "org.apache.dummy", manifest.get( Attributes.Name.IMPLEMENTATION_VENDOR_ID ) );
assertEquals( "Apache", manifest.get( Attributes.Name.IMPLEMENTATION_VENDOR ) );
assertEquals( "http://maven.apache.org", manifest.get( Attributes.Name.IMPLEMENTATION_URL ) );
@@ -849,8 +849,8 @@ public class MavenArchiverTest
MockArtifact artifact = new MockArtifact();
artifact.setGroupId( "org.apache.dummy" );
artifact.setArtifactId( "dummy" );
- artifact.setVersion( "0.1" );
- artifact.setBaseVersion( "0.1" );
+ artifact.setVersion( "0.1.1" );
+ artifact.setBaseVersion( "0.1.1" );
artifact.setType( "jar" );
artifact.setArtifactHandler( new DefaultArtifactHandler( "jar" ) );
project.setArtifact( artifact );
@@ -866,7 +866,7 @@ public class MavenArchiverTest
Model model = new Model();
model.setGroupId( "org.apache.dummy" );
model.setArtifactId( "dummy" );
- model.setVersion( "0.1" );
+ model.setVersion( "0.1.1" );
final MavenProject project = new MavenProject( model );
project.setExtensionArtifacts( Collections.<Artifact>emptySet() );
@@ -906,8 +906,8 @@ public class MavenArchiverTest
MockArtifact artifact = new MockArtifact();
artifact.setGroupId( "org.apache.dummy" );
artifact.setArtifactId( "dummy" );
- artifact.setVersion( "0.1" );
- artifact.setBaseVersion( "0.1" );
+ artifact.setVersion( "0.1.1" );
+ artifact.setBaseVersion( "0.1.1" );
artifact.setType( "jar" );
artifact.setArtifactHandler( new DefaultArtifactHandler( "jar" ) );
project.setArtifact( artifact );
@@ -1042,20 +1042,20 @@ public class MavenArchiverTest
File settings = null;
List<String> goals = null;
Date startTime = new Date();
-
+
MavenExecutionRequest request = new DefaultMavenExecutionRequest();
request.setUserProperties( executionProperties );
request.setGoals( goals );
request.setStartTime( startTime );
request.setUserSettingsFile( settings );
-
+
MavenExecutionResult result = new DefaultMavenExecutionResult();
-
+
RepositorySystemSession rss = new DefaultRepositorySystemSession();
-
+
return new MavenSession( container, rss, request, result );
-
+
}
private Set<Artifact> getArtifacts( Artifact... artifacts )
Modified: maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MockArtifact.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MockArtifact.java?rev=1722470&r1=1722469&r2=1722470&view=diff
==============================================================================
--- maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MockArtifact.java (original)
+++ maven/shared/trunk/maven-archiver/src/test/java/org/apache/maven/archiver/MockArtifact.java Thu Dec 31 21:33:41 2015
@@ -297,15 +297,13 @@ class MockArtifact
public ArtifactVersion getSelectedVersion()
throws OverConstrainedVersionException
{
- // TODO
- return null; //To change body of implemented methods use File | Settings | File Templates.
+ return VersionRange.createFromVersion( version ).getSelectedVersion( this );
}
public boolean isSelectedVersionKnown()
throws OverConstrainedVersionException
{
- return false; //To change body of implemented methods use File | Settings | File Templates.
- // TODO
+ return VersionRange.createFromVersion( version ).isSelectedVersionKnown( this );
}
public void setGroupId( String groupId )