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

BcweaverJarMaker.java 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328
  1. /* *******************************************************************
  2. * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
  3. * All rights reserved.
  4. * This program and the accompanying materials are made available
  5. * under the terms of the Common Public License v1.0
  6. * which accompanies this distribution and is available at
  7. * http://www.eclipse.org/legal/cpl-v10.html
  8. *
  9. * Contributors:
  10. * PARC initial implementation
  11. * ******************************************************************/
  12. package org.aspectj.ajdt.internal.compiler.batch;
  13. import java.io.File;
  14. import java.io.IOException;
  15. import java.util.*;
  16. import java.util.ArrayList;
  17. import org.aspectj.ajdt.ajc.AjdtAjcTests;
  18. public class BcweaverJarMaker {
  19. public BcweaverJarMaker() {
  20. super();
  21. }
  22. public static void main(String[] args) throws IOException {
  23. makeJar0();
  24. makeJar1();
  25. makeJar1a();
  26. makeJar2();
  27. makeJarObviousNothing();
  28. makeJarHardNothing();
  29. makeTestJars();
  30. makeURLWeavingClassLoaderJars();
  31. makeDuplicateManifestTestJars();
  32. }
  33. public static void makeJar0() throws IOException {
  34. List args = new ArrayList();
  35. args.add("-outjar");
  36. args.add("../weaver/testdata/tracing.jar");
  37. args.add("-classpath");
  38. args.add("../runtime/bin" + File.pathSeparator +
  39. System.getProperty("aspectjrt.path"));
  40. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/Trace.java");
  41. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/MyTrace.java");
  42. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  43. }
  44. public static void makeJar1() throws IOException {
  45. List args = new ArrayList();
  46. args.add("-outjar");
  47. args.add("../weaver/testdata/megatrace.jar");
  48. args.add("-classpath");
  49. args.add("../runtime/bin" + File.pathSeparator +
  50. System.getProperty("aspectjrt.path"));
  51. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/MegaTrace.java");
  52. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/ExecTrace.java");
  53. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  54. }
  55. public static void makeJarObviousNothing() throws IOException {
  56. List args = new ArrayList();
  57. args.add("-outjar");
  58. args.add("../weaver/testdata/megatrace0easy.jar");
  59. args.add("-classpath");
  60. args.add("../runtime/bin" + File.pathSeparator +
  61. System.getProperty("aspectjrt.path"));
  62. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/MegaTrace.java");
  63. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/ObviousTraceNothing.java");
  64. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  65. }
  66. public static void makeJarHardNothing() throws IOException {
  67. List args = new ArrayList();
  68. args.add("-outjar");
  69. args.add("../weaver/testdata/megatrace0hard.jar");
  70. args.add("-classpath");
  71. args.add("../runtime/bin" + File.pathSeparator +
  72. System.getProperty("aspectjrt.path"));
  73. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/MegaTrace.java");
  74. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/HardTraceNothing.java");
  75. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  76. }
  77. public static void makeJar1a() throws IOException {
  78. List args = new ArrayList();
  79. args.add("-outjar");
  80. args.add("../weaver/testdata/megatraceNoweave.jar");
  81. args.add("-noweave");
  82. args.add("-classpath");
  83. args.add("../runtime/bin" + File.pathSeparator +
  84. System.getProperty("aspectjrt.path"));
  85. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/MegaTrace.java");
  86. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/trace/ExecTrace.java");
  87. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  88. }
  89. public static void makeJar2() throws IOException {
  90. List args = new ArrayList();
  91. args.add("-outjar");
  92. args.add("../weaver/testdata/dummyAspect.jar");
  93. args.add("-classpath");
  94. args.add("../runtime/bin" + File.pathSeparator +
  95. System.getProperty("aspectjrt.path"));
  96. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/DummyAspect.java");
  97. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  98. }
  99. public static void makeTestJars() throws IOException {
  100. List args = new ArrayList();
  101. args.add("-classpath");
  102. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  103. File.pathSeparator + System.getProperty("aspectjrt.path"));
  104. args.add("-outjar");
  105. args.add("../tests/new/options11/aspectlib1.jar");
  106. args.add("../tests/new/options11/library1/*.java");
  107. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  108. args = new ArrayList();
  109. args.add("-classpath");
  110. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  111. File.pathSeparator + System.getProperty("aspectjrt.path"));
  112. args.add("-outjar");
  113. args.add("../tests/new/options11/aspectlib2.jar");
  114. args.add("../tests/new/options11/library2/*.java");
  115. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  116. args = new ArrayList();
  117. args.add("-classpath");
  118. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  119. File.pathSeparator + System.getProperty("aspectjrt.path"));
  120. args.add("-outjar");
  121. args.add("../tests/new/options11/injar.jar");
  122. args.add("../tests/new/options11/injar/*.java");
  123. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  124. args = new ArrayList();
  125. args.add("-classpath");
  126. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  127. File.pathSeparator + System.getProperty("aspectjrt.path"));
  128. args.add("-outjar");
  129. args.add("../tests/bugs/serialVersionUID/injar.jar");
  130. args.add("../tests/bugs/serialVersionUID/Test.java");
  131. args.add("../tests/bugs/serialVersionUID/Util.java");
  132. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  133. // For PR55341
  134. args = new ArrayList();
  135. args.add("-classpath");
  136. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  137. File.pathSeparator + System.getProperty("aspectjrt.path"));
  138. args.add("-outjar");
  139. args.add("../tests/bugs/StringToString/helloworld.jar");
  140. args.add("../tests/bugs/StringToString/HW.java");
  141. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  142. }
  143. public static void makeURLWeavingClassLoaderJars() throws IOException {
  144. List args = new ArrayList();
  145. /*
  146. * Vanilla classes
  147. */
  148. args.add("-classpath");
  149. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  150. File.pathSeparator + System.getProperty("aspectjrt.path"));
  151. args.add("-outjar");
  152. args.add("../weaver/testdata/ltw-classes.jar");
  153. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWHelloWorld.java");
  154. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/ltw/LTWPackageTest.java");
  155. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  156. /*
  157. * Woven classes
  158. */
  159. args = new ArrayList();
  160. args.add("-classpath");
  161. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  162. File.pathSeparator + System.getProperty("aspectjrt.path"));
  163. args.add("-outjar");
  164. args.add("../weaver/testdata/ltw-woven.jar");
  165. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWHelloWorld.java");
  166. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWAspect.aj");
  167. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  168. /*
  169. * Advice
  170. */
  171. args = new ArrayList();
  172. args.add("-classpath");
  173. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  174. File.pathSeparator + System.getProperty("aspectjrt.path"));
  175. args.add("-outjar");
  176. args.add("../weaver/testdata/ltw-aspects.jar");
  177. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWAspect.aj");
  178. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  179. /*
  180. * Declare warning advice
  181. */
  182. args = new ArrayList();
  183. args.add("-classpath");
  184. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  185. File.pathSeparator + System.getProperty("aspectjrt.path"));
  186. args.add("-outjar");
  187. args.add("../weaver/testdata/ltw-dwaspects.jar");
  188. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWDeclareWarning.aj");
  189. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  190. /*
  191. * Declare error advice
  192. */
  193. args = new ArrayList();
  194. args.add("-classpath");
  195. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  196. File.pathSeparator + System.getProperty("aspectjrt.path"));
  197. args.add("-outjar");
  198. args.add("../weaver/testdata/ltw-deaspects.jar");
  199. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWDeclareError.aj");
  200. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  201. /*
  202. * Around closure advice
  203. */
  204. args = new ArrayList();
  205. args.add("-classpath");
  206. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  207. File.pathSeparator + System.getProperty("aspectjrt.path"));
  208. args.add("-outjar");
  209. args.add("../weaver/testdata/ltw-acaspects.jar");
  210. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWAroundClosure.aj");
  211. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  212. /*
  213. * ITD
  214. */
  215. args = new ArrayList();
  216. args.add("-Xlint:ignore");
  217. args.add("-classpath");
  218. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  219. File.pathSeparator + System.getProperty("aspectjrt.path"));
  220. args.add("-outjar");
  221. args.add("../weaver/testdata/ltw-itdaspects.jar");
  222. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWInterfaceITD.aj");
  223. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWFieldITD.aj");
  224. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWMethodITD.aj");
  225. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  226. /*
  227. * perXXX()
  228. */
  229. args = new ArrayList();
  230. args.add("-classpath");
  231. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar;../weaver/testdata/ltw-classes.jar" +
  232. File.pathSeparator + System.getProperty("aspectjrt.path"));
  233. args.add("-outjar");
  234. args.add("../weaver/testdata/ltw-peraspects.jar");
  235. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/LTWPerthis.aj");
  236. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  237. }
  238. public static void makeDuplicateManifestTestJars() throws IOException {
  239. List args = new ArrayList();
  240. /*
  241. * injar
  242. */
  243. args.add("-classpath");
  244. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  245. File.pathSeparator + System.getProperty("aspectjrt.path"));
  246. args.add("-outjar");
  247. args.add("../ajde/testdata/DuplicateManifestTest/injar.jar");
  248. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/Hello.java");
  249. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  250. /*
  251. * aspectjar
  252. */
  253. args = new ArrayList();
  254. args.add("-classpath");
  255. args.add("../lib/test/aspectjrt.jar;../lib/test/testing-client.jar" +
  256. File.pathSeparator + System.getProperty("aspectjrt.path"));
  257. args.add("-outjar");
  258. args.add("../ajde/testdata/DuplicateManifestTest/aspectjar.jar");
  259. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/Trace.java");
  260. args.add(AjdtAjcTests.TESTDATA_PATH + "/src1/TraceHello.java");
  261. CommandTestCase.runCompiler(args, CommandTestCase.NO_ERRORS);
  262. }
  263. }