]> source.dussan.org Git - aspectj.git/commitdiff
fix for Bugzilla Bug 58681
authoracolyer <acolyer>
Tue, 27 Jul 2004 15:44:24 +0000 (15:44 +0000)
committeracolyer <acolyer>
Tue, 27 Jul 2004 15:44:24 +0000 (15:44 +0000)
  -X should output available -X options

org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/AjdtCommand.java
org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java
org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties
org.aspectj.ajdt.core/src/org/aspectj/tools/ajc/Main.java
org.aspectj.ajdt.core/testsrc/EajcModuleTests.java
org.aspectj.ajdt.core/testsrc/org/aspectj/tools/ajc/MainTest.java

index a04231cd23d3c11f75894d1f821276f801ce0319..080192767412ad71995fdd95c95e59a1b5dbd1ff 100644 (file)
@@ -44,9 +44,15 @@ public class AjdtCommand implements ICommand {
                savedArgs = new String[args.length];
         System.arraycopy(args, 0, savedArgs, 0, savedArgs.length);
         for (int i = 0; i < args.length; i++) {
-            if ("-help".equals(args[i])) {
-                // should be info, but handler usually suppresses
-                MessageUtil.abort(handler, BuildArgParser.getUsage());
+// AMC - PR58681. No need to abort on -help as the Eclipse compiler does the right thing.
+//            if ("-help".equals(args[i])) {
+//                // should be info, but handler usually suppresses
+//                MessageUtil.abort(handler, BuildArgParser.getUsage());
+//                return true;
+//            } else 
+               if ("-X".equals(args[i])) {
+                // should be info, but handler usually suppresses
+                MessageUtil.abort(handler, BuildArgParser.getXOptionUsage());
                 return true;
             }
         }
index d010975a4cb653f55a3332660b1d18cffd4177db..3d795f25f10ad23ed3f9a915c7749c5fd0cdc883 100644 (file)
@@ -50,6 +50,10 @@ public class BuildArgParser extends Main {
         return Main.bind("misc.usage");
     }
     
+    public static String getXOptionUsage() {
+       return Main.bind("xoption.usage");
+    }
+    
     /** 
      * StringWriter sink for some errors.
      * This only captures errors not handled by any IMessageHandler parameter
@@ -557,7 +561,7 @@ public class BuildArgParser extends Main {
                        handler.handleMessage(errorMessage);
 //            MessageUtil.warn(handler, message);
         }
-
+               
                protected File makeFile(File dir, String name) {
                        name = name.replace('/', File.separatorChar);
                        File ret = new File(name);
index 29c7020b782a1044ccd5bd1abaab756c72a96296..90c52723497cccecf850cc8deb54c33c1a4c44f1 100644 (file)
@@ -36,6 +36,7 @@ AspectJ-specific options:\n\
 \t                    (<level> may be ignore, warning, or error)\n\
 \t-Xlintfile <file>   specify properties file to set per-message levels\n\
 \t                    (cf org/aspectj/weaver/XlintDefault.properties)\n\
+\t-X                  print help on non-standard options\n\
 \n\
 Standard Eclipse compiler options:\n\
 \ Options enabled by default are prefixed with ''+''\n\
@@ -115,8 +116,17 @@ Standard Eclipse compiler options:\n\
 \    -v -version        print compiler version\n\
 \    -showversion       print compiler version and continue\n
 
+xoption.usage = {compiler.name} non-standard options:\n\
+\n\
+\t-XnoInline          don't inline advice\n\
+\t-XlazyTjp           create thisJoinPoint objects lazily\n\
+\t-Xreweavable        create class files that can be subsequently rewoven\n\
+\t                    by AspectJ\n\
+\t-Xreweavable:compress as above, but also compress the reweaving information\n\
+\t-XnoWeave           compile classes but do not weave. Deprecated, use\n\
+\t                    reweavable instead.\n
 ## options not documented above (per ..ajdt.ajc.BuildArgParser.java):
-# -XincrementalFile, -XnoWeave, -XserializableAspects, -XnoInline, -Xreweavable[:compress]
+# -XincrementalFile, -XjavadocsInModel
 
 ###############################################################################
 # Copyright (c) 2000, 2004 IBM Corporation and others.
index 600962c2064d51df4c03799f060c4fc729ecf894..de78dbae0f0c79024a638a4d442d5abd5494b308 100644 (file)
@@ -260,7 +260,7 @@ public class Main {
      */
     public void run(String[] args, IMessageHolder holder) {
         if (LangUtil.isEmpty(args)) {
-            args = new String[] { "-help" };
+            args = new String[] { "-?" };
         }  else if (controller.running()) {
             fail(holder, "already running with controller: " + controller, null);
             return;
index d2347fd87579e38ff056a7ca6f32e8ecdc968a33..4d342ce4b6840ec4b33dfbea09e9acb19f08f7d8 100644 (file)
@@ -14,6 +14,7 @@
 
 // default package
 
+
 import junit.framework.*;
 import junit.framework.Test;
 
@@ -24,6 +25,7 @@ public class EajcModuleTests extends TestCase {
         suite.addTest(org.aspectj.ajdt.ajc.AjdtAjcTests.suite()); 
         suite.addTest(org.aspectj.ajdt.internal.compiler.batch.AjdtBatchTests.suite()); 
         suite.addTest(org.aspectj.ajdt.internal.core.builder.AjdtBuilderTests.suite()); 
+        suite.addTestSuite(org.aspectj.tools.ajc.MainTest.class);
         return suite;
     }
 
index 29d64c27cb96b7c03824395402c8211bb9088230..13d7216dde2c33724cf471221cf10a8f8d75b5e7 100644 (file)
@@ -20,14 +20,16 @@ import junit.framework.TestCase;
  * 
  */
 public class MainTest extends TestCase {
-
+       
     public void testMainbare() {
         ArrayList list = new ArrayList();
-        Main.bareMain(new String[] {"-help"}, false, list, null, null, null);
-        assertTrue(1 == list.size());
-        Object o = list.get(0);
+// Usage now printed by Eclipse compiler so doesn't appear here in our message list
+//        Main.bareMain(new String[] {"-help"}, false, list, null, null, null);
+//        assertTrue(1 == list.size());
+        Main.bareMain(new String[] {"-X"}, false, list, null, null, null);
+        assertTrue(1 == list.size());        Object o = list.get(0);
         assertTrue(o instanceof String);
-        assertTrue(-1 != ((String)o).indexOf("-aspectpath"));
-        assertTrue(-1 != ((String)o).indexOf("-incremental"));
+//        assertTrue(-1 != ((String)o).indexOf("-aspectpath"));
+//        assertTrue(-1 != ((String)o).indexOf("-incremental"));
     }
 }