Use non-repackaged Jetty imports in codeserver Instead, changed the Google build to use jarjar. Change-Id: I67a21dcd948a7f782f1e1adc2cd692b6535bed0b Review-Link: https://gwt-review.googlesource.com/#/c/7841/
diff --git a/dev/BUILD b/dev/BUILD index fa19237..fe265e6 100644 --- a/dev/BUILD +++ b/dev/BUILD
@@ -22,6 +22,7 @@ default_visibility = [ "//third_party/java_src/gwt:__pkg__", "//third_party/java_src/gwt/legacy:__pkg__", + "//third_party/java_src/gwt/svn/trunk/dev/codeserver:__pkg__", "//third_party/java_src/gwt/svn/trunk/user:__pkg__", ], )
diff --git a/dev/codeserver/BUILD b/dev/codeserver/BUILD index dc4ba24..f163a98 100644 --- a/dev/codeserver/BUILD +++ b/dev/codeserver/BUILD
@@ -20,21 +20,13 @@ # released under various licenses, but Google owns the copyright licenses(["unencumbered"]) -package_group( - name = "friends", - packages = [ - "//java/com/google/gwt/dev/codeserver", - ], -) +subinclude("//third_party/java_src/gwt:build-macros") -package( - default_visibility = [ - ":friends", - ], -) - +# The codeserver jar, built the open source way. +# For GWT internal use only. +# It must be jarjar-ed and dependencies stripped before exposing to google3. java_library( - name = "codeserver", + name = "codeserver-bare", srcs = glob(["java/**/*.java"]), resources = glob([ "java/**/*.html", @@ -42,13 +34,32 @@ "java/**/*.js", ]), deps = [ - # approved dependencies (for open source code) + # dependencies for open source code (should match ant) + "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare", + "//third_party/java_src/gwt/svn/tools:dev_deps", + "//third_party/java_src/gwt/svn/tools:servlet_api_3", + ], +) + +# Repackaged codeserver for google3. +AugmentedJar( + name = "codeserver", + srcs = [], + added_jars = [ + ":libcodeserver-bare.jar", + ], + constraints = [], + dojarjar = 1, + export_deps = [ + # Dependencies for google3 (after jarjar). "//third_party/java_src/gwt:gwt-dev", "//third_party/java_src/gwt:gwt-dev-private", - # Codeserver is known to leak servlet_api_3 - dependents should be cautious + # The codeserver needs servlet_api_3. Be careful about adding dependencies. "//third_party/java_src/gwt/svn/tools:servlet_api_3", - "//third_party/java/json", # undeclared dependency of SourceMapConsumer. TODO: fix + # Undeclared dependency of SourceMapConsumer. TODO: fix + "//third_party/java/json", ], + visibility = ["//java/com/google/gwt/dev/codeserver:__pkg__"], ) # allow the top-level ant build to call us
diff --git a/dev/codeserver/build.xml b/dev/codeserver/build.xml index 3c523e4..fecc806 100755 --- a/dev/codeserver/build.xml +++ b/dev/codeserver/build.xml
@@ -5,30 +5,9 @@ <property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev.jar" /> - <!-- location of preprocessed source --> - <property name="src" value="${project.build}/src" /> - - <!-- - Nasty hack to fix the source code for the open source build. - Constraint: the code in the "java/" directory is how we want it inside Google. - But outside Google, Jetty is not repackaged, so we need to fix the import statements. - (The right way to do this is probably to repackage Jetty.) - --> - <target name="preprocess"> - <delete dir="${src}"/> - <mkdir dir="${src}"/> - <copy todir="${src}"> - <fileset dir="java"> - <include name="**/*.java"/> - </fileset> - </copy> - <replace dir="${src}" token="com.google.gwt.thirdparty.org.eclipse.jetty." - value="org.eclipse.jetty."/> - </target> - - <target name="compile" depends="preprocess"> + <target name="compile"> <mkdir dir="${javac.out}" /> - <gwt.javac srcdir="${src}"> + <gwt.javac srcdir="java"> <classpath> <pathelement location="${gwt.dev.jar}" /> </classpath> @@ -37,9 +16,9 @@ <target name="build" depends="compile" description="builds gwt-codeserver.jar"> <gwt.jar> - <fileset dir="${src}" /> <fileset dir="${javac.out}"/> <fileset dir="java"> + <include name="**/*.java"/> <include name="**/*.html"/> <include name="**/*.ico"/> <include name="**/*.js"/>
diff --git a/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java b/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java index 8dd8da9..6e0f74e 100644 --- a/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java +++ b/dev/codeserver/java/com/google/gwt/dev/codeserver/WebServer.java
@@ -20,15 +20,16 @@ import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.dev.json.JsonArray; import com.google.gwt.dev.json.JsonObject; -import com.google.gwt.thirdparty.org.eclipse.jetty.http.MimeTypes; -import com.google.gwt.thirdparty.org.eclipse.jetty.io.Buffer; -import com.google.gwt.thirdparty.org.eclipse.jetty.server.AbstractHttpConnection; -import com.google.gwt.thirdparty.org.eclipse.jetty.server.Request; -import com.google.gwt.thirdparty.org.eclipse.jetty.server.Server; -import com.google.gwt.thirdparty.org.eclipse.jetty.server.nio.SelectChannelConnector; -import com.google.gwt.thirdparty.org.eclipse.jetty.servlet.ServletContextHandler; -import com.google.gwt.thirdparty.org.eclipse.jetty.servlet.ServletHolder; -import com.google.gwt.thirdparty.org.eclipse.jetty.servlets.GzipFilter; + +import org.eclipse.jetty.http.MimeTypes; +import org.eclipse.jetty.io.Buffer; +import org.eclipse.jetty.server.AbstractHttpConnection; +import org.eclipse.jetty.server.Request; +import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.nio.SelectChannelConnector; +import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.servlets.GzipFilter; import java.io.BufferedReader; import java.io.File;