Sync back build files

Change-Id: Ia644c8164f2710b6fca396f3cd32450b1f930e78
diff --git a/dev/BUILD b/dev/BUILD
index f2afa3a..489ed74 100644
--- a/dev/BUILD
+++ b/dev/BUILD
@@ -217,11 +217,10 @@
             "core/super/com/google/gwt/dev/jjs/intrinsic/**",
         ],
     ),
-    compatible_with =
-        [
-            "//buildenv/target:android",
-            "//buildenv/target:appengine",
-        ],
+    compatible_with = [
+        "//buildenv/target:android",
+        "//buildenv/target:appengine",
+    ],
     constraints = ["android"],
 )
 
@@ -303,6 +302,9 @@
     srcs = glob([
         "core/test/**/*.java",
     ]),
+    javacopts = [
+        "-Xep:SelfComparison:OFF",
+    ],
     deps = [
         ":compiler.standalone.super",
         ":gwt-dev-bare",
diff --git a/user/BUILD b/user/BUILD
index ca4a9d4..05209c3 100644
--- a/user/BUILD
+++ b/user/BUILD
@@ -47,7 +47,6 @@
     dojarjar = 1,
     exclude_glob = [
         "**/package.html",
-        "**/package-info.java",
         "src/com/google/gwt/junit/**",
         "super/com/google/gwt/junit/**",
     ],
@@ -68,11 +67,14 @@
         exclude = [
             "src/com/google/gwt/junit/**/*.java",  # see gwt-testing
             "**/EmulatedCharset.java",
-            "**/HashCodes.java", # relies on java8 only APIs
+            "**/HashCodes.java",  # relies on java8 only APIs
             "**/RunStyleSelenium.java",
         ],
     ),
     compatible_with = ["//buildenv/target:appengine"],
+    plugins = [
+        "//java/com/google/devtools/build/buildjar/plugin/gwt",
+    ],
     deps = [
         "//third_party/java_src/gwt/svn/tools:dev_deps",
         "//third_party/java_src/gwt/svn/tools:servlet_api_3",
@@ -127,7 +129,6 @@
     dojarjar = 1,
     exclude_glob = [
         "**/package.html",
-        "**/package-info.java",
     ],
     java_library_name = "autobean-classes",
     output_name = "autobean-classes-src.jar",
@@ -187,19 +188,17 @@
     dojarjar = 1,
     exclude_glob = [
         "**/package.html",
-        "**/package-info.java",
     ],
     output_name = "incremental-build-system-test-res.jar",
     wrap_javalibrary = 0,
 )
 
+JVM_REGEXP_SRCS = glob(["src/com/google/gwt/regexp/shared/*.java"])
+
 # See //third_party/java/gwt:regexp
 java_library(
     name = "jvm_regexp",
-    srcs = glob(
-        ["src/com/google/gwt/regexp/shared/*.java"],
-        exclude = ["**/package-info.java"],
-    ),
+    srcs = JVM_REGEXP_SRCS,
     compatible_with = [
         "//buildenv/target:android",
         "//buildenv/target:appengine",
@@ -215,7 +214,6 @@
             "src/org/hibernate/validator/**/*_CustomFieldSerializer.java",
             "src/org/hibernate/validator/engine/ValidationSupport.java",
         ],
-        exclude = ["**/package-info.java"],
     ),
     deps = [
         "//third_party/java/hibernate:validator",
@@ -224,6 +222,17 @@
     ],
 )
 
+DTO_SRCS = [
+    "src/com/google/gwt/user/client/rpc/CustomFieldSerializer.java",
+    "src/com/google/gwt/user/client/rpc/GwtTransient.java",
+    "src/com/google/gwt/user/client/rpc/IsSerializable.java",
+    "src/com/google/gwt/user/client/rpc/SerializationException.java",
+    "src/com/google/gwt/user/client/rpc/SerializationStreamReader.java",
+    "src/com/google/gwt/user/client/rpc/SerializationStreamWriter.java",
+] + glob([
+    "src/com/google/gwt/user/client/rpc/core/java/util/*.java",
+])
+
 # The indirection through libgwt-servlet-impl.jar is needed so that Java symbols in the outputs of
 # this package are distributed in one form (through the class jars, as AugmentedJar does)
 # This prevents them appearing them on classpath as both sources and classes, which confuses javac
@@ -250,12 +259,9 @@
             "src/com/google/gwt/canvas/dom/client/*.java",
             "src/com/google/gwt/debug/client/DebugInfo.java",
             "src/com/google/gwt/media/dom/client/*.java",
-            "src/com/google/gwt/user/client/rpc/core/**/*CustomFieldSerializer*.java",
-            "src/com/google/gwt/user/client/rpc/core/java/util/*.java",
+            "src/com/google/gwt/user/client/rpc/core/**/*.java",
             "src/com/google/gwt/user/client/rpc/SerializedTypeViolationException.java",
             "src/com/google/gwt/user/client/rpc/IncompatibleRemoteServiceException.java",
-            "src/com/google/gwt/user/client/rpc/IsSerializable.java",
-            "src/com/google/gwt/user/client/rpc/GwtTransient.java",
             "src/com/google/gwt/user/client/rpc/RemoteService.java",
             "src/com/google/gwt/user/client/rpc/AsyncCallback.java",
             "src/com/google/gwt/user/client/rpc/RemoteServiceRelativePath.java",
@@ -295,9 +301,6 @@
             "src/com/google/gwt/xhr/client/ReadyStateChangeHandler.java",
             "src/com/google/gwt/xhr/client/XMLHttpRequest.java",
             "src/com/google/gwt/user/client/Timer.java",
-            "src/com/google/gwt/user/client/rpc/SerializationException.java",
-            "src/com/google/gwt/user/client/rpc/SerializationStreamReader.java",
-            "src/com/google/gwt/user/client/rpc/SerializationStreamWriter.java",
             "src/com/google/gwt/user/client/rpc/impl/ClientSerializationStreamWriter.java",
             "src/com/google/gwt/user/client/rpc/impl/Serializer.java",
             # ...which need:
@@ -374,12 +377,13 @@
         ],
         exclude = [
             "**/junit/**",
-            "**/package-info.java",
             "src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java",
-        ],
+        ] + DTO_SRCS + JVM_REGEXP_SRCS,
     ),
     compatible_with = ["//buildenv/target:appengine"],
     deps = [
+        ":gwt-dto-serializers",
+        ":jvm_regexp",
         "//third_party/java/servlet/servlet_api",
         "//third_party/java_src/gwt/svn/tools:servlet_deps",
         "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
@@ -395,17 +399,7 @@
 # and common/collect:collect-gwt.  You really don't want it to be big!
 java_library(
     name = "gwt-dto-serializers",
-    srcs = [
-        "src/com/google/gwt/user/client/rpc/CustomFieldSerializer.java",
-        "src/com/google/gwt/user/client/rpc/GwtTransient.java",
-        "src/com/google/gwt/user/client/rpc/IsSerializable.java",
-        "src/com/google/gwt/user/client/rpc/SerializationException.java",
-        "src/com/google/gwt/user/client/rpc/SerializationStreamReader.java",
-        "src/com/google/gwt/user/client/rpc/SerializationStreamWriter.java",
-        "src/com/google/gwt/user/client/rpc/core/java/util/Collections.java",
-    ] + glob([
-        "src/com/google/gwt/user/client/rpc/core/java/util/*_CustomFieldSerializer*.java",
-    ]),
+    srcs = DTO_SRCS,
     compatible_with = [
         "//buildenv/target:android",
         "//buildenv/target:appengine",
@@ -447,7 +441,6 @@
     dojarjar = 1,
     exclude_glob = [
         "**/package.html",
-        "**/package-info.java",
         "**/RunStyleSelenium.java",
     ],
 )
@@ -474,18 +467,6 @@
     ],
 )
 
-# A minimal library for annotations that might be used by client code.
-java_library(
-    name = "gwt-user-interop-annotations",
-    srcs = [
-        "src/com/google/gwt/core/shared/GwtIncompatible.java",
-    ],
-    compatible_with = ["//buildenv/target:android"],
-    constraints = [
-        "android",
-    ],
-)
-
 # === TESTS ===
 
 AugmentedJar(
@@ -679,7 +660,6 @@
         exclude = [
             "test/**/java8/**",
             "test/**/*Java8Suite.java",
-            "**/package-info.java",
         ],
     ),
     visibility = ["//third_party/java_src/j2cl:__subpackages__"],