patches for legacy option and property support... these things should go away "soon," but we need to provide some grace period first.
TBR: jgw
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@4519 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/src/com/google/gwt/dev/ArgHandlerOutDirDeprecated.java b/dev/core/src/com/google/gwt/dev/ArgHandlerOutDirDeprecated.java
new file mode 100644
index 0000000..13549a8
--- /dev/null
+++ b/dev/core/src/com/google/gwt/dev/ArgHandlerOutDirDeprecated.java
@@ -0,0 +1,35 @@
+/**
+ *
+ */
+package com.google.gwt.dev;
+
+import com.google.gwt.dev.util.arg.OptionOutDir;
+import com.google.gwt.util.tools.ArgHandlerOutDir;
+
+import java.io.File;
+
+/**
+ * Deprecated handler for -out options
+ */
+public class ArgHandlerOutDirDeprecated extends ArgHandlerOutDir {
+
+ OptionOutDir option;
+
+ public ArgHandlerOutDirDeprecated(OptionOutDir option) {
+ this.option = option;
+ }
+
+ public String getPurpose() {
+ return super.getPurpose() + " (deprecated)";
+ }
+
+ public boolean isUndocumented() {
+ return true;
+ }
+
+ @Override
+ public void setDir(File dir) {
+ option.setOutDir(dir);
+ }
+
+}
diff --git a/dev/core/src/com/google/gwt/dev/Compiler.java b/dev/core/src/com/google/gwt/dev/Compiler.java
index 7acdcfb..d41debd 100644
--- a/dev/core/src/com/google/gwt/dev/Compiler.java
+++ b/dev/core/src/com/google/gwt/dev/Compiler.java
@@ -86,6 +86,11 @@
return localWorkers;
}
+ @Deprecated
+ public File getOutDir() {
+ return linkOptions.getOutDir();
+ }
+
public File getWarDir() {
return linkOptions.getWarDir();
}
@@ -98,6 +103,11 @@
this.localWorkers = localWorkers;
}
+ @Deprecated
+ public void setOutDir(File outDir) {
+ linkOptions.setOutDir(outDir);
+ }
+
public void setWarDir(File outDir) {
linkOptions.setWarDir(outDir);
}
diff --git a/dev/core/src/com/google/gwt/dev/GWTShell.java b/dev/core/src/com/google/gwt/dev/GWTShell.java
index d623526..0344bdf 100644
--- a/dev/core/src/com/google/gwt/dev/GWTShell.java
+++ b/dev/core/src/com/google/gwt/dev/GWTShell.java
@@ -136,6 +136,13 @@
*/
GWTShell gwtShell = new GWTShell();
ArgProcessor argProcessor = new ArgProcessor(gwtShell.options, false, false);
+
+ // deprecated old property way to set outputs
+ if (System.getProperty("com.google.gwt.shell.outdir") != null) {
+ gwtShell.options.setOutDir(new File(System.getProperty("com.google.gwt.shell.outdir")));
+ gwtShell.options.setWorkDir(new File(System.getProperty("com.google.gwt.shell.outdir")));
+ }
+
if (argProcessor.processArgs(args)) {
gwtShell.run();
// Exit w/ success code.
diff --git a/dev/core/src/com/google/gwt/dev/HostedMode.java b/dev/core/src/com/google/gwt/dev/HostedMode.java
index 1d47fc3..c5da1d8 100644
--- a/dev/core/src/com/google/gwt/dev/HostedMode.java
+++ b/dev/core/src/com/google/gwt/dev/HostedMode.java
@@ -175,6 +175,7 @@
implements HostedModeOptions {
private File extraDir;
private int localWorkers;
+ private File outDir;
private ServletContainerLauncher scl;
private File warDir;
@@ -186,6 +187,11 @@
return localWorkers;
}
+ @Deprecated
+ public File getOutDir() {
+ return outDir;
+ }
+
public ServletContainerLauncher getServletContainerLauncher() {
return scl;
}
@@ -210,6 +216,11 @@
this.localWorkers = localWorkers;
}
+ @Deprecated
+ public void setOutDir(File outDir) {
+ this.outDir = outDir;
+ }
+
public void setServletContainerLauncher(ServletContainerLauncher scl) {
this.scl = scl;
}
diff --git a/dev/core/src/com/google/gwt/dev/Link.java b/dev/core/src/com/google/gwt/dev/Link.java
index e1a911e..a84e8cf 100644
--- a/dev/core/src/com/google/gwt/dev/Link.java
+++ b/dev/core/src/com/google/gwt/dev/Link.java
@@ -54,7 +54,7 @@
* Options for Link.
*/
public interface LinkOptions extends CompileTaskOptions, OptionExtraDir,
- OptionWarDir {
+ OptionWarDir, OptionOutDir /*deprecated*/ {
}
static class ArgProcessor extends CompileArgProcessor {
@@ -62,6 +62,7 @@
super(options);
registerHandler(new ArgHandlerExtraDir(options));
registerHandler(new ArgHandlerWarDir(options));
+ registerHandler(new ArgHandlerOutDirDeprecated(options));
}
@Override
@@ -78,6 +79,7 @@
private File extraDir;
private File warDir;
+ private File outDir;
public LinkOptionsImpl() {
}
@@ -90,6 +92,7 @@
super.copyFrom(other);
setExtraDir(other.getExtraDir());
setWarDir(other.getWarDir());
+ setOutDir(other.getOutDir());
}
public File getExtraDir() {
@@ -107,6 +110,16 @@
public void setWarDir(File warDir) {
this.warDir = warDir;
}
+
+ @Deprecated
+ public File getOutDir() {
+ return outDir;
+ }
+
+ @Deprecated
+ public void setOutDir(File outDir) {
+ this.outDir = outDir;
+ }
}
public static void legacyLink(TreeLogger logger, ModuleDef module,
@@ -148,6 +161,7 @@
* still implementation-dependent.
*/
final LinkOptions options = new LinkOptionsImpl();
+
if (new ArgProcessor(options).processArgs(args)) {
CompileTask task = new CompileTask() {
public boolean run(TreeLogger logger) throws UnableToCompleteException {
@@ -286,8 +300,13 @@
ArtifactSet artifacts = doLink(branch, linkerContext, precompilation,
resultFiles);
- doProduceOutput(branch, artifacts, linkerContext, module,
- options.getWarDir(), options.getExtraDir());
+ if (options.getOutDir() == null) {
+ doProduceOutput(branch, artifacts, linkerContext, module,
+ options.getWarDir(), options.getExtraDir());
+ } else {
+ doProduceLegacyOutput(branch, artifacts, linkerContext, module,
+ options.getOutDir());
+ }
}
return true;
}
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 0bccea5..ec764b3 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
@@ -175,7 +175,15 @@
//
String catBase = System.getProperty("catalina.base");
if (catBase == null) {
- catBase = generateDefaultCatalinaBase(logger, topWorkDir);
+ // we (briefly) supported catalina.base.create, so let's not cut support
+ // until the deprecated sunset
+ catBase = System.getProperty("catalina.base.create");
+ 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);
+ }
System.setProperty("catalina.base", catBase);
}