Dissolve gerrit-gwtexpui top-level directory

Change-Id: I7c3bd0a514dab68bf7875104ea3ac8e726624480
diff --git a/gerrit-gwtexpui/BUILD b/gerrit-gwtexpui/BUILD
deleted file mode 100644
index a9a2e48..0000000
--- a/gerrit-gwtexpui/BUILD
+++ /dev/null
@@ -1,118 +0,0 @@
-load("//tools/bzl:gwt.bzl", "gwt_module")
-load("//tools/bzl:junit.bzl", "junit_tests")
-
-SRC = "src/main/java/com/google/gwtexpui/"
-
-gwt_module(
-    name = "Clippy",
-    srcs = glob([SRC + "clippy/client/*.java"]),
-    data = [
-        "//lib:LICENSE-clippy",
-        "//lib:LICENSE-silk_icons",
-    ],
-    gwt_xml = SRC + "clippy/Clippy.gwt.xml",
-    resources = [
-        SRC + "clippy/client/clippy.css",
-        SRC + "clippy/client/clippy.swf",
-        SRC + "clippy/client/page_white_copy.png",
-        SRC + "clippy/client/CopyableLabelText.properties",
-    ],
-    visibility = ["//visibility:public"],
-    deps = [
-        ":SafeHtml",
-        ":UserAgent",
-        "//lib/gwt:user-neverlink",
-    ],
-)
-
-java_library(
-    name = "CSS",
-    srcs = glob([SRC + "css/rebind/*.java"]),
-    resources = [SRC + "css/CSS.gwt.xml"],
-    visibility = ["//visibility:public"],
-    deps = ["//lib/gwt:dev"],
-)
-
-gwt_module(
-    name = "GlobalKey",
-    srcs = glob([SRC + "globalkey/client/*.java"]),
-    gwt_xml = SRC + "globalkey/GlobalKey.gwt.xml",
-    resources = [
-        SRC + "globalkey/client/KeyConstants.properties",
-        SRC + "globalkey/client/key.css",
-    ],
-    visibility = ["//visibility:public"],
-    deps = [
-        ":SafeHtml",
-        ":UserAgent",
-        "//lib/gwt:user",
-    ],
-)
-
-java_library(
-    name = "linker_server",
-    srcs = glob([SRC + "linker/server/*.java"]),
-    visibility = ["//visibility:public"],
-    deps = ["//lib:servlet-api-3_1"],
-)
-
-gwt_module(
-    name = "Progress",
-    srcs = glob([SRC + "progress/client/*.java"]),
-    gwt_xml = SRC + "progress/Progress.gwt.xml",
-    resources = [SRC + "progress/client/progress.css"],
-    visibility = ["//visibility:public"],
-    deps = ["//lib/gwt:user"],
-)
-
-gwt_module(
-    name = "SafeHtml",
-    srcs = glob([SRC + "safehtml/client/*.java"]),
-    gwt_xml = SRC + "safehtml/SafeHtml.gwt.xml",
-    resources = [SRC + "safehtml/client/safehtml.css"],
-    visibility = ["//visibility:public"],
-    deps = ["//lib/gwt:user"],
-)
-
-junit_tests(
-    name = "SafeHtml_tests",
-    srcs = glob([
-        "src/test/java/com/google/gwtexpui/safehtml/client/**/*.java",
-    ]),
-    deps = [
-        ":SafeHtml",
-        "//lib:truth",
-        "//lib/gwt:dev",
-        "//lib/gwt:user",
-    ],
-)
-
-gwt_module(
-    name = "UserAgent",
-    srcs = glob([SRC + "user/client/*.java"]),
-    gwt_xml = SRC + "user/User.gwt.xml",
-    resources = [SRC + "user/client/tooltip.css"],
-    visibility = ["//visibility:public"],
-    deps = ["//lib/gwt:user"],
-)
-
-java_library(
-    name = "server",
-    srcs = glob([SRC + "server/*.java"]),
-    visibility = ["//visibility:public"],
-    deps = ["//lib:servlet-api-3_1"],
-)
-
-java_library(
-    name = "client-src-lib",
-    srcs = [],
-    resources = glob(
-        [SRC + n for n in [
-            "clippy/**/*",
-            "globalkey/**/*",
-            "safehtml/**/*",
-            "user/**/*",
-        ]],
-    ),
-    visibility = ["//visibility:public"],
-)
diff --git a/gerrit-gwtexpui/COPYING b/gerrit-gwtexpui/COPYING
deleted file mode 100644
index d645695..0000000
--- a/gerrit-gwtexpui/COPYING
+++ /dev/null
@@ -1,202 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/gerrit-gwtui-common/BUILD b/gerrit-gwtui-common/BUILD
index 46262d6..d3bee50 100644
--- a/gerrit-gwtui-common/BUILD
+++ b/gerrit-gwtui-common/BUILD
@@ -4,11 +4,11 @@
 
 EXPORTED_DEPS = [
     "//gerrit-common:client",
-    "//gerrit-gwtexpui:Clippy",
-    "//gerrit-gwtexpui:GlobalKey",
-    "//gerrit-gwtexpui:Progress",
-    "//gerrit-gwtexpui:SafeHtml",
-    "//gerrit-gwtexpui:UserAgent",
+    "//java/com/google/gwtexpui/clippy",
+    "//java/com/google/gwtexpui/globalkey",
+    "//java/com/google/gwtexpui/progress",
+    "//java/com/google/gwtexpui/safehtml",
+    "//java/com/google/gwtexpui/user:agent",
 ]
 
 DEPS = ["//lib/gwt:user-neverlink"]
diff --git a/gerrit-httpd/BUILD b/gerrit-httpd/BUILD
index a26f844..286cadb 100644
--- a/gerrit-httpd/BUILD
+++ b/gerrit-httpd/BUILD
@@ -18,8 +18,6 @@
     deps = [
         "//gerrit-common:annotations",
         "//gerrit-common:server",
-        "//gerrit-gwtexpui:linker_server",
-        "//gerrit-gwtexpui:server",
         "//gerrit-index:query_exception",
         "//gerrit-launcher:launcher",
         "//gerrit-prettify:server",
@@ -30,6 +28,8 @@
         "//gerrit-util-http:http",
         "//java/com/google/gerrit/extensions:api",
         "//java/com/google/gerrit/reviewdb:server",
+        "//java/com/google/gwtexpui/linker:server",
+        "//java/com/google/gwtexpui/server",
         "//java/org/eclipse/jgit:server",
         "//lib:args4j",
         "//lib:gson",
diff --git a/gerrit-openid/BUILD b/gerrit-openid/BUILD
index 9787dad..edd5da0 100644
--- a/gerrit-openid/BUILD
+++ b/gerrit-openid/BUILD
@@ -8,7 +8,7 @@
         "//gerrit-common:annotations",
         "//gerrit-common:server",
         "//java/com/google/gerrit/extensions:api",
-        "//gerrit-gwtexpui:server",
+        "//java/com/google/gwtexpui/server",
         "//gerrit-httpd:httpd",
         "//java/com/google/gerrit/reviewdb:server",
         "//gerrit-server:server",
diff --git a/gerrit-pgm/BUILD b/gerrit-pgm/BUILD
index 1827a4de..c4da9cb 100644
--- a/gerrit-pgm/BUILD
+++ b/gerrit-pgm/BUILD
@@ -12,8 +12,8 @@
     "//gerrit-common:annotations",
     "//gerrit-common:server",
     "//java/com/google/gerrit/extensions:api",
-    "//gerrit-gwtexpui:linker_server",
-    "//gerrit-gwtexpui:server",
+    "//java/com/google/gwtexpui/linker:server",
+    "//java/com/google/gwtexpui/server",
     "//gerrit-httpd:httpd",
     "//gerrit-server:server",
     "//gerrit-sshd:sshd",
diff --git a/gerrit-plugin-api/BUILD b/gerrit-plugin-api/BUILD
index 72f9ff9..cd961e2 100644
--- a/gerrit-plugin-api/BUILD
+++ b/gerrit-plugin-api/BUILD
@@ -12,7 +12,7 @@
     "//gerrit-common:annotations",
     "//gerrit-common:server",
     "//java/com/google/gerrit/extensions:api",
-    "//gerrit-gwtexpui:server",
+    "//java/com/google/gwtexpui/server",
     "//gerrit-server:metrics",
     "//java/com/google/gerrit/reviewdb:server",
     "//prolog:gerrit-prolog-common",
@@ -76,7 +76,6 @@
     visibility = ["//visibility:public"],
     runtime_deps = [
         "//gerrit-common:libannotations-src.jar",
-        "//gerrit-gwtexpui:libserver-src.jar",
         "//gerrit-httpd:libhttpd-src.jar",
         "//gerrit-index:libquery_exception-src.jar",
         "//gerrit-index:libquery_parser-src.jar",
@@ -85,6 +84,7 @@
         "//gerrit-sshd:libsshd-src.jar",
         "//java/com/google/gerrit/extensions:libapi-src.jar",
         "//java/com/google/gerrit/reviewdb:libserver-src.jar",
+        "//java/com/google/gwtexpui/server:libserver-src.jar",
     ],
 )
 
@@ -98,7 +98,7 @@
         "//gerrit-common:annotations",
         "//gerrit-common:server",
         "//java/com/google/gerrit/extensions:api",
-        "//gerrit-gwtexpui:server",
+        "//java/com/google/gwtexpui/server",
         "//java/com/google/gerrit/reviewdb:server",
     ],
     pkgs = ["com.google.gerrit"],
diff --git a/gerrit-plugin-gwtui/BUILD b/gerrit-plugin-gwtui/BUILD
index d0c6fc0..65565ab 100644
--- a/gerrit-plugin-gwtui/BUILD
+++ b/gerrit-plugin-gwtui/BUILD
@@ -25,11 +25,11 @@
         "//java/com/google/gerrit/extensions:libclient-src.jar",
         "//java/org/eclipse/jgit:libclient-src.jar",
         "//java/org/eclipse/jgit:libEdit-src.jar",
-        "//gerrit-gwtexpui:libClippy-src.jar",
-        "//gerrit-gwtexpui:libGlobalKey-src.jar",
-        "//gerrit-gwtexpui:libProgress-src.jar",
-        "//gerrit-gwtexpui:libSafeHtml-src.jar",
-        "//gerrit-gwtexpui:libUserAgent-src.jar",
+        "//java/com/google/gwtexpui/clippy:libclippy-src.jar",
+        "//java/com/google/gwtexpui/globalkey:libglobalkey-src.jar",
+        "//java/com/google/gwtexpui/progress:libprogress-src.jar",
+        "//java/com/google/gwtexpui/safehtml:libsafehtml-src.jar",
+        "//java/com/google/gwtexpui/user:libagent-src.jar",
         "//gerrit-gwtui-common:libclient-src.jar",
         "//gerrit-prettify:libclient-src.jar",
         "//java/com/google/gerrit/reviewdb:libclient-src.jar",
@@ -51,8 +51,12 @@
     main_class = "Dummy",
     runtime_deps = [
         ":libgwtui-api-lib-src.jar",
-        "//gerrit-gwtexpui:client-src-lib",
         "//gerrit-gwtui-common:libclient-lib-src.jar",
+        "//java/com/google/gwtexpui/clippy:libclippy-src.jar",
+        "//java/com/google/gwtexpui/globalkey:libglobalkey-src.jar",
+        "//java/com/google/gwtexpui/progress:libprogress-src.jar",
+        "//java/com/google/gwtexpui/safehtml:libsafehtml-src.jar",
+        "//java/com/google/gwtexpui/user:libagent-src.jar",
     ],
 )
 
diff --git a/gerrit-prettify/BUILD b/gerrit-prettify/BUILD
index 4d82aed..13f4b89 100644
--- a/gerrit-prettify/BUILD
+++ b/gerrit-prettify/BUILD
@@ -8,9 +8,9 @@
         SRC + "common/**/*.java",
     ]),
     exported_deps = [
-        "//gerrit-gwtexpui:SafeHtml",
         "//java/com/google/gerrit/extensions:client",
         "//java/com/google/gerrit/reviewdb:client",
+        "//java/com/google/gwtexpui/safehtml",
         "//java/org/eclipse/jgit:Edit",
         "//java/org/eclipse/jgit:client",
         "//lib:gwtjsonrpc",
diff --git a/java/com/google/gwtexpui/clippy/BUILD b/java/com/google/gwtexpui/clippy/BUILD
new file mode 100644
index 0000000..80b6767
--- /dev/null
+++ b/java/com/google/gwtexpui/clippy/BUILD
@@ -0,0 +1,23 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+gwt_module(
+    name = "clippy",
+    srcs = glob(["client/*.java"]),
+    data = [
+        "//lib:LICENSE-clippy",
+        "//lib:LICENSE-silk_icons",
+    ],
+    gwt_xml = "Clippy.gwt.xml",
+    resources = [
+        "client/CopyableLabelText.properties",
+        "client/clippy.css",
+        "client/clippy.swf",
+        "client/page_white_copy.png",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//java/com/google/gwtexpui/safehtml",
+        "//java/com/google/gwtexpui/user:agent",
+        "//lib/gwt:user-neverlink",
+    ],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/Clippy.gwt.xml b/java/com/google/gwtexpui/clippy/Clippy.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/Clippy.gwt.xml
rename to java/com/google/gwtexpui/clippy/Clippy.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyCss.java b/java/com/google/gwtexpui/clippy/client/ClippyCss.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyCss.java
rename to java/com/google/gwtexpui/clippy/client/ClippyCss.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java b/java/com/google/gwtexpui/clippy/client/ClippyResources.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java
rename to java/com/google/gwtexpui/clippy/client/ClippyResources.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java b/java/com/google/gwtexpui/clippy/client/CopyableLabel.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java
rename to java/com/google/gwtexpui/clippy/client/CopyableLabel.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabelText.java b/java/com/google/gwtexpui/clippy/client/CopyableLabelText.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabelText.java
rename to java/com/google/gwtexpui/clippy/client/CopyableLabelText.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabelText.properties b/java/com/google/gwtexpui/clippy/client/CopyableLabelText.properties
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabelText.properties
rename to java/com/google/gwtexpui/clippy/client/CopyableLabelText.properties
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.css b/java/com/google/gwtexpui/clippy/client/clippy.css
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.css
rename to java/com/google/gwtexpui/clippy/client/clippy.css
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.swf b/java/com/google/gwtexpui/clippy/client/clippy.swf
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.swf
rename to java/com/google/gwtexpui/clippy/client/clippy.swf
Binary files differ
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/page_white_copy.png b/java/com/google/gwtexpui/clippy/client/page_white_copy.png
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/page_white_copy.png
rename to java/com/google/gwtexpui/clippy/client/page_white_copy.png
Binary files differ
diff --git a/java/com/google/gwtexpui/css/BUILD b/java/com/google/gwtexpui/css/BUILD
new file mode 100644
index 0000000..6c2fc71
--- /dev/null
+++ b/java/com/google/gwtexpui/css/BUILD
@@ -0,0 +1,9 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+java_library(
+    name = "css",
+    srcs = glob(["rebind/*.java"]),
+    resources = ["CSS.gwt.xml"],
+    visibility = ["//visibility:public"],
+    deps = ["//lib/gwt:dev"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/css/CSS.gwt.xml b/java/com/google/gwtexpui/css/CSS.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/css/CSS.gwt.xml
rename to java/com/google/gwtexpui/css/CSS.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/css/rebind/CssLinker.java b/java/com/google/gwtexpui/css/rebind/CssLinker.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/css/rebind/CssLinker.java
rename to java/com/google/gwtexpui/css/rebind/CssLinker.java
diff --git a/java/com/google/gwtexpui/globalkey/BUILD b/java/com/google/gwtexpui/globalkey/BUILD
new file mode 100644
index 0000000..c637194
--- /dev/null
+++ b/java/com/google/gwtexpui/globalkey/BUILD
@@ -0,0 +1,17 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+gwt_module(
+    name = "globalkey",
+    srcs = glob(["client/*.java"]),
+    gwt_xml = "GlobalKey.gwt.xml",
+    resources = [
+        "client/KeyConstants.properties",
+        "client/key.css",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [
+        "//java/com/google/gwtexpui/safehtml",
+        "//java/com/google/gwtexpui/user:agent",
+        "//lib/gwt:user",
+    ],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/GlobalKey.gwt.xml b/java/com/google/gwtexpui/globalkey/GlobalKey.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/GlobalKey.gwt.xml
rename to java/com/google/gwtexpui/globalkey/GlobalKey.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/CompoundKeyCommand.java b/java/com/google/gwtexpui/globalkey/client/CompoundKeyCommand.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/CompoundKeyCommand.java
rename to java/com/google/gwtexpui/globalkey/client/CompoundKeyCommand.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/DocWidget.java b/java/com/google/gwtexpui/globalkey/client/DocWidget.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/DocWidget.java
rename to java/com/google/gwtexpui/globalkey/client/DocWidget.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/GlobalKey.java b/java/com/google/gwtexpui/globalkey/client/GlobalKey.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/GlobalKey.java
rename to java/com/google/gwtexpui/globalkey/client/GlobalKey.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/HidePopupPanelCommand.java b/java/com/google/gwtexpui/globalkey/client/HidePopupPanelCommand.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/HidePopupPanelCommand.java
rename to java/com/google/gwtexpui/globalkey/client/HidePopupPanelCommand.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommand.java b/java/com/google/gwtexpui/globalkey/client/KeyCommand.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommand.java
rename to java/com/google/gwtexpui/globalkey/client/KeyCommand.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandFilter.java b/java/com/google/gwtexpui/globalkey/client/KeyCommandFilter.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandFilter.java
rename to java/com/google/gwtexpui/globalkey/client/KeyCommandFilter.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java b/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
rename to java/com/google/gwtexpui/globalkey/client/KeyCommandSet.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyConstants.java b/java/com/google/gwtexpui/globalkey/client/KeyConstants.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyConstants.java
rename to java/com/google/gwtexpui/globalkey/client/KeyConstants.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyConstants.properties b/java/com/google/gwtexpui/globalkey/client/KeyConstants.properties
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyConstants.properties
rename to java/com/google/gwtexpui/globalkey/client/KeyConstants.properties
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCss.java b/java/com/google/gwtexpui/globalkey/client/KeyCss.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyCss.java
rename to java/com/google/gwtexpui/globalkey/client/KeyCss.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyHelpPopup.java b/java/com/google/gwtexpui/globalkey/client/KeyHelpPopup.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyHelpPopup.java
rename to java/com/google/gwtexpui/globalkey/client/KeyHelpPopup.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyResources.java b/java/com/google/gwtexpui/globalkey/client/KeyResources.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/KeyResources.java
rename to java/com/google/gwtexpui/globalkey/client/KeyResources.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/NpTextArea.java b/java/com/google/gwtexpui/globalkey/client/NpTextArea.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/NpTextArea.java
rename to java/com/google/gwtexpui/globalkey/client/NpTextArea.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/NpTextBox.java b/java/com/google/gwtexpui/globalkey/client/NpTextBox.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/NpTextBox.java
rename to java/com/google/gwtexpui/globalkey/client/NpTextBox.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/ShowHelpCommand.java b/java/com/google/gwtexpui/globalkey/client/ShowHelpCommand.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/ShowHelpCommand.java
rename to java/com/google/gwtexpui/globalkey/client/ShowHelpCommand.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/key.css b/java/com/google/gwtexpui/globalkey/client/key.css
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/globalkey/client/key.css
rename to java/com/google/gwtexpui/globalkey/client/key.css
diff --git a/java/com/google/gwtexpui/linker/BUILD b/java/com/google/gwtexpui/linker/BUILD
new file mode 100644
index 0000000..5c5c600
--- /dev/null
+++ b/java/com/google/gwtexpui/linker/BUILD
@@ -0,0 +1,6 @@
+java_library(
+    name = "server",
+    srcs = glob(["server/*.java"]),
+    visibility = ["//visibility:public"],
+    deps = ["//lib:servlet-api-3_1"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/linker/server/UserAgentRule.java b/java/com/google/gwtexpui/linker/server/UserAgentRule.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/linker/server/UserAgentRule.java
rename to java/com/google/gwtexpui/linker/server/UserAgentRule.java
diff --git a/java/com/google/gwtexpui/progress/BUILD b/java/com/google/gwtexpui/progress/BUILD
new file mode 100644
index 0000000..74caa57
--- /dev/null
+++ b/java/com/google/gwtexpui/progress/BUILD
@@ -0,0 +1,10 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+gwt_module(
+    name = "progress",
+    srcs = glob(["client/*.java"]),
+    gwt_xml = "Progress.gwt.xml",
+    resources = ["client/progress.css"],
+    visibility = ["//visibility:public"],
+    deps = ["//lib/gwt:user"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/Progress.gwt.xml b/java/com/google/gwtexpui/progress/Progress.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/Progress.gwt.xml
rename to java/com/google/gwtexpui/progress/Progress.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressBar.java b/java/com/google/gwtexpui/progress/client/ProgressBar.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressBar.java
rename to java/com/google/gwtexpui/progress/client/ProgressBar.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressCss.java b/java/com/google/gwtexpui/progress/client/ProgressCss.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressCss.java
rename to java/com/google/gwtexpui/progress/client/ProgressCss.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressResources.java b/java/com/google/gwtexpui/progress/client/ProgressResources.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/ProgressResources.java
rename to java/com/google/gwtexpui/progress/client/ProgressResources.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/progress.css b/java/com/google/gwtexpui/progress/client/progress.css
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/progress/client/progress.css
rename to java/com/google/gwtexpui/progress/client/progress.css
diff --git a/java/com/google/gwtexpui/safehtml/BUILD b/java/com/google/gwtexpui/safehtml/BUILD
new file mode 100644
index 0000000..af85c33
--- /dev/null
+++ b/java/com/google/gwtexpui/safehtml/BUILD
@@ -0,0 +1,10 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+gwt_module(
+    name = "safehtml",
+    srcs = glob(["client/*.java"]),
+    gwt_xml = "SafeHtml.gwt.xml",
+    resources = ["client/safehtml.css"],
+    visibility = ["//visibility:public"],
+    deps = ["//lib/gwt:user"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/SafeHtml.gwt.xml b/java/com/google/gwtexpui/safehtml/SafeHtml.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/SafeHtml.gwt.xml
rename to java/com/google/gwtexpui/safehtml/SafeHtml.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java b/java/com/google/gwtexpui/safehtml/client/AttMap.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/AttMap.java
rename to java/com/google/gwtexpui/safehtml/client/AttMap.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java b/java/com/google/gwtexpui/safehtml/client/Buffer.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/Buffer.java
rename to java/com/google/gwtexpui/safehtml/client/Buffer.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java b/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferDirect.java
rename to java/com/google/gwtexpui/safehtml/client/BufferDirect.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java b/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
rename to java/com/google/gwtexpui/safehtml/client/BufferSealElement.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/FindReplace.java b/java/com/google/gwtexpui/safehtml/client/FindReplace.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/FindReplace.java
rename to java/com/google/gwtexpui/safehtml/client/FindReplace.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java b/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
rename to java/com/google/gwtexpui/safehtml/client/HighlightSuggestOracle.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/LinkFindReplace.java b/java/com/google/gwtexpui/safehtml/client/LinkFindReplace.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/LinkFindReplace.java
rename to java/com/google/gwtexpui/safehtml/client/LinkFindReplace.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/RawFindReplace.java b/java/com/google/gwtexpui/safehtml/client/RawFindReplace.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/RawFindReplace.java
rename to java/com/google/gwtexpui/safehtml/client/RawFindReplace.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java b/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtml.java
rename to java/com/google/gwtexpui/safehtml/client/SafeHtml.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java b/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
rename to java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilder.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlCss.java b/java/com/google/gwtexpui/safehtml/client/SafeHtmlCss.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlCss.java
rename to java/com/google/gwtexpui/safehtml/client/SafeHtmlCss.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlResources.java b/java/com/google/gwtexpui/safehtml/client/SafeHtmlResources.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlResources.java
rename to java/com/google/gwtexpui/safehtml/client/SafeHtmlResources.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlString.java b/java/com/google/gwtexpui/safehtml/client/SafeHtmlString.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/SafeHtmlString.java
rename to java/com/google/gwtexpui/safehtml/client/SafeHtmlString.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/safehtml.css b/java/com/google/gwtexpui/safehtml/client/safehtml.css
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/safehtml/client/safehtml.css
rename to java/com/google/gwtexpui/safehtml/client/safehtml.css
diff --git a/java/com/google/gwtexpui/server/BUILD b/java/com/google/gwtexpui/server/BUILD
new file mode 100644
index 0000000..9b81564
--- /dev/null
+++ b/java/com/google/gwtexpui/server/BUILD
@@ -0,0 +1,6 @@
+java_library(
+    name = "server",
+    srcs = glob(["**/*.java"]),
+    visibility = ["//visibility:public"],
+    deps = ["//lib:servlet-api-3_1"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java b/java/com/google/gwtexpui/server/CacheControlFilter.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheControlFilter.java
rename to java/com/google/gwtexpui/server/CacheControlFilter.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheHeaders.java b/java/com/google/gwtexpui/server/CacheHeaders.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/server/CacheHeaders.java
rename to java/com/google/gwtexpui/server/CacheHeaders.java
diff --git a/java/com/google/gwtexpui/user/BUILD b/java/com/google/gwtexpui/user/BUILD
new file mode 100644
index 0000000..813f433
--- /dev/null
+++ b/java/com/google/gwtexpui/user/BUILD
@@ -0,0 +1,10 @@
+load("//tools/bzl:gwt.bzl", "gwt_module")
+
+gwt_module(
+    name = "agent",
+    srcs = glob(["client/*.java"]),
+    gwt_xml = "User.gwt.xml",
+    resources = ["client/tooltip.css"],
+    visibility = ["//visibility:public"],
+    deps = ["//lib/gwt:user"],
+)
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/User.gwt.xml b/java/com/google/gwtexpui/user/User.gwt.xml
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/User.gwt.xml
rename to java/com/google/gwtexpui/user/User.gwt.xml
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/AutoCenterDialogBox.java b/java/com/google/gwtexpui/user/client/AutoCenterDialogBox.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/AutoCenterDialogBox.java
rename to java/com/google/gwtexpui/user/client/AutoCenterDialogBox.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/Tooltip.java b/java/com/google/gwtexpui/user/client/Tooltip.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/Tooltip.java
rename to java/com/google/gwtexpui/user/client/Tooltip.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/UserAgent.java b/java/com/google/gwtexpui/user/client/UserAgent.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/UserAgent.java
rename to java/com/google/gwtexpui/user/client/UserAgent.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/View.java b/java/com/google/gwtexpui/user/client/View.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/View.java
rename to java/com/google/gwtexpui/user/client/View.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/ViewSite.java b/java/com/google/gwtexpui/user/client/ViewSite.java
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/ViewSite.java
rename to java/com/google/gwtexpui/user/client/ViewSite.java
diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/tooltip.css b/java/com/google/gwtexpui/user/client/tooltip.css
similarity index 100%
rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/user/client/tooltip.css
rename to java/com/google/gwtexpui/user/client/tooltip.css
diff --git a/javatests/com/google/gwtexpui/safehtml/BUILD b/javatests/com/google/gwtexpui/safehtml/BUILD
new file mode 100644
index 0000000..4f75bdb
--- /dev/null
+++ b/javatests/com/google/gwtexpui/safehtml/BUILD
@@ -0,0 +1,12 @@
+load("//tools/bzl:junit.bzl", "junit_tests")
+
+junit_tests(
+    name = "safehtml_tests",
+    srcs = glob(["client/**/*.java"]),
+    deps = [
+        "//java/com/google/gwtexpui/safehtml",
+        "//lib:truth",
+        "//lib/gwt:dev",
+        "//lib/gwt:user",
+    ],
+)
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/LinkFindReplaceTest.java b/javatests/com/google/gwtexpui/safehtml/client/LinkFindReplaceTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/LinkFindReplaceTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/LinkFindReplaceTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/RawFindReplaceTest.java b/javatests/com/google/gwtexpui/safehtml/client/RawFindReplaceTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/RawFindReplaceTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/RawFindReplaceTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilderTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtmlBuilderTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtmlBuilderTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtmlBuilderTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_LinkifyTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_LinkifyTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_LinkifyTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_LinkifyTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_ReplaceTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_ReplaceTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_ReplaceTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_ReplaceTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyListTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyListTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyListTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyListTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyPreformatTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyPreformatTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyPreformatTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyPreformatTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyQuoteTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyQuoteTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyQuoteTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyQuoteTest.java
diff --git a/gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyTest.java b/javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyTest.java
similarity index 100%
rename from gerrit-gwtexpui/src/test/java/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyTest.java
rename to javatests/com/google/gwtexpui/safehtml/client/SafeHtml_WikifyTest.java
diff --git a/tools/bzl/gwt.bzl b/tools/bzl/gwt.bzl
index 9cec4f4..a733b0c 100644
--- a/tools/bzl/gwt.bzl
+++ b/tools/bzl/gwt.bzl
@@ -79,7 +79,7 @@
 ]
 
 DEPS = GWT_TRANSITIVE_DEPS + [
-    "//gerrit-gwtexpui:CSS",
+    "//java/com/google/gwtexpui/css",
     "//lib:gwtjsonrpc",
     "//lib/gwt:dev",
     "//lib/jgit/org.eclipse.jgit:jgit-source",
@@ -283,7 +283,7 @@
     deps = [
       '//gerrit-gwtui-common:diffy_logo',
       '//gerrit-gwtui-common:client',
-      '//gerrit-gwtexpui:CSS',
+      '//java/com/google/gwtexpui/css',
       '//lib/codemirror:codemirror' + suffix,
       '//lib/gwt:user',
     ],