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.

TestBuildModule.java 2.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /* *******************************************************************
  2. * Copyright (c) 1999-2001 Xerox Corporation,
  3. * 2002 Palo Alto Research Center, Incorporated (PARC).
  4. * All rights reserved.
  5. * This program and the accompanying materials are made available
  6. * under the terms of the Eclipse Public License v1.0
  7. * which accompanies this distribution and is available at
  8. * http://www.eclipse.org/legal/epl-v10.html
  9. *
  10. * Contributors:
  11. * Xerox/PARC initial implementation
  12. * ******************************************************************/
  13. package org.aspectj.internal.tools.ant.taskdefs;
  14. import java.io.File;
  15. import java.util.Arrays;
  16. import org.apache.tools.ant.Project;
  17. import org.aspectj.internal.tools.build.BuildSpec;
  18. import org.aspectj.internal.tools.build.Builder;
  19. import org.aspectj.internal.tools.build.Util;
  20. public class TestBuildModule {
  21. // private static boolean REBUILD = false;
  22. private static final String SYNTAX = "java {classname} <[product|module]dir>";
  23. public static void main(String[] args) {
  24. if ((null == args) || (1 > args.length)
  25. || !Util.canReadDir(new File(args[0]))) {
  26. System.err.println(SYNTAX);
  27. return;
  28. }
  29. File dir = new File(args[0]);
  30. // create a module
  31. if (Util.canReadDir(new File(dir, "dist"))) {
  32. createProduct(args);
  33. } else if (Util.canReadFile(new File(dir, ".classpath"))) {
  34. createModule(args);
  35. } else {
  36. System.err.println(SYNTAX);
  37. }
  38. }
  39. static void createModule(String[] args) {
  40. File moduleDir = new File(args[0]);
  41. File baseDir = moduleDir.getParentFile();
  42. if (null == baseDir) {
  43. baseDir = new File(".");
  44. }
  45. File jarDir = new File(baseDir, "aj-build-jars");
  46. if (!(Util.canReadDir(jarDir) || jarDir.mkdirs())) {
  47. System.err.println("createModule unable to create " + jarDir);
  48. return;
  49. }
  50. // set module dir or basedir plus module name
  51. BuildSpec buildSpec = new BuildSpec();
  52. buildSpec.moduleDir = moduleDir;
  53. buildSpec.jarDir = jarDir;
  54. buildSpec.verbose = true;
  55. buildSpec.failonerror = true;
  56. buildSpec.trimTesting = true;
  57. buildSpec.rebuild = true;
  58. File tempDir = null;
  59. Project project = new Project();
  60. project.setProperty("verbose", "true");
  61. project.setName("TestBuildModule.createModule" + Arrays.asList(args));
  62. Builder builder = AntBuilder.getBuilder("", project, tempDir);
  63. builder.build(buildSpec);
  64. }
  65. static void createProduct(String[] args) {
  66. throw new Error("unimplemented");
  67. }
  68. }