Author: bodewig
Date: Tue Jul 14 04:28:04 2009
New Revision: 793787

URL: http://svn.apache.org/viewvc?rev=793787&view=rev
Log:
filesetmanifest=mergewithoutmain didn't work for nested manifests.  PR 29731.

Modified:
    ant/core/trunk/WHATSNEW
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java
    ant/core/trunk/src/tests/antunit/taskdefs/jar-test.xml

Modified: ant/core/trunk/WHATSNEW
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=793787&r1=793786&r2=793787&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Tue Jul 14 04:28:04 2009
@@ -397,6 +397,10 @@
    PrintWriter at all.
    Bugzilla Report 43537.
 
+ * filesetmanifest="mergewithoutmain" in <jar> didn't treat inline
+   manifests as expected.
+   Bugzilla Report 29731. 
+
 Other changes:
 --------------
  * The get task now also follows redirects from http to https

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java?rev=793787&r1=793786&r2=793787&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Jar.java Tue Jul 14 
04:28:04 2009
@@ -513,7 +513,7 @@
                 finalManifest.merge(originalManifest);
             }
             finalManifest.merge(filesetManifest);
-            finalManifest.merge(configuredManifest);
+            finalManifest.merge(configuredManifest, !mergeManifestsMain);
             finalManifest.merge(manifest, !mergeManifestsMain);
 
             return finalManifest;

Modified: ant/core/trunk/src/tests/antunit/taskdefs/jar-test.xml
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/jar-test.xml?rev=793787&r1=793786&r2=793787&view=diff
==============================================================================
--- ant/core/trunk/src/tests/antunit/taskdefs/jar-test.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/jar-test.xml Tue Jul 14 04:28:04 
2009
@@ -86,4 +86,38 @@
     <au:assertResourceContains value="META-INF"
                                resource="${output}/META-INF/INDEX.LIST"/>
   </target>
+
+  <target name="testMergeWithouMain"
+          
description="https://issues.apache.org/bugzilla/show_bug.cgi?id=29731";>
+    <mkdir dir="${input}"/>
+    <mkdir dir="${output}"/>
+    <jar destfile="${input}/first.jar">
+      <manifest>
+        <attribute name="First" value="Main Section"/>
+        <section name="Nested">
+          <attribute name="First" value="Nested Section"/>
+        </section>
+      </manifest>
+    </jar>
+    <jar destfile="${output}/second.jar" filesetmanifest="mergewithoutmain">
+      <manifest>
+        <attribute name="Second" value="Main Section"/>
+        <section name="Nested">
+          <attribute name="Second" value="Nested Section"/>
+        </section>
+      </manifest>
+      <zipgroupfileset dir="${input}" includes="first.jar"/>
+    </jar>
+    <unjar src="${output}/second.jar" dest="${output}"/>
+    <au:assertFileExists file="${output}/META-INF/MANIFEST.MF"/>
+    <au:assertResourceContains value="First: Nested Section"
+                               resource="${output}/META-INF/MANIFEST.MF"/>
+    <au:assertResourceContains value="Second: Nested Section"
+                               resource="${output}/META-INF/MANIFEST.MF"/>
+    <au:assertResourceDoesntContain
+       value="First: Main Section"
+       resource="${output}/META-INF/MANIFEST.MF"/>
+    <au:assertResourceContains value="Second: Main Section"
+                               resource="${output}/META-INF/MANIFEST.MF"/>
+  </target>
 </project>


Reply via email to