diff options
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/jar-test.xml')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/jar-test.xml | 252 |
1 files changed, 252 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/jar-test.xml b/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/jar-test.xml new file mode 100644 index 00000000..c2c8834e --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/src/tests/antunit/taskdefs/jar-test.xml @@ -0,0 +1,252 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> + <import file="../antunit-base.xml" /> + + <target name="testIndexOnlyUpdate"> + <mkdir dir="${output}"/> + <property name="index.jar" location="${output}/index.jar" /> + + <jar destfile="${index.jar}" index="false"> + <fileset dir="${basedir}" includes="*-test.xml" /> + </jar> + <au:assertTrue> + <resourcecount count="0"> + <restrict> + <zipentry zipfile="${index.jar}" name="META-INF/INDEX.LIST" /> + <exists /> + </restrict> + </resourcecount> + </au:assertTrue> + <jar destfile="${index.jar}" index="true" update="true"> + <fileset dir="${basedir}" includes="*-test.xml" /> + </jar> + <au:assertTrue> + <resourcecount count="1"> + <restrict> + <zipentry zipfile="${index.jar}" name="META-INF/INDEX.LIST" /> + <exists /> + </restrict> + </resourcecount> + </au:assertTrue> + </target> + + <target name="testResourcesOnly" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=47470"> + <mkdir dir="${input}"/> + <mkdir dir="${output}"/> + <touch file="${input}/foo"/> + <touch file="${output}/bar"/> + <jar destfile="${output}/foo.jar"> + <union> + <fileset dir="${input}"/> + <fileset dir="${output}" excludes="foo.jar"/> + </union> + </jar> + <au:assertLogDoesntContain text="skipping jar archive"/> + </target> + + <target name="-metainf-setup"> + <mkdir dir="${input}/services"/> + <touch file="${input}/services/foo"/> + <mkdir dir="${output}"/> + </target> + + <target name="testIndexNoMetaInf" depends="-metainf-setup"> + <jar index="true" destfile="${output}/test.jar"> + <metainf dir="${input}"/> + </jar> + <unjar src="${output}/test.jar" dest="${output}"/> + <au:assertFileExists file="${output}/META-INF/INDEX.LIST"/> + <au:assertResourceDoesntContain value="META-INF" + resource="${output}/META-INF/INDEX.LIST"/> + </target> + + <target name="testIndexMetaInf" depends="-metainf-setup"> + <jar index="true" destfile="${output}/test.jar" indexMetaInf="true"> + <metainf dir="${input}"/> + </jar> + <unjar src="${output}/test.jar" dest="${output}"/> + <au:assertFileExists file="${output}/META-INF/INDEX.LIST"/> + <au:assertResourceContains value="META-INF" + resource="${output}/META-INF/INDEX.LIST"/> + </target> + + <target name="testMergeWithoutMain" + 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> + + <target name="testWhenManifestOnly" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=43946"> + <mkdir dir="${input}"/> + <mkdir dir="${output}"/> + <jar destfile="${output}/first.jar"> + <fileset dir="${input}"/> + </jar> + <au:assertFileExists file="${output}/first.jar"/> + <au:assertLogDoesntContain text="skipping jar archive"/> + <jar destfile="${output}/second.jar" whenmanifestonly="create"> + <fileset dir="${input}"/> + </jar> + <au:assertFileExists file="${output}/second.jar"/> + <au:assertLogDoesntContain text="skipping jar archive"/> + <jar destfile="${output}/third.jar" whenmanifestonly="skip"> + <fileset dir="${input}"/> + </jar> + <au:assertFileDoesntExist file="${output}/third.jar"/> + <au:assertLogContains text="skipping jar archive"/> + <au:expectfailure> + <jar destfile="${output}/forth.jar" whenmanifestonly="fail"> + <fileset dir="${input}"/> + </jar> + </au:expectfailure> + </target> + + <target name="test-update-and-filesetmanifest" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=30751"> + <mkdir dir="${input}"/> + <mkdir dir="${output}"/> + <jar destfile="${input}/manifest.jar"> + <manifest> + <attribute name="Origin" value="manifest.jar"/> + </manifest> + </jar> + + <touch file="${input}/foo"/> + <jar destfile="${output}/test.jar"> + <fileset dir="${input}" excludes="*.jar"/> + <manifest> + <attribute name="Second-Origin" value="test.jar"/> + </manifest> + </jar> + + <touch file="${input}/bar"/> + <jar destfile="${output}/test.jar" update="true" filesetmanifest="merge"> + <fileset dir="${input}" excludes="*.jar"/> + <zipgroupfileset dir="${input}" includes="*.jar"/> + </jar> + + <unjar src="${output}/test.jar" dest="${output}"/> + <au:assertFileExists file="${output}/foo"/> + <au:assertFileExists file="${output}/bar"/> + <au:assertResourceContains value="Origin: manifest.jar" + resource="${output}/META-INF/MANIFEST.MF"/> + <au:assertResourceContains value="Second-Origin: test.jar" + resource="${output}/META-INF/MANIFEST.MF"/> + </target> + + <target name="testDuplicateFail"> + <mkdir dir="${input}/1"/> + <mkdir dir="${input}/2"/> + <mkdir dir="${output}"/> + <touch file="${input}/1/a.txt"/> + <touch file="${input}/2/a.txt"/> + <au:expectfailure message="Duplicate file"> + <jar destfile="${output}/test.jar" duplicate="fail"> + <fileset dir="${input}/1"/> + <fileset dir="${input}/2"/> + </jar> + </au:expectfailure> + </target> + + <target name="testFileSetMerge" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=49090"> + <mkdir dir="${input}/META-INF"/> + <mkdir dir="${output}"/> + <echo file="${input}/META-INF/MANIFEST.MF"><![CDATA[Test: Header +]]></echo> + <jar destfile="${output}/test.jar" filesetmanifest="merge"> + <fileset dir="${input}"/> + </jar> + <unjar src="${output}/test.jar" dest="${output}"/> + <au:assertResourceContains value="Test: Header" + resource="${output}/META-INF/MANIFEST.MF"/> + </target> + + <target name="testZipfilesetMerge" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=49605"> + <mkdir dir="${input}"/> + <mkdir dir="${output}"/> + <echo file="${input}/MANIFEST.MF">Manifest-Version: 1.0 +Main-Class: MyClass + +</echo> + <jar destfile="${input}/manifesttest.jar" + filesetmanifest="merge"> + <zipfileset file="${input}/MANIFEST.MF" prefix="META-INF"/> + </jar> + <unjar src="${input}/manifesttest.jar" dest="${output}"/> + <au:assertFileExists file="${output}/META-INF/MANIFEST.MF"/> + <au:assertResourceContains value="Main-Class: MyClass" + resource="${output}/META-INF/MANIFEST.MF"/> + </target> + + <target name="testMergeWithoutMainWithoutExplicitManifest" + description="https://issues.apache.org/bugzilla/show_bug.cgi?id=54171"> + <mkdir dir="${input}"/> + <mkdir dir="${output}"/> + <jar destfile="${input}/input.jar"> + <manifest> + <attribute name="Foo" value="Main Section"/> + </manifest> + <fileset dir="."/> + </jar> + <jar destfile="${input}/test.jar" + filesetmanifest="mergewithoutmain"> + <zipgroupfileset dir="${input}"> + <include name="input.jar"/> + </zipgroupfileset> + </jar> + <unjar src="${input}/test.jar" dest="${output}"/> + <au:assertFileExists file="${output}/META-INF/MANIFEST.MF"/> + <au:assertResourceDoesntContain + value="Foo: Main Section" + resource="${output}/META-INF/MANIFEST.MF"/> + </target> + +</project> |