Merge of c4609 from branches/snapshot-2009.01.29.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@4653 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
index 0344bdf..338815e 100644
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ b/dev/core/src/com/google/gwt/dev/GWTShell.java
@@ -112,6 +112,9 @@
 
     @Override
     public File getWorkDir() {
+      if (System.getProperty("com.google.gwt.shell.outdir") != null) {
+        return new File(System.getProperty("com.google.gwt.shell.outdir"));
+      }
       return new File(getOutDir(), ".gwt-tmp");
     }
 
diff --git a/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java b/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java
index ec764b3..cfa4972 100644
--- a/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java
+++ b/dev/core/src/com/google/gwt/dev/shell/tomcat/EmbeddedTomcatServer.java
@@ -181,9 +181,9 @@
       if (catBase != null) {
         logger.log(TreeLogger.WARN, "catalina.base.create is deprecated.  " +
             "Use catalina.base, and it will be created if necessary.");
-      } else {
-        catBase = generateDefaultCatalinaBase(logger, topWorkDir);
+        topWorkDir = new File(catBase);
       }
+      catBase = generateDefaultCatalinaBase(logger, topWorkDir);
       System.setProperty("catalina.base", catBase);
     }