Split off some targets from the Java targets in the bazel build.

--
Change-Id: I46b327ce0f4eae47e9663843382697c2224e0b09
MOS_MIGRATED_REVID=92565524
diff --git a/src/main/java/BUILD b/src/main/java/BUILD
index c2e3dbe..669ff54 100644
--- a/src/main/java/BUILD
+++ b/src/main/java/BUILD
@@ -1,18 +1,62 @@
+package(default_visibility = ["//src:__subpackages__"])
+
 java_library(
     name = "shell",
     srcs = glob(["com/google/devtools/build/lib/shell/*.java"]),
-    visibility = ["//src:__subpackages__"],
     deps = ["//third_party:guava"],
 )
 
 java_library(
+    name = "common",
+    srcs = [
+        "com/google/devtools/build/lib/Constants.java",
+    ],
+    deps = [
+        "//third_party:guava",
+        "//third_party:jsr305",
+    ],
+)
+
+java_library(
+    name = "concurrent",
+    srcs = glob([
+        "com/google/devtools/build/lib/concurrent/*.java",
+    ]),
+    deps = [
+        ":common",
+        "//third_party:guava",
+        "//third_party:jsr305",
+    ],
+)
+
+java_library(
+    name = "unix",
+    srcs = glob([
+        "com/google/devtools/build/lib/unix/*.java",
+    ]) + [
+        "com/google/devtools/build/lib/UnixJniLoader.java",
+    ],
+    deps = [
+        ":common",
+        ":shell",
+        "//third_party:guava",
+        "//third_party:jsr305",
+    ],
+)
+
+java_library(
     name = "bazel-core",
     srcs = glob(
         ["**/*.java"],
         exclude = [
-            "com/google/devtools/build/lib/shell/*.java",
-            "com/google/devtools/build/lib/rules/java/JavaToolchainDataParser.java",
+            "com/google/devtools/build/lib/Constants.java",
+            "com/google/devtools/build/lib/UnixJniLoader.java",
+            "com/google/devtools/build/lib/concurrent/**/*.java",
+            "com/google/devtools/build/lib/unix/**/*.java",
             "com/google/devtools/build/lib/docgen/**/*.java",
+            "com/google/devtools/build/lib/rules/java/JavaToolchainDataParser.java",
+            "com/google/devtools/build/lib/shell/*.java",
+            "com/google/devtools/build/lib/unix/*.java",
         ],
     ),
     resources = glob([
@@ -32,7 +76,10 @@
         "//third_party:plexus_utils",
     ],
     deps = [
+        ":common",
+        ":concurrent",
         ":shell",
+        ":unix",
         "//src/main/protobuf:proto_build",
         "//src/main/protobuf:proto_bundlemerge",
         "//src/main/protobuf:proto_crosstool_config",
@@ -62,12 +109,12 @@
         "com/google/devtools/build/lib/rules/java/JavaToolchainDataParser.java",
         # Concurrent stuff
         "com/google/devtools/build/lib/concurrent/*.java",
-        "com/google/devtools/build/lib/Constants.java",
     ]),
     visibility = [
         "//src/java_tools/buildjar:__pkg__",
     ],
     deps = [
+        ":common",
         "//src/main/protobuf:proto_build",
         "//third_party:guava",
         "//third_party:jsr305",
@@ -110,6 +157,7 @@
     ],
     deps = [
         ":bazel-core",
+        ":common",
         "//third_party:guava",
         "//third_party:jsr305",
     ],
@@ -124,7 +172,10 @@
     name = "docgen_bin",
     srcs = ["com/google/devtools/build/docgen/BuildEncyclopediaGenerator.java"],
     main_class = "com.google.devtools.build.docgen.BuildEncyclopediaGenerator",
-    deps = [":docgen_javalib"],
+    deps = [
+        ":common",
+        ":docgen_javalib",
+    ],
 )
 
 java_binary(
diff --git a/src/test/java/BUILD b/src/test/java/BUILD
index bd36669..7eed6d2 100644
--- a/src/test/java/BUILD
+++ b/src/test/java/BUILD
@@ -20,6 +20,7 @@
     deps = [
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//third_party:guava",
         "//third_party:guava-testlib",
         "//third_party:jsr305",
@@ -55,6 +56,7 @@
     deps = [
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//src/main/java:shell",
         "//third_party:guava",
         "//third_party:guava-testlib",
@@ -109,7 +111,9 @@
         ":test_runner",
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//src/main/java:shell",
+        "//src/main/java:unix",
         "//third_party:guava",
         "//third_party:guava-testlib",
         "//third_party:junit4",
@@ -154,6 +158,7 @@
         ":test_runner",
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//third_party:guava",
         "//third_party:guava-testlib",
         "//third_party:jsr305",
@@ -179,6 +184,7 @@
         ":test_runner",
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//third_party:guava",
         "//third_party:guava-testlib",
         "//third_party:jsr305",
@@ -210,6 +216,7 @@
         ":test_runner",
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//src/main/protobuf:proto_extra_actions_base",
         "//third_party:guava",
         "//third_party:guava-testlib",
@@ -352,6 +359,7 @@
         ":test_runner",
         ":testutil",
         "//src/main/java:bazel-core",
+        "//src/main/java:concurrent",
         "//third_party:guava",
         "//third_party:guava-testlib",
         "//third_party:jsr305",