git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@273821 13f79535-47bb-0310-9956-ffa450edef68master
@@ -3,6 +3,7 @@ | |||||
<project name="jar-test" basedir="." default="test1"> | <project name="jar-test" basedir="." default="test1"> | ||||
<property name="tmp.jar" location="tmp.jar"/> | <property name="tmp.jar" location="tmp.jar"/> | ||||
<property name="tmp.dir" location="jartmp"/> | |||||
<target name="test1"> | <target name="test1"> | ||||
<jar/> | <jar/> | ||||
@@ -41,7 +42,7 @@ | |||||
<target name="testRecreateNewerFileSetup" depends="test4"> | <target name="testRecreateNewerFileSetup" depends="test4"> | ||||
<touch file="jar.xml"/> | <touch file="jar.xml"/> | ||||
<sleep seconds="2"/> | |||||
<sleep seconds="3"/> | |||||
<touch file="${tmp.jar}"/> | <touch file="${tmp.jar}"/> | ||||
</target> | </target> | ||||
@@ -79,8 +80,23 @@ | |||||
/> | /> | ||||
</target> | </target> | ||||
<target name="testManifestStaysIntact"> | |||||
<mkdir dir="${tmp.dir}"/> | |||||
<manifest file="${tmp.dir}/manifest"> | |||||
<attribute name="Foo" value="bar"/> | |||||
</manifest> | |||||
<jar destfile="${tmp.jar}" basedir="." includes="jar.xml" | |||||
manifest="${tmp.dir}/manifest"/> | |||||
<sleep seconds="3"/> | |||||
<touch file="jar.xml"/> | |||||
<jar destfile="${tmp.jar}" basedir="." includes="jar.xml" | |||||
update="true"/> | |||||
<unjar src="${tmp.jar}" dest="${tmp.dir}"/> | |||||
</target> | |||||
<target name="cleanup"> | <target name="cleanup"> | ||||
<delete file="${tmp.jar}" /> | <delete file="${tmp.jar}" /> | ||||
<delete dir="${tmp.dir}"/> | |||||
</target> | </target> | ||||
</project> | </project> |
@@ -55,6 +55,8 @@ | |||||
package org.apache.tools.ant.taskdefs; | package org.apache.tools.ant.taskdefs; | ||||
import java.io.File; | import java.io.File; | ||||
import java.io.FileReader; | |||||
import java.io.IOException; | |||||
import java.util.Date; | import java.util.Date; | ||||
import org.apache.tools.ant.BuildFileTest; | import org.apache.tools.ant.BuildFileTest; | ||||
@@ -149,4 +151,16 @@ public class JarTest extends BuildFileTest { | |||||
assertTrue("jar has been recreated in " + secondTarget, | assertTrue("jar has been recreated in " + secondTarget, | ||||
jarModifiedDate < jarFile.lastModified()); | jarModifiedDate < jarFile.lastModified()); | ||||
} | } | ||||
public void XtestManifestStaysIntact() | |||||
throws IOException, ManifestException { | |||||
executeTarget("testManifestStaysIntact"); | |||||
Manifest mf1 = | |||||
new Manifest(new FileReader(getProject() | |||||
.resolveFile("jartmp/manifest"))); | |||||
Manifest mf2 = | |||||
new Manifest(new FileReader(getProject() | |||||
.resolveFile("jartmp/META-INF/MANIFEST.MF"))); | |||||
assertEquals(mf1, mf2); | |||||
} | |||||
} | } |