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 )