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;