Allows DevMode to respect the -XdisableUpdateCheck option.

Review at http://gwt-code-reviews.appspot.com/1400803


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9936 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/DevMode.java b/dev/core/src/com/google/gwt/dev/DevMode.java
index 0acd4e4..c4c9cb2 100644
--- a/dev/core/src/com/google/gwt/dev/DevMode.java
+++ b/dev/core/src/com/google/gwt/dev/DevMode.java
@@ -33,6 +33,7 @@
 import com.google.gwt.dev.util.OutputFileSetOnDirectory;
 import com.google.gwt.dev.util.Util;
 import com.google.gwt.dev.util.arg.ArgHandlerDeployDir;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
 import com.google.gwt.dev.util.arg.ArgHandlerExtraDir;
 import com.google.gwt.dev.util.arg.ArgHandlerModuleName;
 import com.google.gwt.dev.util.arg.ArgHandlerWarDir;
@@ -180,6 +181,7 @@
       registerHandler(new ArgHandlerDeployDir(options));
       registerHandler(new ArgHandlerExtraDir(options));
       registerHandler(new ArgHandlerWorkDirOptional(options));
+      registerHandler(new ArgHandlerDisableUpdateCheck(options));
       registerHandler(new ArgHandlerModuleName(options) {
         @Override
         public String getPurpose() {
diff --git a/dev/core/src/com/google/gwt/dev/DevModeBase.java b/dev/core/src/com/google/gwt/dev/DevModeBase.java
index c6adee2..fd42d60 100644
--- a/dev/core/src/com/google/gwt/dev/DevModeBase.java
+++ b/dev/core/src/com/google/gwt/dev/DevModeBase.java
@@ -43,6 +43,7 @@
 import com.google.gwt.dev.util.arg.ArgHandlerEnableGeneratorResultCaching;
 import com.google.gwt.dev.util.arg.ArgHandlerGenDir;
 import com.google.gwt.dev.util.arg.ArgHandlerLogLevel;
+import com.google.gwt.dev.util.arg.OptionDisableUpdateCheck;
 import com.google.gwt.dev.util.arg.OptionGenDir;
 import com.google.gwt.dev.util.arg.OptionLogLevel;
 import com.google.gwt.dev.util.log.speedtracer.DevModeEventType;
@@ -452,7 +453,7 @@
    */
   protected interface HostedModeBaseOptions extends JJSOptions, OptionLogDir, OptionLogLevel,
       OptionGenDir, OptionNoServer, OptionPort, OptionCodeServerPort, OptionStartupURLs,
-      OptionRemoteUI, OptionBindAddress {
+      OptionRemoteUI, OptionBindAddress, OptionDisableUpdateCheck {
   }
 
   /**
@@ -893,18 +894,20 @@
     ui.setCallback(DoneEvent.getType(), this);
 
     // Check for updates
-    final TreeLogger logger = getTopLogger();
-    final CheckForUpdates updateChecker = CheckForUpdates.createUpdateChecker(logger);
-    if (updateChecker != null) {
-      Thread checkerThread = new Thread("GWT Update Checker") {
-        @Override
-        public void run() {
-          CheckForUpdates
-              .logUpdateAvailable(logger, updateChecker.check(checkForUpdatesInterval()));
-        }
-      };
-      checkerThread.setDaemon(true);
-      checkerThread.start();
+    if (!options.isUpdateCheckDisabled()) {
+      final TreeLogger logger = getTopLogger();
+      final CheckForUpdates updateChecker = CheckForUpdates.createUpdateChecker(logger);
+      if (updateChecker != null) {
+        Thread checkerThread = new Thread("GWT Update Checker") {
+          @Override
+          public void run() {
+            CheckForUpdates.logUpdateAvailable(logger, updateChecker
+                .check(checkForUpdatesInterval()));
+          }
+        };
+        checkerThread.setDaemon(true);
+        checkerThread.start();
+      }
     }
 
     // Accept connections from OOPHM clients
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
index 6b58684..77339ff 100644
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ b/dev/core/src/com/google/gwt/dev/GWTShell.java
@@ -24,6 +24,7 @@
 import com.google.gwt.dev.shell.WorkDirs;
 import com.google.gwt.dev.shell.tomcat.EmbeddedTomcatServer;
 import com.google.gwt.dev.util.OutputFileSetOnDirectory;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
 import com.google.gwt.dev.util.arg.ArgHandlerOutDir;
 import com.google.gwt.util.tools.ArgHandlerExtra;
 
@@ -77,6 +78,7 @@
         registerHandler(new ArgHandlerStartupURLsExtra(options));
       }
       registerHandler(new ArgHandlerOutDir(options));
+      registerHandler(new ArgHandlerDisableUpdateCheck(options));
     }
 
     @Override
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index c82dac9..973b21e 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -38,6 +38,7 @@
 import com.google.gwt.dev.util.arg.ArgHandlerDisableCastChecking;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableClassMetadata;
 import com.google.gwt.dev.util.arg.ArgHandlerDisableRunAsync;
+import com.google.gwt.dev.util.arg.ArgHandlerDisableUpdateCheck;
 import com.google.gwt.dev.util.arg.ArgHandlerDraftCompile;
 import com.google.gwt.dev.util.arg.ArgHandlerEnableAssertions;
 import com.google.gwt.dev.util.arg.ArgHandlerEnableGeneratorResultCaching;
@@ -187,6 +188,7 @@
       registerHandler(new ArgHandlerDisableClassMetadata(options));
       registerHandler(new ArgHandlerDisableCastChecking(options));
       registerHandler(new ArgHandlerDisableRunAsync(options));
+      registerHandler(new ArgHandlerDisableUpdateCheck(options));
       registerHandler(new ArgHandlerDraftCompile(options));
       registerHandler(new ArgHandlerEnableGeneratorResultCaching(options));
       registerHandler(new ArgHandlerMaxPermsPerPrecompile(options));