Author: brett
Date: Tue Jun 20 22:51:32 2006
New Revision: 415920

URL: http://svn.apache.org/viewvc?rev=415920&view=rev
Log:
[MJAR-38, MWAR-34] make adding of default extension entries optional and 
default to false. Correct the values entered into some of them.

Modified:
    
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestConfiguration.java
    
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/MavenArchiver.java

Modified: 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestConfiguration.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestConfiguration.java?rev=415920&r1=415919&r2=415920&view=diff
==============================================================================
--- 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestConfiguration.java
 (original)
+++ 
maven/shared/trunk/maven-archiver/src/main/java/org/apache/maven/archiver/ManifestConfiguration.java
 Tue Jun 20 22:51:32 2006
@@ -29,20 +29,24 @@
 
     private String packageName;
 
+    private boolean addClasspath;
+
+    private boolean addExtensions;
+
     /**
-     * @todo boolean instead
+     * This gets prefixed to all classpath entries.
      */
-    private String addClasspath;
+    private String classpathPrefix = "";
 
     /**
-     * @todo boolean instead
+     * Add default implementation entries if this is an extension 
specification.
      */
-    private String addExtensions;
+    private boolean addDefaultSpecificationEntries;
 
     /**
-     * This gets prefixed to all classpath entries.
+     * Add default implementation entries if this is an extension.
      */
-    private String classpathPrefix = "";
+    private boolean addDefaultImplementationEntries;
 
     public String getMainClass()
     {
@@ -51,12 +55,12 @@
 
     public boolean isAddClasspath()
     {
-        return addClasspath != null ? Boolean.valueOf( addClasspath 
).booleanValue() : false;
+        return addClasspath;
     }
 
     public boolean isAddExtensions()
     {
-        return addExtensions != null ? Boolean.valueOf( addExtensions 
).booleanValue() : false;
+        return addExtensions;
     }
 
     public String getPackageName()
@@ -68,11 +72,21 @@
     {
         String cpp = classpathPrefix.replaceAll( "\\\\", "/" );
 
-        if ( cpp.length() != 0 && !cpp.endsWith("/") )
+        if ( cpp.length() != 0 && !cpp.endsWith( "/" ) )
         {
             cpp += "/";
         }
-        
+
         return cpp;
+    }
+
+    public boolean isAddDefaultImplementationEntries()
+    {
+        return addDefaultImplementationEntries;
+    }
+
+    public boolean isAddDefaultSpecificationEntries()
+    {
+        return addDefaultSpecificationEntries;
     }
 }

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=415920&r1=415919&r2=415920&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
 Tue Jun 20 22:51:32 2006
@@ -107,30 +107,13 @@
     protected Manifest getManifest( MavenProject project, 
ManifestConfiguration config, Map entries )
         throws ManifestException, DependencyResolutionRequiredException
     {
-        // Should we replace "map" with a copy? Note, that we modify it!
+        // TODO: Should we replace "map" with a copy? Note, that we modify it!
 
         // Added basic entries
         Manifest m = new Manifest();
-        addManifestAttribute( m, entries, "Built-By", System.getProperty( 
"user.name" ) );
         addManifestAttribute( m, entries, "Created-By", "Apache Maven" );
 
-/* TODO: rethink this, it wasn't working
-        Artifact projectArtifact = project.getArtifact();
-
-        if ( projectArtifact.isSnapshot() )
-        {
-            Manifest.Attribute buildNumberAttr = new Manifest.Attribute( 
"Build-Number", "" +
-                project.getSnapshotDeploymentBuildNumber() );
-            m.addConfiguredAttribute( buildNumberAttr );
-        }
-
-*/
-        if ( config.getPackageName() != null )
-        {
-            addManifestAttribute( m, entries, "Package", 
config.getPackageName() );
-        }
-
-        addManifestAttribute( m, entries, "Build-Jdk", System.getProperty( 
"java.version" ) );
+        addCustomEntries( m, entries, config );
 
         if ( config.isAddClasspath() )
         {
@@ -159,23 +142,27 @@
             }
         }
 
-        // Added supplementary entries
-        addManifestAttribute( m, entries, "Extension-Name", 
project.getArtifactId() );
-
-        if ( project.getDescription() != null )
+        if ( config.isAddDefaultSpecificationEntries() )
         {
-            // NOTE This should probably be project.getName() but it remains 
for backwards compatability
-            addManifestAttribute( m, entries, "Specification-Title", 
project.getDescription() );
+            addManifestAttribute( m, entries, "Specification-Title", 
project.getName() );
+            addManifestAttribute( m, entries, "Specification-Version", 
project.getVersion() );
+
+            if ( project.getOrganization() != null )
+            {
+                addManifestAttribute( m, entries, "Specification-Vendor", 
project.getOrganization().getName() );
+            }
         }
 
-        if ( project.getOrganization() != null )
+        if ( config.isAddDefaultImplementationEntries() )
         {
-            addManifestAttribute( m, entries, "Specification-Vendor", 
project.getOrganization().getName() );
-            addManifestAttribute( m, entries, "Implementation-Vendor", 
project.getOrganization().getName() );
-        }
+            addManifestAttribute( m, entries, "Implementation-Title", 
project.getName() );
+            addManifestAttribute( m, entries, "Implementation-Version", 
project.getVersion() );
 
-        addManifestAttribute( m, entries, "Implementation-Title", 
project.getArtifactId() );
-        addManifestAttribute( m, entries, "Implementation-Version", 
project.getVersion() );
+            if ( project.getOrganization() != null )
+            {
+                addManifestAttribute( m, entries, "Implementation-Vendor", 
project.getOrganization().getName() );
+            }
+        }
 
         String mainClass = config.getMainClass();
         if ( mainClass != null && !"".equals( mainClass ) )
@@ -186,24 +173,23 @@
         // Added extensions
         if ( config.isAddExtensions() )
         {
+            // TODO: this is only for applets - should we distinguish them as 
a packaging?
             StringBuffer extensionsList = new StringBuffer();
             Set artifacts = project.getArtifacts();
 
             for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
             {
                 Artifact artifact = (Artifact) iter.next();
-                if ( "test".equals( artifact.getScope() ) )
-                {
-                    continue;
-                }
-                // TODO: type of ejb should be added too?
-                if ( "jar".equals( artifact.getType() ) )
+                if ( !Artifact.SCOPE_TEST.equals( artifact.getScope() ) )
                 {
-                    if ( extensionsList.length() > 0 )
+                    if ( "jar".equals( artifact.getType() ) )
                     {
-                        extensionsList.append( " " );
+                        if ( extensionsList.length() > 0 )
+                        {
+                            extensionsList.append( " " );
+                        }
+                        extensionsList.append( artifact.getArtifactId() );
                     }
-                    extensionsList.append( artifact.getArtifactId() );
                 }
             }
 
@@ -214,6 +200,8 @@
 
             for ( Iterator iter = artifacts.iterator(); iter.hasNext(); )
             {
+                // TODO: the correct solution here would be to have an 
extension type, and to read
+                // the real extension values either from the artifact's 
manifest or some part of the POM
                 Artifact artifact = (Artifact) iter.next();
                 if ( "jar".equals( artifact.getType() ) )
                 {
@@ -224,7 +212,6 @@
 
                     if ( artifact.getRepository() != null )
                     {
-                        // TODO: is this correct
                         iname = artifact.getArtifactId() + 
"-Implementation-URL";
                         String url = artifact.getRepository().getUrl() + "/" + 
artifact.toString();
                         addManifestAttribute( m, entries, iname, url );
@@ -234,6 +221,29 @@
         }
 
         return m;
+    }
+
+    private void addCustomEntries( Manifest m, Map entries, 
ManifestConfiguration config )
+        throws ManifestException
+    {
+        addManifestAttribute( m, entries, "Built-By", System.getProperty( 
"user.name" ) );
+        addManifestAttribute( m, entries, "Build-Jdk", System.getProperty( 
"java.version" ) );
+
+/* TODO: rethink this, it wasn't working
+        Artifact projectArtifact = project.getArtifact();
+
+        if ( projectArtifact.isSnapshot() )
+        {
+            Manifest.Attribute buildNumberAttr = new Manifest.Attribute( 
"Build-Number", "" +
+                project.getSnapshotDeploymentBuildNumber() );
+            m.addConfiguredAttribute( buildNumberAttr );
+        }
+
+*/
+        if ( config.getPackageName() != null )
+        {
+            addManifestAttribute( m, entries, "Package", 
config.getPackageName() );
+        }
     }
 
     public JarArchiver getArchiver()


Reply via email to