You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

jar.xml 6.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <?xml version="1.0"?>
  2. <project name="jar-test" basedir="." default="test1">
  3. <property name="tmp.jar" location="tmp.jar"/>
  4. <property name="tmp.dir" location="jartmp"/>
  5. <property name="tmp.zip" location="tmp.zip"/>
  6. <property name="tmp1.dir" location="jartmp1"/>
  7. <property name="tmp2.dir" location="jartmp2"/>
  8. <target name="test1">
  9. <jar/>
  10. </target>
  11. <target name="test2">
  12. <jar
  13. jarfile="jar.tmp"
  14. manifest="none"
  15. />
  16. </target>
  17. <target name="test3">
  18. <jar
  19. destfile="jar.tmp"
  20. whenempty="format C: /y"
  21. />
  22. </target>
  23. <target name="test4">
  24. <jar
  25. destfile="${tmp.jar}"
  26. basedir="."
  27. includes="jar.xml"
  28. />
  29. </target>
  30. <target name="testNoRecreateWithUpdate">
  31. <jar
  32. destfile="${tmp.jar}"
  33. basedir="."
  34. includes="jar.xml"
  35. update="true"
  36. />
  37. </target>
  38. <target name="testRecreateNewerFileSetup" depends="test4">
  39. <touch file="jar.xml"/>
  40. </target>
  41. <target name="testRecreateWithoutUpdateAdditionalFiles">
  42. <jar
  43. destfile="${tmp.jar}"
  44. includes="*.xml"
  45. basedir="."
  46. />
  47. </target>
  48. <target name="testRecreateWithUpdateAdditionalFiles">
  49. <jar
  50. destfile="${tmp.jar}"
  51. basedir="."
  52. includes="*.xml"
  53. update="true"
  54. />
  55. </target>
  56. <target name="testRecreateWithoutUpdateNewerFile">
  57. <jar
  58. destfile="${tmp.jar}"
  59. basedir="."
  60. includes="jar.xml"
  61. />
  62. </target>
  63. <target name="testRecreateWithUpdateNewerFile">
  64. <jar
  65. destfile="${tmp.jar}"
  66. basedir="."
  67. includes="jar.xml"
  68. update="true"
  69. />
  70. </target>
  71. <target name="testManifestStaysIntact">
  72. <mkdir dir="${tmp.dir}"/>
  73. <manifest file="${tmp.dir}/manifest">
  74. <attribute name="Foo" value="bar"/>
  75. </manifest>
  76. <jar destfile="${tmp.jar}" basedir="." includes="jar.xml"
  77. manifest="${tmp.dir}/manifest"/>
  78. <sleep seconds="3"/>
  79. <touch file="jar.xml"/>
  80. <jar destfile="${tmp.jar}" basedir="." includes="jar.xml"
  81. update="true"/>
  82. <unjar src="${tmp.jar}" dest="${tmp.dir}"/>
  83. </target>
  84. <target name="testNoRecreateBasedirExcludesWithUpdate">
  85. <jar
  86. destfile="${tmp.jar}"
  87. basedir="."
  88. includes="j*.xml"
  89. excludes="java.xml"
  90. update="true"
  91. />
  92. </target>
  93. <target name="testNoRecreateBasedirExcludesWithoutUpdate">
  94. <jar
  95. destfile="${tmp.jar}"
  96. basedir="."
  97. includes="j*.xml"
  98. excludes="java.xml"
  99. />
  100. </target>
  101. <target name="makezip">
  102. <zip destfile="${tmp.zip}"
  103. basedir="." includes="j*.xml"/>
  104. </target>
  105. <target name="testNoRecreateZipfilesetExcludesWithUpdate"
  106. depends="makezip">
  107. <jar destfile="${tmp.jar}"
  108. update="true">
  109. <zipfileset src="${tmp.zip}" excludes="java.xml"/>
  110. </jar>
  111. </target>
  112. <target name="testNoRecreateZipfilesetExcludesWithoutUpdate"
  113. depends="makezip">
  114. <jar destfile="${tmp.jar}">
  115. <zipfileset src="${tmp.zip}" excludes="java.xml"/>
  116. </jar>
  117. </target>
  118. <target name="testRecreateZipfilesetWithoutUpdateAdditionalFiles"
  119. depends="makezip">
  120. <jar destfile="${tmp.jar}">
  121. <zipfileset src="${tmp.zip}"/>
  122. </jar>
  123. </target>
  124. <target name="testRecreateZipfilesetWithUpdateAdditionalFiles"
  125. depends="makezip">
  126. <jar destfile="${tmp.jar}"
  127. update="true">
  128. <zipfileset src="${tmp.zip}"/>
  129. </jar>
  130. </target>
  131. <target name="testRecreateZipfilesetWithoutUpdateNewerFile"
  132. depends="makezip">
  133. <jar destfile="${tmp.jar}">
  134. <zipfileset src="${tmp.zip}" includes="jar.xml"/>
  135. </jar>
  136. </target>
  137. <target name="testRecreateZipfilesetWithUpdateNewerFile"
  138. depends="makezip">
  139. <jar destfile="${tmp.jar}"
  140. update="true">
  141. <zipfileset src="${tmp.zip}" includes="jar.xml"/>
  142. </jar>
  143. </target>
  144. <target name="cleanup">
  145. <delete file="${tmp.jar}" />
  146. <delete file="${tmp.jar}2" />
  147. <delete dir="${tmp.dir}"/>
  148. <delete file="${tmp.zip}" />
  149. <delete dir="${tmp1.dir}"/>
  150. <delete dir="${tmp2.dir}"/>
  151. </target>
  152. <target name="testCreateWithEmptyFilesetSetUp">
  153. <mkdir dir="${tmp1.dir}"/>
  154. <mkdir dir="${tmp2.dir}"/>
  155. <echo file="${tmp2.dir}/foo.txt" message="foo"/>
  156. </target>
  157. <target name="testCreateWithEmptyFileset">
  158. <jar destfile="${tmp.jar}">
  159. <fileset dir="${tmp1.dir}">
  160. <include name="**/*.doesNotExist"/>
  161. </fileset>
  162. <fileset dir="${tmp2.dir}">
  163. <include name="**/foo.txt"/>
  164. </fileset>
  165. </jar>
  166. </target>
  167. <!-- bug 17780 -->
  168. <target name="testUpdateIfOnlyManifestHasChanged"
  169. depends="test4">
  170. <jar destfile="${tmp.jar}" update="true">
  171. <manifest>
  172. <attribute name="Foo" value="bar"/>
  173. </manifest>
  174. </jar>
  175. <mkdir dir="${tmp.dir}"/>
  176. <unzip src="${tmp.jar}" dest="${tmp.dir}"/>
  177. </target>
  178. <!-- bugs 10262 and 16972 -->
  179. <target name="testIndexTests">
  180. <mkdir dir="${tmp.dir}/META-INF"/>
  181. <touch file="${tmp.dir}/META-INF/INDEX.LIST"/>
  182. <touch file="${tmp.dir}/foo"/>
  183. <mkdir dir="${tmp.dir}/sub"/>
  184. <touch file="${tmp.dir}/sub/foo"/>
  185. <jar destfile="${tmp.jar}" index="yes" basedir="${tmp.dir}"/>
  186. </target>
  187. <!-- bug 32802 -->
  188. <target name="testManifestOnlyJar">
  189. <mkdir dir="${tmp.dir}"/>
  190. <jar destfile="${tmp.jar}" duplicate="preserve">
  191. <manifest>
  192. <attribute name="Foo" value="bar"/>
  193. </manifest>
  194. </jar>
  195. <mkdir dir="${tmp.dir}"/>
  196. <unzip src="${tmp.jar}" dest="${tmp.dir}"/>
  197. </target>
  198. <!-- bug 37237 -->
  199. <target name="testIndexJarsPlusJarMarker">
  200. <mkdir dir="${tmp.dir}/a/b/c"/>
  201. <jar destfile="${tmp.jar}" basedir="${tmp.dir}"/>
  202. <delete dir="${tmp.dir}/a" quiet="true"/>
  203. <mkdir dir="${tmp.dir}/d/e/f"/>
  204. <jar destfile="${tmp.jar}2" basedir="${tmp.dir}" index="true">
  205. <indexjars>
  206. <fileset file="${tmp.jar}"/>
  207. </indexjars>
  208. </jar>
  209. </target>
  210. </project>