Add IdlClass to the embedded default android tools repository and rearrange
BuildJar's JarHelper so that it too can be embedded.

--
MOS_MIGRATED_REVID=104539260
diff --git a/src/BUILD b/src/BUILD
index a07be09..b2ef551 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -66,7 +66,9 @@
     srcs = [
         "//tools:srcs",
         "//third_party:srcs",
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:srcs",
         "//src/tools/android/java/com/google/devtools/build/android:srcs",
+        "//src/tools/android/java/com/google/devtools/build/android/idlclass:srcs",
         "//src/tools/android/java/com/google/devtools/build/android/incrementaldeployment:srcs",
         "//src/tools/android/java/com/google/devtools/build/android/ziputils:srcs",
         "//src/main/protobuf:srcs",
diff --git a/src/java_tools/buildjar/BUILD b/src/java_tools/buildjar/BUILD
index 1edd582..17c2a62 100644
--- a/src/java_tools/buildjar/BUILD
+++ b/src/java_tools/buildjar/BUILD
@@ -5,6 +5,7 @@
     srcs = glob(["java/com/google/devtools/build/buildjar/**/*.java"]),
     main_class = "com.google.devtools.build.buildjar.BazelJavaBuilder",
     deps = [
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper",
         "//src/main/protobuf:proto_deps",
         "//src/main/protobuf:proto_java_compilation",
         "//src/main/protobuf:proto_worker_protocol",
@@ -151,22 +152,6 @@
     deps = [":BazelJavaCompiler"],
 )
 
-# JarHelper library for GenClass so it can create the gen jar.
-java_library(
-    name = "jarhelper",
-    srcs = [
-        "java/com/google/devtools/build/buildjar/JarCreator.java",
-        "java/com/google/devtools/build/buildjar/JarHelper.java",
-    ],
-    visibility = [
-        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:__pkg__",
-        "//src/tools/android/java/com/google/devtools/build/android/idlclass:__pkg__",
-    ],
-    deps = [
-        "//third_party:guava",
-    ],
-)
-
 # For the -Xbootclasspath option of the java_test of buildjar
 genrule(
     name = "langtools-test",
@@ -217,7 +202,10 @@
 
 bootstrap_java_binary(
     name = "bootstrap",
-    srcs = glob(["java/com/google/devtools/build/buildjar/**/*.java"]),
+    srcs = glob(["java/com/google/devtools/build/buildjar/**/*.java"]) + [
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:JarCreator.java",
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper:JarHelper.java",
+    ],
     main_class = "com.google.devtools.build.buildjar.BazelJavaBuilder",
     visibility = ["//visibility:public"],
     deps = [":skylark-deps"],
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractLibraryBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractLibraryBuilder.java
index a503414..f6c20ee 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractLibraryBuilder.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/AbstractLibraryBuilder.java
@@ -16,6 +16,7 @@
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.io.ByteStreams;
+import com.google.devtools.build.buildjar.jarhelper.JarCreator;
 
 import java.io.File;
 import java.io.FileOutputStream;
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
index af7e18e..b6049bf 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/SimpleJavaLibraryBuilder.java
@@ -16,6 +16,7 @@
 
 import com.google.common.base.Joiner;
 import com.google.common.collect.ImmutableSet;
+import com.google.devtools.build.buildjar.jarhelper.JarCreator;
 import com.google.devtools.build.buildjar.javac.JavacRunner;
 
 import com.sun.tools.javac.main.Main.Result;
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/BUILD
index c5e0e4b..4042c93 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/BUILD
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/BUILD
@@ -9,7 +9,7 @@
     name = "genclass_lib",
     srcs = glob(["*.java"]),
     deps = [
-        "//src/java_tools/buildjar:jarhelper",
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper",
         "//src/main/protobuf:proto_java_compilation",
         "//third_party:guava",
     ],
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass.java
index 1b67384..64f3681 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass/GenClass.java
@@ -16,7 +16,7 @@
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableSet;
-import com.google.devtools.build.buildjar.JarCreator;
+import com.google.devtools.build.buildjar.jarhelper.JarCreator;
 import com.google.devtools.build.buildjar.proto.JavaCompilation.CompilationUnit;
 import com.google.devtools.build.buildjar.proto.JavaCompilation.Manifest;
 
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/BUILD b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/BUILD
new file mode 100644
index 0000000..64c04c4
--- /dev/null
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/BUILD
@@ -0,0 +1,31 @@
+filegroup(
+    name = "srcs",
+    # include this BUILD file for the default android tools repository
+    srcs = glob(["**"]),
+    visibility = ["//src:__pkg__"],
+)
+
+JARHELPER_SRCS = [
+    "JarHelper.java",
+    "JarCreator.java",
+]
+
+# for bootstrap_java_binary
+exports_files(
+    JARHELPER_SRCS,
+    visibility = ["//src/java_tools/buildjar:__pkg__"],
+)
+
+# JarHelper library for GenClass so it can create the gen jar.
+java_library(
+    name = "jarhelper",
+    srcs = JARHELPER_SRCS,
+    visibility = [
+        "//src/java_tools/buildjar:__pkg__",
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/genclass:__pkg__",
+        "//src/tools/android/java/com/google/devtools/build/android/idlclass:__pkg__",
+    ],
+    deps = [
+        "//third_party:guava",
+    ],
+)
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarCreator.java
similarity index 98%
rename from src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java
rename to src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarCreator.java
index 18ffc17..dbebaeb 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarCreator.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarCreator.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.devtools.build.buildjar;
+package com.google.devtools.build.buildjar.jarhelper;
 
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarHelper.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarHelper.java
similarity index 98%
rename from src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarHelper.java
rename to src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarHelper.java
index 7c985f3..bc0a034 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarHelper.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper/JarHelper.java
@@ -12,7 +12,7 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-package com.google.devtools.build.buildjar;
+package com.google.devtools.build.buildjar.jarhelper;
 
 import com.google.common.hash.Hashing;
 import com.google.common.io.Files;
diff --git a/src/tools/android/java/com/google/devtools/build/android/idlclass/BUILD b/src/tools/android/java/com/google/devtools/build/android/idlclass/BUILD
index a22f833..823ecd3 100644
--- a/src/tools/android/java/com/google/devtools/build/android/idlclass/BUILD
+++ b/src/tools/android/java/com/google/devtools/build/android/idlclass/BUILD
@@ -1,3 +1,10 @@
+filegroup(
+    name = "srcs",
+    # include this BUILD file for the default android tools repository
+    srcs = glob(["**"]),
+    visibility = ["//src:__pkg__"],
+)
+
 java_binary(
     name = "IdlClass",
     main_class = "com.google.devtools.build.android.idlclass.IdlClass",
@@ -13,7 +20,7 @@
         "//src/test/java/com/google/devtools/build/android/idlclass:__pkg__",
     ],
     deps = [
-        "//src/java_tools/buildjar:jarhelper",
+        "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper",
         "//src/main/java:options",
         "//src/main/protobuf:proto_java_compilation",
         "//src/tools/android/java/com/google/devtools/build/android:android_builder_lib",
diff --git a/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java b/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
index c31a66a..f2caf93 100644
--- a/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
+++ b/src/tools/android/java/com/google/devtools/build/android/idlclass/IdlClass.java
@@ -19,7 +19,7 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import com.google.devtools.build.buildjar.JarCreator;
+import com.google.devtools.build.buildjar.jarhelper.JarCreator;
 import com.google.devtools.build.buildjar.proto.JavaCompilation.CompilationUnit;
 import com.google.devtools.build.buildjar.proto.JavaCompilation.Manifest;
 import com.google.devtools.common.options.OptionsParser;