From 8d9433f8c7b4c5c8dfdba0601bb833aa0f6529fa Mon Sep 17 00:00:00 2001 From: Philipp Wollermann Date: Mon, 22 Jun 2015 14:07:04 +0000 Subject: Let Bazel set a good example of how to split up your code into multiple java_library's instead of having a single "java_library(name = "everything", srcs = glob("**"))" target. -- MOS_MIGRATED_REVID=96565633 --- src/main/java/BUILD | 234 ++++++++++++++++++++++++++++++++++++++++++++-------- src/test/java/BUILD | 37 +++++++++ 2 files changed, 238 insertions(+), 33 deletions(-) diff --git a/src/main/java/BUILD b/src/main/java/BUILD index d1b3773ad7..fd68385c9a 100644 --- a/src/main/java/BUILD +++ b/src/main/java/BUILD @@ -2,10 +2,58 @@ package(default_visibility = ["//src:__subpackages__"]) java_library( name = "shell", - srcs = glob(["com/google/devtools/build/lib/shell/*.java"]), + srcs = glob([ + "com/google/devtools/build/lib/shell/*.java", + ]), deps = ["//third_party:guava"], ) +java_library( + name = "actions", + srcs = glob([ + "com/google/devtools/build/lib/actions/**", + ]), + deps = [ + ":collect", + ":common", + ":concurrent", + ":events", + ":options", + ":packages", + ":skyframe-base", + ":vfs", + "//src/main/protobuf:proto_extra_actions_base", + "//third_party:guava", + "//third_party:jsr305", + "//third_party:protobuf", + ], +) + +java_library( + name = "cmdline", + srcs = glob([ + "com/google/devtools/build/lib/cmdline/**", + ]), + deps = [ + ":common", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "collect", + srcs = glob([ + "com/google/devtools/build/lib/collect/**/*.java", + ]), + deps = [ + ":common", + ":shell", + "//third_party:guava", + "//third_party:jsr305", + ], +) + java_library( name = "common", srcs = [ @@ -29,6 +77,55 @@ java_library( ], ) +java_library( + name = "events", + srcs = glob([ + "com/google/devtools/build/lib/events/*.java", + ]), + deps = [ + ":common", + ":concurrent", + ":vfs", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "options", + srcs = glob([ + "com/google/devtools/common/options/*.java", + ]), + visibility = ["//visibility:public"], + deps = [ + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "packages", + srcs = glob([ + "com/google/devtools/build/lib/packages/*.java", + "com/google/devtools/build/lib/pkgcache/*.java", + "com/google/devtools/build/lib/syntax/*.java", + ]), + exports = [":cmdline"], + deps = [ + ":cmdline", + ":collect", + ":common", + ":concurrent", + ":events", + ":options", + ":vfs", + "//src/main/protobuf:proto_build", + "//third_party:auto_value", + "//third_party:guava", + "//third_party:jsr305", + ], +) + java_library( name = "unix", srcs = glob([ @@ -45,54 +142,134 @@ java_library( ) java_library( - name = "collect", + name = "vfs", srcs = glob([ - "com/google/devtools/build/lib/collect/**/*.java", + "com/google/devtools/build/lib/vfs/**/*.java", + "com/google/devtools/build/lib/profiler/**/*.java", + "com/google/devtools/build/lib/util/**/*.java", ]), deps = [ + ":collect", ":common", + ":concurrent", + ":options", ":shell", + ":unix", "//third_party:guava", "//third_party:jsr305", ], ) java_library( - name = "options", - srcs = glob(["com/google/devtools/common/options/*.java"]), - visibility = ["//visibility:public"], + name = "skyframe-base", + srcs = glob([ + "com/google/devtools/build/skyframe/**", + ]), deps = [ + ":collect", + ":common", + ":concurrent", + ":events", + ":vfs", + "//third_party:guava", + ], +) + +java_library( + name = "analysis-exec-rules-skyframe", + srcs = glob( + [ + "com/google/devtools/build/lib/analysis/**", + "com/google/devtools/build/lib/exec/**", + "com/google/devtools/build/lib/rules/**", + "com/google/devtools/build/lib/skyframe/**", + ], + exclude = [ + "com/google/devtools/build/lib/rules/java/JavaToolchainDataParser.java", + "com/google/devtools/build/lib/rules/genquery/**", + ], + ) + [ + "com/google/devtools/build/lib/runtime/BlazeServerStartupOptions.java", + ], + deps = [ + ":actions", + ":collect", + ":common", + ":concurrent", + ":events", + ":graph", + ":options", + ":packages", + ":shell", + ":skyframe-base", + ":vfs", + "//src/main/protobuf:proto_bundlemerge", + "//src/main/protobuf:proto_crosstool_config", + "//src/main/protobuf:proto_extra_actions_base", + "//src/main/protobuf:proto_test_status", + "//src/main/protobuf:proto_xcodegen", + "//src/tools/xcode-common/java/com/google/devtools/build/xcode/common", + "//src/tools/xcode-common/java/com/google/devtools/build/xcode/util", "//third_party:guava", "//third_party:jsr305", + "//third_party:protobuf", ], ) java_library( - name = "vfs", + name = "genquery", srcs = glob([ - "com/google/devtools/build/lib/vfs/**/*.java", - "com/google/devtools/build/lib/profiler/**/*.java", - "com/google/devtools/build/lib/util/**/*.java", + "com/google/devtools/build/lib/rules/genquery/**", ]), deps = [ + ":actions", + ":analysis-exec-rules-skyframe", ":collect", ":common", ":concurrent", + ":events", + ":graph", ":options", + ":packages", + ":query2", ":shell", - ":unix", + ":skyframe-base", + ":vfs", + "//src/main/protobuf:proto_crosstool_config", + "//src/main/protobuf:proto_extra_actions_base", "//third_party:guava", "//third_party:jsr305", + "//third_party:protobuf", ], ) java_library( - name = "events", - srcs = glob(["com/google/devtools/build/lib/events/*.java"]), + name = "graph", + srcs = glob([ + "com/google/devtools/build/lib/graph/**", + ]), deps = [ + "//third_party:guava", + ], +) + +java_library( + name = "query2", + srcs = glob([ + "com/google/devtools/build/lib/query2/**", + ]), + deps = [ + ":analysis-exec-rules-skyframe", + ":collect", ":common", ":concurrent", + ":events", + ":graph", + ":options", + ":packages", + ":skyframe-base", ":vfs", + "//src/main/protobuf:proto_build", "//third_party:guava", "//third_party:jsr305", ], @@ -103,28 +280,13 @@ java_library( srcs = glob( [ "com/google/devtools/build/docgen/**/*.java", - "com/google/devtools/build/lib/actions/**", - "com/google/devtools/build/lib/analysis/**", "com/google/devtools/build/lib/bazel/**/*.java", "com/google/devtools/build/lib/buildtool/**", - "com/google/devtools/build/lib/cmdline/**", - "com/google/devtools/build/lib/exec/**", - "com/google/devtools/build/lib/graph/**", - "com/google/devtools/build/lib/packages/**", - "com/google/devtools/build/lib/pkgcache/**", - "com/google/devtools/build/lib/query2/**", - "com/google/devtools/build/lib/rules/**", "com/google/devtools/build/lib/runtime/**/*.java", "com/google/devtools/build/lib/server/**", - "com/google/devtools/build/lib/skyframe/**", "com/google/devtools/build/lib/standalone/**", - "com/google/devtools/build/lib/syntax/**", "com/google/devtools/build/lib/webstatusserver/**/*.java", "com/google/devtools/build/lib/worker/**", - "com/google/devtools/build/skyframe/**", - ], - exclude = [ - "com/google/devtools/build/lib/rules/java/JavaToolchainDataParser.java", ], ), resources = glob([ @@ -148,24 +310,27 @@ java_library( "//third_party:plexus_utils", ], deps = [ + ":actions", + ":analysis-exec-rules-skyframe", ":collect", ":common", ":concurrent", ":events", + ":genquery", + ":graph", ":options", + ":packages", + ":query2", ":shell", + ":skyframe-base", ":unix", ":vfs", "//src/java_tools/singlejar:zip", "//src/main/protobuf:proto_build", - "//src/main/protobuf:proto_bundlemerge", "//src/main/protobuf:proto_crosstool_config", "//src/main/protobuf:proto_extra_actions_base", "//src/main/protobuf:proto_test_status", "//src/main/protobuf:proto_worker_protocol", - "//src/main/protobuf:proto_xcodegen", - "//src/tools/xcode-common/java/com/google/devtools/build/xcode/common", - "//src/tools/xcode-common/java/com/google/devtools/build/xcode/util", "//third_party:aether", "//third_party:apache_commons_pool2", "//third_party:auto_value", @@ -235,9 +400,11 @@ java_library( ":bazel-core", ], deps = [ + ":analysis-exec-rules-skyframe", ":bazel-core", ":common", - "//src/main/java:vfs", + ":packages", + ":vfs", "//third_party:guava", "//third_party:jsr305", ], @@ -253,6 +420,7 @@ java_binary( srcs = ["com/google/devtools/build/docgen/BuildEncyclopediaGenerator.java"], main_class = "com.google.devtools.build.docgen.BuildEncyclopediaGenerator", deps = [ + ":analysis-exec-rules-skyframe", ":common", ":docgen_javalib", ], diff --git a/src/test/java/BUILD b/src/test/java/BUILD index 5bdb5a693f..77ea1e8244 100644 --- a/src/test/java/BUILD +++ b/src/test/java/BUILD @@ -3,9 +3,12 @@ java_library( srcs = glob(["com/google/devtools/build/lib/testutil/*.java"]), visibility = ["//visibility:public"], deps = [ + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:collect", "//src/main/java:events", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -27,6 +30,7 @@ java_test( "//src/main/java:collect", "//src/main/java:concurrent", "//src/main/java:events", + "//src/main/java:skyframe-base", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -67,6 +71,7 @@ java_library( "//src/main/java:bazel-core", "//src/main/java:concurrent", "//src/main/java:events", + "//src/main/java:packages", "//src/main/java:shell", "//src/main/java:vfs", "//third_party:guava", @@ -124,6 +129,7 @@ java_test( "//src/main/java:concurrent", "//src/main/java:events", "//src/main/java:options", + "//src/main/java:packages", "//src/main/java:shell", "//src/main/java:unix", "//src/main/java:vfs", @@ -168,10 +174,14 @@ java_library( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:concurrent", "//src/main/java:events", "//src/main/java:options", + "//src/main/java:packages", + "//src/main/java:skyframe-base", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -193,11 +203,14 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:collect", "//src/main/java:concurrent", "//src/main/java:events", "//src/main/java:options", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -225,11 +238,15 @@ java_library( ":foundations_testutil", ":packages_testutil", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:collect", "//src/main/java:concurrent", "//src/main/java:events", "//src/main/java:options", + "//src/main/java:packages", + "//src/main/java:skyframe-base", "//src/main/java:vfs", "//src/main/protobuf:proto_extra_actions_base", "//third_party:guava", @@ -254,6 +271,8 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:vfs", "//src/main/protobuf:proto_extra_actions_base", @@ -279,8 +298,10 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:options", + "//src/main/java:packages", "//src/main/java:vfs", "//src/main/protobuf:proto_extra_actions_base", "//third_party:guava", @@ -305,7 +326,9 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:junit4", @@ -327,7 +350,9 @@ java_test( ":packages_testutil", ":test_runner", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:junit4", @@ -348,9 +373,12 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:collect", "//src/main/java:events", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -369,9 +397,12 @@ java_library( deps = [ ":foundations_testutil", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:events", "//src/main/java:options", + "//src/main/java:packages", + "//src/main/java:skyframe-base", "//src/main/java:vfs", "//src/main/protobuf:proto_extra_actions_base", "//third_party:guava", @@ -395,8 +426,10 @@ java_test( ":packages_testutil", ":test_runner", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:events", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -457,10 +490,13 @@ java_test( ":foundations_testutil", ":test_runner", ":testutil", + "//src/main/java:actions", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:collect", "//src/main/java:concurrent", "//src/main/java:events", + "//src/main/java:packages", "//src/main/java:vfs", "//third_party:guava", "//third_party:guava-testlib", @@ -479,6 +515,7 @@ java_test( ":actions_testutil", ":analysis_testutil", ":testutil", + "//src/main/java:analysis-exec-rules-skyframe", "//src/main/java:bazel-core", "//src/main/java:vfs", "//third_party:guava", -- cgit v1.2.3