Add citc support to Super Dev Mode


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11527 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
index 758f645..81f4ace 100644
--- a/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
+++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/Options.java
@@ -39,6 +39,7 @@
   private boolean noPrecompile = false;
   private File workDir;
   private List<String> moduleNames = new ArrayList<String>();
+  private boolean allowMissingSourceDir = false;
   private final List<File> sourcePath = new ArrayList<File>();
   private String bindAddress = "127.0.0.1";
   private String preferredHost = "localhost";
@@ -106,6 +107,7 @@
       registerHandler(new BindAddressFlag());
       registerHandler(new PortFlag());
       registerHandler(new WorkDirFlag());
+      registerHandler(new AllowMissingSourceDirFlag());
       registerHandler(new SourceFlag());
       registerHandler(new ModuleNameArgument());
     }
@@ -117,7 +119,7 @@
 
   }
 
-  public class NoPrecompileFlag extends ArgHandlerFlag {
+  private class NoPrecompileFlag extends ArgHandlerFlag {
 
     @Override
     public String getTag() {
@@ -217,6 +219,25 @@
     }
   }
 
+  private class AllowMissingSourceDirFlag extends ArgHandlerFlag {
+
+    @Override
+    public String getTag() {
+      return "-allowMissingSrc";
+    }
+
+    @Override
+    public String getPurpose() {
+      return "Disables the directory existence check for -src flags.";
+    }
+
+    @Override
+    public boolean setFlag() {
+      allowMissingSourceDir = true;
+      return true;
+    }
+  }
+
   private class SourceFlag extends ArgHandler {
 
     @Override
@@ -242,7 +263,7 @@
       }
 
       File candidate = new File(args[startIndex + 1]);
-      if (!candidate.isDirectory()) {
+      if (!allowMissingSourceDir && !candidate.isDirectory()) {
         System.err.println("not a directory: " + candidate);
         return -1;
       }