Reviewers: jat, jlabanca, amitmanjhi, Message: Some explanatory notes added.
http://gwt-code-reviews.appspot.com/361801/diff/1/2 File dev/core/src/com/google/gwt/dev/Compiler.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/2#newcode176 dev/core/src/com/google/gwt/dev/Compiler.java:176: public boolean run(TreeLogger logger, ModuleDef... modules) Allows compiling specific already-loaded modules, rather than having to use options. http://gwt-code-reviews.appspot.com/361801/diff/1/3 File dev/core/src/com/google/gwt/dev/DevMode.java (left): http://gwt-code-reviews.appspot.com/361801/diff/1/3#oldcode197 dev/core/src/com/google/gwt/dev/DevMode.java:197: private File outDir; Now when used with ArgHandlerOutDirDeprecated, it will actually do the right thing, which is to be a synonym for -war. http://gwt-code-reviews.appspot.com/361801/diff/1/3 File dev/core/src/com/google/gwt/dev/DevMode.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/3#newcode53 dev/core/src/com/google/gwt/dev/DevMode.java:53: public class DevMode extends DevModeBase implements RestartServerCallback { Exposing a few things for reuse by JUnitShell. http://gwt-code-reviews.appspot.com/361801/diff/1/4 File dev/core/src/com/google/gwt/dev/DevModeBase.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/4#newcode65 dev/core/src/com/google/gwt/dev/DevModeBase.java:65: public abstract class DevModeBase implements DoneCallback { Exposing a few things for reuse by JUnitShell. Had to add some doc for checkstyle. http://gwt-code-reviews.appspot.com/361801/diff/1/5 File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/5#newcode552 dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java:552: protected JettyServletContainer createServletContainer(TreeLogger logger, Exposed some hooks so that JUnitShell can override to get access. http://gwt-code-reviews.appspot.com/361801/diff/1/7 File eclipse/user/.classpath (right): http://gwt-code-reviews.appspot.com/361801/diff/1/7#newcode34 eclipse/user/.classpath:34: <classpathentry kind="var" path="GWT_TOOLS/lib/jetty/jetty-6.1.11.jar" sourcepath="/GWT_TOOLS/lib/jetty/jetty-6.1.11-src.zip"/> gwt-dev.jar bundles Jetty, but the gwt-dev Eclipse project doesn't "export" its symbols, so I'm just manually referencing it here as per existing patterns. http://gwt-code-reviews.appspot.com/361801/diff/1/8 File user/build.xml (left): http://gwt-code-reviews.appspot.com/361801/diff/1/8#oldcode43 user/build.xml:43: <property name="gwt.junit.testcase.noserver.excludes" value="" /> The "-noserver" feature in JUnit no longer makes any sense; it was only testing what the new DevMode-based implementation does naturally. http://gwt-code-reviews.appspot.com/361801/diff/1/10 File user/src/com/google/gwt/junit/JUnitShell.java (left): http://gwt-code-reviews.appspot.com/361801/diff/1/10#oldcode990 user/src/com/google/gwt/junit/JUnitShell.java:990: protected boolean shouldAutoGenerateResources() { Not needed anymore; -noserver is gone since we always do a proper link. http://gwt-code-reviews.appspot.com/361801/diff/1/10#oldcode1033 user/src/com/google/gwt/junit/JUnitShell.java:1033: void setHeadlessAccessor(boolean headlessMode) { No longer necessary with the visibility change to DevModeBase. http://gwt-code-reviews.appspot.com/361801/diff/1/10 File user/src/com/google/gwt/junit/JUnitShell.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/10#newcode124 user/src/com/google/gwt/junit/JUnitShell.java:124: class ArgProcessor extends ArgProcessorBase { It turned out to be way more complicated than it was worth to try to extend DevMode.ArgProcessor, yet disable exactly the options we don't want. It seemed simpler to me to simply enumerate here exactly what options JUnitShell supports. http://gwt-code-reviews.appspot.com/361801/diff/1/10#newcode749 user/src/com/google/gwt/junit/JUnitShell.java:749: * <<<<<<< HEAD ======= Our server's web app context; used to dynamically add Whoops, will fix merge gunk. :) http://gwt-code-reviews.appspot.com/361801/diff/1/11 File user/test/com/google/gwt/core/ext/test/XSLinkerTest.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/11#newcode24 user/test/com/google/gwt/core/ext/test/XSLinkerTest.java:24: @DoNotRunWith(Platform.Devel) This was always a cheat anyway, because GWTShellServlet used the HostedModeLinker, which is basically IFrameLinker. So it never really tested XS in dev mode, which doesn't work anyhow. http://gwt-code-reviews.appspot.com/361801/diff/1/12 File user/test/com/google/gwt/dev/jjs/RunAsyncFailure.gwt.xml (right): http://gwt-code-reviews.appspot.com/361801/diff/1/12#newcode18 user/test/com/google/gwt/dev/jjs/RunAsyncFailure.gwt.xml:18: <servlet path="/runAsyncFailure/*" These servlet rules were all taking advantage of inexact path mapping from GWTShellServlet. The servlet spec is that without the wildcard, you only match on exact path. Same for the other *Test.gwt.xml changes. http://gwt-code-reviews.appspot.com/361801/diff/1/15 File user/test/com/google/gwt/http/server/RequestBuilderTestServlet.java (right): http://gwt-code-reviews.appspot.com/361801/diff/1/15#newcode34 user/test/com/google/gwt/http/server/RequestBuilderTestServlet.java:34: return "/"; Servlets are now properly mounted and pathed as a real web server; before, GWTShellServlet would get every single call at the root path and manually delegate to the appropriate servlet, but it failed to fix up request.getPathInfo() to be relative to the servlet's mount point, as per the spec. Now that I look at this, I think I should have just inlined and constant-folded this method into the call sites. Description: GWTShell has been deprecated for a long, long time. We'd like to kill it. But before we can do that, we need to reimplement JUnitShell to use DevMode instead of GWTShell. This change does just that. Please review this at http://gwt-code-reviews.appspot.com/361801/show Affected files: M dev/core/src/com/google/gwt/dev/Compiler.java M dev/core/src/com/google/gwt/dev/DevMode.java M dev/core/src/com/google/gwt/dev/DevModeBase.java M dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java M dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerWarDir.java M eclipse/user/.classpath M user/build.xml M user/src/com/google/gwt/junit/CompileStrategy.java M user/src/com/google/gwt/junit/JUnitShell.java M user/test/com/google/gwt/core/ext/test/XSLinkerTest.java M user/test/com/google/gwt/dev/jjs/RunAsyncFailure.gwt.xml M user/test/com/google/gwt/http/RequestBuilderTest.gwt.xml M user/test/com/google/gwt/http/ResponseTest.gwt.xml M user/test/com/google/gwt/http/server/RequestBuilderTestServlet.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
