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;