From e4133aab4db7cd640501d1113c259e8477006b6f Mon Sep 17 00:00:00 2001 From: Cal Peyser Date: Thu, 7 Jan 2016 15:19:44 +0000 Subject: Factor implementation of bazel-specific cpp logic out of devtools/build/lib/BUILD into subpackage, to allow the objc implementation to extend that logic without a circular dependency. In particular, create a subpackage at lib/bazel/rules, and move relevant targets that were in lib/bazel down to the subpackage. -- MOS_MIGRATED_REVID=111602013 --- .../java/com/google/devtools/build/docgen/BUILD | 2 +- src/main/java/com/google/devtools/build/lib/BUILD | 56 +---------- .../google/devtools/build/lib/bazel/rules/BUILD | 104 +++++++++++++++++++++ .../devtools/build/lib/bazel/rules/cpp/BUILD | 30 ++++++ .../com/google/devtools/build/lib/rules/objc/BUILD | 1 + 5 files changed, 141 insertions(+), 52 deletions(-) create mode 100644 src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD create mode 100644 src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD (limited to 'src/main/java/com/google/devtools/build') diff --git a/src/main/java/com/google/devtools/build/docgen/BUILD b/src/main/java/com/google/devtools/build/docgen/BUILD index 68cfd2e24e..d65a47146e 100644 --- a/src/main/java/com/google/devtools/build/docgen/BUILD +++ b/src/main/java/com/google/devtools/build/docgen/BUILD @@ -25,9 +25,9 @@ java_binary( main_class = "com.google.devtools.build.docgen.BuildEncyclopediaGenerator", deps = [ ":docgen_javalib", - "//src/main/java/com/google/devtools/build/lib:bazel-rules", "//src/main/java/com/google/devtools/build/lib:build-base", "//src/main/java/com/google/devtools/build/lib:common", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:bazel-rules", ], ) diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index e84a40baa3..c5ec7b1e9c 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD @@ -459,66 +459,17 @@ java_library( ], ) -java_library( - name = "bazel-rules", - srcs = glob( - [ - "bazel/rules/**/*.java", - ], - exclude = [ - "bazel/rules/workspace/*.java", - ], - ), - resources = glob( - [ - "bazel/rules/**/*.txt", - "bazel/rules/**/*.WORKSPACE", - ], - ), - deps = [ - ":android-rules", - ":bazel", - ":bazel-repository", - ":build-base", - ":build-info", - ":collect", - ":common", - ":events", - ":ideinfo", - ":java-rules", - ":packages-internal", - ":proto-rules", - ":python-rules", - ":skylarkinterface", - ":util", - ":vfs", - "//src/main/java/com/google/devtools/build/lib/actions", - "//src/main/java/com/google/devtools/build/lib/query2:query-output", - "//src/main/java/com/google/devtools/build/lib/rules/apple", - "//src/main/java/com/google/devtools/build/lib/rules/cpp", - "//src/main/java/com/google/devtools/build/lib/rules/genquery", - "//src/main/java/com/google/devtools/build/lib/rules/objc", - "//src/main/java/com/google/devtools/build/skyframe", - "//src/main/java/com/google/devtools/common/options", - "//src/main/protobuf:crosstool_config_proto", - "//third_party:guava", - "//third_party:joda_time", - "//third_party:jsr305", - ], -) - java_library( name = "bazel-main", srcs = glob(["bazel/*.java"]), resources = [ - "bazel/rules/java/java_stub_template.txt", - "bazel/rules/python/stub_template.txt", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:java/java_stub_template.txt", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:python/stub_template.txt", ], deps = [ ":bazel", ":bazel-commands", ":bazel-repository", - ":bazel-rules", ":build-base", ":build-info", ":clock", @@ -530,6 +481,8 @@ java_library( ":vfs", "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/bazel/dash", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:bazel-rules", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:workspace", "//src/main/java/com/google/devtools/build/lib/sandbox", "//src/main/java/com/google/devtools/build/lib/standalone", "//src/main/java/com/google/devtools/build/lib/worker", @@ -589,6 +542,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib:build-base", "//src/main/java/com/google/devtools/build/lib:packages-internal", "//src/main/java/com/google/devtools/build/lib:vfs", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:workspace", "//src/main/java/com/google/devtools/build/skyframe", "//third_party:aether", "//third_party:apache_commons_compress", diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD new file mode 100644 index 0000000000..fa9a9231f5 --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD @@ -0,0 +1,104 @@ +package( + default_visibility = ["//src:__subpackages__"], +) + +licenses(["notice"]) # Apache 2.0 + +exports_files( + [ + "java/java_stub_template.txt", + "python/stub_template.txt", + ], +) + +java_library( + name = "bazel-rules", + srcs = glob( + [ + "**/*.java", + ], + exclude = [ + "cpp/*.java", + "workspace/*.java", + ], + ), + resources = glob( + [ + "**/*.txt", + "**/*.WORKSPACE", + ], + ), + deps = [ + "//src/main/java/com/google/devtools/build/lib:android-rules", + "//src/main/java/com/google/devtools/build/lib:bazel", + "//src/main/java/com/google/devtools/build/lib:build-base", + "//src/main/java/com/google/devtools/build/lib:build-info", + "//src/main/java/com/google/devtools/build/lib:collect", + "//src/main/java/com/google/devtools/build/lib:common", + "//src/main/java/com/google/devtools/build/lib:events", + "//src/main/java/com/google/devtools/build/lib:ideinfo", + "//src/main/java/com/google/devtools/build/lib:java-rules", + "//src/main/java/com/google/devtools/build/lib:packages-internal", + "//src/main/java/com/google/devtools/build/lib:proto-rules", + "//src/main/java/com/google/devtools/build/lib:python-rules", + "//src/main/java/com/google/devtools/build/lib:util", + "//src/main/java/com/google/devtools/build/lib:vfs", + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:workspace", + "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:cpp-rules", + "//src/main/java/com/google/devtools/build/lib/query2:query-output", + "//src/main/java/com/google/devtools/build/lib/rules/apple", + "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//src/main/java/com/google/devtools/build/lib/rules/genquery", + "//src/main/java/com/google/devtools/build/lib/rules/objc", + "//src/main/java/com/google/devtools/build/skyframe", + "//src/main/java/com/google/devtools/common/options", + "//src/main/protobuf:crosstool_config_proto", + "//third_party:guava", + "//third_party:joda_time", + "//third_party:jsr305", + ], +) + +java_library( + name = "bazel-base-rules", + srcs = [ + "BazelBaseRuleClasses.java", + ], + deps = [ + "//src/main/java/com/google/devtools/build/lib:base-util", + "//src/main/java/com/google/devtools/build/lib:build-base", + "//src/main/java/com/google/devtools/build/lib:collect", + "//src/main/java/com/google/devtools/build/lib:common", + "//src/main/java/com/google/devtools/build/lib:packages-internal", + "//src/main/java/com/google/devtools/build/lib:syntax", + "//src/main/java/com/google/devtools/build/lib:util", + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/rules/apple", + "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//third_party:jsr305", + ], +) + +java_library( + name = "workspace", + srcs = glob( + [ + "workspace/*.java", + ], + ), + deps = [ + "//src/main/java/com/google/devtools/build/lib:base-util", + "//src/main/java/com/google/devtools/build/lib:build-base", + "//src/main/java/com/google/devtools/build/lib:collect", + "//src/main/java/com/google/devtools/build/lib:common", + "//src/main/java/com/google/devtools/build/lib:packages-internal", + "//src/main/java/com/google/devtools/build/lib:syntax", + "//src/main/java/com/google/devtools/build/lib:util", + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/rules/apple", + "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//src/main/protobuf:crosstool_config_proto", + "//third_party:jsr305", + ], +) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD new file mode 100644 index 0000000000..28778cd24e --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD @@ -0,0 +1,30 @@ +package( + default_visibility = ["//src:__subpackages__"], +) + +licenses(["notice"]) # Apache 2.0 + +java_library( + name = "cpp-rules", + srcs = glob( + [ + "*.java", + ], + ), + deps = [ + "//src/main/java/com/google/devtools/build/lib:base-util", + "//src/main/java/com/google/devtools/build/lib:build-base", + "//src/main/java/com/google/devtools/build/lib:collect", + "//src/main/java/com/google/devtools/build/lib:common", + "//src/main/java/com/google/devtools/build/lib:packages-internal", + "//src/main/java/com/google/devtools/build/lib:syntax", + "//src/main/java/com/google/devtools/build/lib:util", + "//src/main/java/com/google/devtools/build/lib:vfs", + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/bazel/rules:bazel-base-rules", + "//src/main/java/com/google/devtools/build/lib/rules/apple", + "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//src/main/protobuf:crosstool_config_proto", + "//third_party:jsr305", + ], +) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD b/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD index c746977eff..1db8eb3e98 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BUILD @@ -21,6 +21,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib:util", "//src/main/java/com/google/devtools/build/lib:vfs", "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:cpp-rules", "//src/main/java/com/google/devtools/build/lib/rules/apple", "//src/main/java/com/google/devtools/build/lib/rules/cpp", "//src/main/java/com/google/devtools/common/options", -- cgit v1.2.3