Add BUILD files for all of src/[main/test]/.../build/lib/bazel.
Fixing Bazel required also splitting up the main dir. This required a single
Java change to break a dependency cycle between pipline and parse in the ninja
code. I split NinjaPipeline and NinjaParser into impl/interface allowing the
cycle to be broken.
RELNOTES: None.
PiperOrigin-RevId: 305073498
diff --git a/src/BUILD b/src/BUILD
index 92dd6f4..5758d38 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -11,7 +11,7 @@
[genrule(
name = "install_base_key-file" + suffix,
srcs = [
- "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar",
+ "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
"//src/main/cpp:client",
"//src/main/tools:build-runfiles",
"//src/main/tools:process-wrapper",
@@ -324,7 +324,7 @@
# The script assumes that the embedded tools zip (if exists) is the
# first item here, the deploy jar the second, install base key is the
# third, and platforms archive is the fourth.
- "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar",
+ "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
"install_base_key" + suffix,
":platforms_archive",
"//src/main/native:target-os-unix-native-lib",
diff --git a/src/main/java/com/google/devtools/build/docgen/BUILD b/src/main/java/com/google/devtools/build/docgen/BUILD
index f8941fb..cf08d89 100644
--- a/src/main/java/com/google/devtools/build/docgen/BUILD
+++ b/src/main/java/com/google/devtools/build/docgen/BUILD
@@ -60,7 +60,7 @@
srcs = ["BuildEncyclopediaGenerator.java"],
main_class = "com.google.devtools.build.docgen.BuildEncyclopediaGenerator",
runtime_deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-rules",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
],
deps = [
":docgen_javalib",
@@ -74,7 +74,7 @@
srcs = ["SkylarkDocumentationGenerator.java"],
main_class = "com.google.devtools.build.docgen.SkylarkDocumentationGenerator",
runtime_deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
],
deps = [":docgen_javalib"],
)
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index 9882c3f..fb9d374 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -1,4 +1,4 @@
-load("@rules_java//java:defs.bzl", "java_binary", "java_library")
+load("@rules_java//java:defs.bzl", "java_library")
load(":merge_licenses.bzl", "merge_licenses")
########################################################################
@@ -39,15 +39,12 @@
"//src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations/processor:srcs",
"//src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations:srcs",
"//src/main/java/com/google/devtools/build/lib/authandtls:srcs",
- "//src/main/java/com/google/devtools/build/lib/bazel/debug:srcs",
- "//src/main/java/com/google/devtools/build/lib/bazel/execlog:srcs",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache:srcs",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel:srcs",
"//src/main/java/com/google/devtools/build/lib/buildeventservice/client:srcs",
"//src/main/java/com/google/devtools/build/lib/buildeventservice:srcs",
"//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:srcs",
- "//src/main/java/com/google/devtools/build/lib/buildeventstream:srcs",
"//src/main/java/com/google/devtools/build/lib/buildeventstream/transports:srcs",
+ "//src/main/java/com/google/devtools/build/lib/buildeventstream:srcs",
"//src/main/java/com/google/devtools/build/lib/causes:srcs",
"//src/main/java/com/google/devtools/build/lib/clock:srcs",
"//src/main/java/com/google/devtools/build/lib/cmdline:srcs",
@@ -77,8 +74,8 @@
"//src/main/java/com/google/devtools/build/lib/remote:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/android:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/apple/cpp:srcs",
- "//src/main/java/com/google/devtools/build/lib/rules/apple:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/apple/swift:srcs",
+ "//src/main/java/com/google/devtools/build/lib/rules/apple:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/config:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/cpp/proto:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/cpp:srcs",
@@ -366,310 +363,6 @@
],
)
-java_library(
- name = "bazel-ninja",
- srcs = glob(["bazel/rules/ninja/**/*.java"]),
- deps = [
- ":transitive-info-provider",
- "//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:runtime",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/concurrent",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/packages:build_type",
- "//src/main/java/com/google/devtools/build/lib/packages:starlark_semantics_options",
- "//src/main/java/com/google/devtools/build/lib/packages:type",
- # TODO(cparsons): Refactor input discovery to a common directory so as not to depend
- # on cpp rules.
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/util:filetype",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
-
-java_library(
- name = "bazel-rules",
- srcs = glob(
- [
- "bazel/rules/**/*.java",
- "bazel/rules/ninja/**/*.java",
- ],
- exclude = [
- "bazel/rules/workspace/*.java",
- ],
- ),
- resources = glob(
- [
- "bazel/rules/**/*.txt",
- "bazel/rules/**/*.WORKSPACE",
- ],
- ),
- deps = [
- ":bazel",
- ":bazel-repository",
- ":build-base",
- ":build-info",
- ":core-rules",
- ":core-workspace-rules",
- ":testing-support-rules",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/analysis/platform",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/concurrent",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/packages:build_type",
- "//src/main/java/com/google/devtools/build/lib/packages:starlark_semantics_options",
- "//src/main/java/com/google/devtools/build/lib/packages:type",
- "//src/main/java/com/google/devtools/build/lib/remote",
- "//src/main/java/com/google/devtools/build/lib/remote/options",
- "//src/main/java/com/google/devtools/build/lib/rules/android",
- "//src/main/java/com/google/devtools/build/lib/rules/config",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp/proto:CcProtoLibrary",
- "//src/main/java/com/google/devtools/build/lib/rules/genquery",
- "//src/main/java/com/google/devtools/build/lib/rules/genrule",
- "//src/main/java/com/google/devtools/build/lib/rules/java:RpcSupport",
- "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
- "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
- "//src/main/java/com/google/devtools/build/lib/rules/objc",
- "//src/main/java/com/google/devtools/build/lib/rules/platform",
- "//src/main/java/com/google/devtools/build/lib/rules/proto",
- "//src/main/java/com/google/devtools/build/lib/rules/python",
- "//src/main/java/com/google/devtools/build/lib/shell",
- "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs",
- "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
- "//src/main/java/com/google/devtools/build/lib/util:exit_code",
- "//src/main/java/com/google/devtools/build/lib/util:filetype",
- "//src/main/java/com/google/devtools/build/lib/util:os",
- "//src/main/java/com/google/devtools/build/lib/util:shell_escaper",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
- "//src/main/java/com/google/devtools/common/options",
- "//src/main/protobuf:crosstool_config_java_proto",
- "//third_party:android_common_25_0_0_lite",
- "//third_party:auto_value",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
-
-java_library(
- name = "bazel/BazelRepositoryModule",
- srcs = ["bazel/BazelRepositoryModule.java"],
- deps = [
- ":bazel-commands",
- ":bazel-repository",
- ":bazel-rules",
- ":build-base",
- ":runtime",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/pkgcache",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
- "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
- "//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/common/options:options_internal",
- "//src/main/protobuf:failure_details_java_proto",
- "//third_party:guava",
- ],
-)
-
-java_library(
- name = "bazel-main",
- srcs = ["bazel/Bazel.java"],
- resources = [
- "bazel/rules/java/java_stub_template.txt",
- "bazel/rules/python/python_stub_template.txt",
- ],
- deps = [
- ":bazel",
- ":bazel-coverage",
- ":bazel-modules",
- ":bazel-repository",
- ":bazel-rules",
- ":bazel/BazelRepositoryModule",
- ":build-base",
- "//src/main/java/com/google/devtools/build/lib/bazel/debug:workspace-rule-module",
- "//src/main/java/com/google/devtools/build/lib/buildeventservice",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset:options",
- "//src/main/java/com/google/devtools/build/lib/dynamic",
- "//src/main/java/com/google/devtools/build/lib/metrics:metrics_module",
- "//src/main/java/com/google/devtools/build/lib/network:noop_connectivity",
- "//src/main/java/com/google/devtools/build/lib/outputfilter",
- "//src/main/java/com/google/devtools/build/lib/platform:sleep_prevention_module",
- "//src/main/java/com/google/devtools/build/lib/profiler/callcounts:callcounts_module",
- "//src/main/java/com/google/devtools/build/lib/profiler/memory:allocationtracker_module",
- "//src/main/java/com/google/devtools/build/lib/remote",
- "//src/main/java/com/google/devtools/build/lib/sandbox",
- "//src/main/java/com/google/devtools/build/lib/skylarkdebug/module",
- "//src/main/java/com/google/devtools/build/lib/ssd",
- "//src/main/java/com/google/devtools/build/lib/standalone",
- "//src/main/java/com/google/devtools/build/lib/worker",
- "//third_party:guava",
- ],
-)
-
-java_library(
- name = "bazel-modules",
- srcs = glob(
- ["bazel/*.java"],
- exclude = [
- "bazel/Bazel.java",
- "bazel/BazelRepositoryModule.java",
- ],
- ),
- deps = [
- ":build-base",
- ":build-info",
- ":runtime",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/bazel/execlog:stable_sort",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/remote/options",
- "//src/main/java/com/google/devtools/build/lib/shell",
- "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
- "//src/main/java/com/google/devtools/build/lib/util:command",
- "//src/main/java/com/google/devtools/build/lib/util:exit_code",
- "//src/main/java/com/google/devtools/build/lib/util/io",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/common/options",
- "//third_party:guava",
- ],
-)
-
-java_library(
- name = "bazel-commands",
- srcs = glob(["bazel/commands/*.java"]),
- resources = [
- "bazel/commands/fetch.txt",
- "bazel/commands/sync.txt",
- ],
- deps = [
- ":bazel-repository",
- ":build-base",
- ":keep-going-option",
- ":loading-phase-threads-option",
- ":runtime",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/pkgcache",
- "//src/main/java/com/google/devtools/build/lib/query2/common:abstract-blaze-query-env",
- "//src/main/java/com/google/devtools/build/lib/query2/engine",
- "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
- "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
- "//src/main/java/com/google/devtools/build/lib/util:exit_code",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
- "//src/main/java/com/google/devtools/common/options",
- "//third_party:guava",
- ],
-)
-
-java_library(
- name = "bazel-coverage",
- srcs = glob(["bazel/coverage/*.java"]),
- deps = [
- ":build-base",
- ":runtime",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/concurrent",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/common/options",
- "//third_party:auto_value",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
-
-java_library(
- name = "bazel-repository",
- srcs = glob(
- [
- "bazel/repository/**/*.java",
- "bazel/rules/workspace/*.java",
- ],
- ),
- resources = [
- "bazel/repository/local_config_platform.WORKSPACE",
- ],
- deps = [
- ":build-base",
- ":runtime",
- "//src/java_tools/singlejar/java/com/google/devtools/build/zip",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/bazel/debug:workspace-rule-event",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache:events",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/concurrent",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/packages:type",
- "//src/main/java/com/google/devtools/build/lib/pkgcache",
- "//src/main/java/com/google/devtools/build/lib/profiler",
- "//src/main/java/com/google/devtools/build/lib/shell",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
- "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
- "//src/main/java/com/google/devtools/build/lib/syntax:frontend",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/util:os",
- "//src/main/java/com/google/devtools/build/lib/util:string",
- "//src/main/java/com/google/devtools/build/lib/util/io",
- "//src/main/java/com/google/devtools/build/lib/util/io:out-err",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
- "//src/main/java/com/google/devtools/common/options",
- "//third_party:apache_commons_compress",
- "//third_party:auto_value",
- "//third_party:diffutils",
- "//third_party:guava",
- "//third_party:jsr305",
- "//third_party:xz",
- ],
-)
-
# Rules
java_library(
name = "nativedeps-rules",
@@ -965,21 +658,12 @@
)
java_library(
- name = "bazel",
- resources = [
- ":runtime/commands/LICENSE",
- ],
- exports = [":runtime"],
-)
-
-java_library(
name = "all-build-rules",
exports = [
":build-base",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/concurrent",
"//src/main/java/com/google/devtools/build/lib/graph",
- "//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/objc",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/vfs",
@@ -996,6 +680,7 @@
":foundation",
":query2",
"//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/packages",
],
)
@@ -1021,36 +706,22 @@
],
)
-java_binary(
- name = "bazel/BazelServer",
- javacopts = [
- "-Xlint:all",
- "-Xlint:-path",
- ],
- main_class = "com.google.devtools.build.lib.bazel.Bazel",
- runtime_deps = [
- ":bazel-main",
- ":server",
- "//src/main/java/com/google/devtools/build/lib/util:simple_log_handler", # See startup_options.cc
- "//src/main/java/com/google/devtools/build/lib/util:single_line_formatter", # See startup_options.cc
- ],
-)
-
filegroup(
name = "docs_embedded_in_sources",
srcs = glob(["**/*.java"]) + [
- "//src/main/java/com/google/devtools/build/lib/rules/apple:srcs",
+ "//src/main/java/com/google/devtools/build/lib/analysis/platform:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/apple/cpp:srcs",
+ "//src/main/java/com/google/devtools/build/lib/rules/apple:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/config:srcs",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp:srcs",
- "//src/main/java/com/google/devtools/build/lib/rules/java:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/cpp/proto:srcs",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/genquery:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/genrule:srcs",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/objc:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/platform:srcs",
"//src/main/java/com/google/devtools/build/lib/rules/proto:srcs",
- "//src/main/java/com/google/devtools/build/lib/analysis/platform:srcs",
],
)
@@ -1087,14 +758,14 @@
cmd = (
"cat $(location //site:command-line-reference-prefix.html) > $@ && " +
"TMP=`mktemp -d /tmp/tmp.XXXXXXXXXX` && " +
- "$(location :bazel/BazelServer) " +
+ "$(location //src/main/java/com/google/devtools/build/lib/bazel:BazelServer) " +
"--jvm_flag=-Dio.bazel.EnableJni=0 --batch " +
"--install_base=$${TMP} --output_base=$${TMP}/output/ --output_user_root=$${TMP} " +
"help everything-as-html >> $@ 2>/dev/null && " +
"cat $(location //site:command-line-reference-suffix.html) >> $@"
),
tools = [
- ":bazel/BazelServer",
+ "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer",
],
visibility = [
"//site:__pkg__",
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/BUILD
new file mode 100644
index 0000000..9059749
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/BUILD
@@ -0,0 +1,133 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/commands:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/coverage:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/debug:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/execlog:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "repository_module",
+ srcs = ["BazelRepositoryModule.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel/commands",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
+ "//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//src/main/protobuf:failure_details_java_proto",
+ "//third_party:guava",
+ ],
+)
+
+java_library(
+ name = "builtin_command_module",
+ srcs = ["BazelBuiltinCommandModule.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ ],
+)
+
+java_library(
+ name = "modules",
+ srcs = [
+ "BazelDiffAwarenessModule.java",
+ "BazelStartupOptionsModule.java",
+ "BazelWorkspaceStatusModule.java",
+ "SpawnLogModule.java",
+ ],
+ deps = [
+ "//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:runtime",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/execlog:stable_sort",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/remote/options",
+ "//src/main/java/com/google/devtools/build/lib/shell",
+ "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
+ "//src/main/java/com/google/devtools/build/lib/util:command",
+ "//src/main/java/com/google/devtools/build/lib/util:exit_code",
+ "//src/main/java/com/google/devtools/build/lib/util/io",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:guava",
+ ],
+)
+
+java_library(
+ name = "main",
+ srcs = ["Bazel.java"],
+ deps = [
+ ":builtin_command_module",
+ ":modules",
+ ":repository_module",
+ "//src/main/java/com/google/devtools/build/lib:blaze-version-info",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel/coverage",
+ "//src/main/java/com/google/devtools/build/lib/bazel/debug:workspace-rule-module",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions",
+ "//src/main/java/com/google/devtools/build/lib/buildeventservice",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset:options",
+ "//src/main/java/com/google/devtools/build/lib/dynamic",
+ "//src/main/java/com/google/devtools/build/lib/metrics:metrics_module",
+ "//src/main/java/com/google/devtools/build/lib/network:noop_connectivity",
+ "//src/main/java/com/google/devtools/build/lib/outputfilter",
+ "//src/main/java/com/google/devtools/build/lib/platform:sleep_prevention_module",
+ "//src/main/java/com/google/devtools/build/lib/profiler/callcounts:callcounts_module",
+ "//src/main/java/com/google/devtools/build/lib/profiler/memory:allocationtracker_module",
+ "//src/main/java/com/google/devtools/build/lib/remote",
+ "//src/main/java/com/google/devtools/build/lib/sandbox",
+ "//src/main/java/com/google/devtools/build/lib/skylarkdebug/module",
+ "//src/main/java/com/google/devtools/build/lib/ssd",
+ "//src/main/java/com/google/devtools/build/lib/standalone",
+ "//src/main/java/com/google/devtools/build/lib/worker",
+ "//third_party:guava",
+ ],
+)
+
+java_binary(
+ name = "BazelServer",
+ javacopts = [
+ "-Xlint:all",
+ "-Xlint:-path",
+ ],
+ main_class = "com.google.devtools.build.lib.bazel.Bazel",
+ runtime_deps = [
+ ":main",
+ "//src/main/java/com/google/devtools/build/lib:server",
+ "//src/main/java/com/google/devtools/build/lib/util:simple_log_handler", # See startup_options.cc
+ "//src/main/java/com/google/devtools/build/lib/util:single_line_formatter", # See startup_options.cc
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD
new file mode 100644
index 0000000..dd8f6df
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD
@@ -0,0 +1,43 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "commands",
+ srcs = glob(["*.java"]),
+ resources = [
+ "fetch.txt",
+ "sync.txt",
+ "//src/main/java/com/google/devtools/build/lib:merge_licenses", # license
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:keep-going-option",
+ "//src/main/java/com/google/devtools/build/lib:loading-phase-threads-option",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib:syntax",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/query2/common:abstract-blaze-query-env",
+ "//src/main/java/com/google/devtools/build/lib/query2/engine",
+ "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
+ "//src/main/java/com/google/devtools/build/lib/util:exit_code",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/coverage/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/coverage/BUILD
new file mode 100644
index 0000000..6621223
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/coverage/BUILD
@@ -0,0 +1,31 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "coverage",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:auto_value",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/debug/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/debug/BUILD
index e194eb3..0e97a1a 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/debug/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/debug/BUILD
@@ -5,17 +5,14 @@
# Description:
# Debugging helpers and modules
package(
- default_visibility = ["//src:__subpackages__"],
+ default_visibility =
+ ["//src:__subpackages__"],
)
filegroup(
name = "srcs",
srcs = glob(["**"]),
- visibility = [
- "//src:__pkg__",
- "//src/main/java/com/google/devtools/build/lib:__pkg__",
- "//src/test/shell/bazel:__pkg__",
- ],
+ visibility = ["//src:__subpackages__"],
)
proto_library(
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/execlog/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/execlog/BUILD
index 350bde3..8f39159 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/execlog/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/execlog/BUILD
@@ -4,7 +4,7 @@
filegroup(
name = "srcs",
- srcs = glob(["**"]),
+ srcs = glob(["*"]),
visibility = ["//src:__subpackages__"],
)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/repository/BUILD
new file mode 100644
index 0000000..44e4fdc
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/BUILD
@@ -0,0 +1,47 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "repository",
+ srcs = glob(["*.java"]),
+ resources = [
+ "local_config_platform.WORKSPACE",
+ ],
+ deps = [
+ "//src/java_tools/singlejar/java/com/google/devtools/build/zip",
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib:syntax",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache:events",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:apache_commons_compress",
+ "//third_party:auto_value",
+ "//third_party:diffutils",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party:xz",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
index 9560d84..34bc630 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
@@ -8,8 +8,6 @@
visibility = ["//src:__subpackages__"],
)
-# Description:
-# Main Java code for Bazel
java_library(
name = "downloader",
srcs = glob(["*.java"]),
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD
new file mode 100644
index 0000000..e6b0b44
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD
@@ -0,0 +1,46 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(default_visibility = ["//src:__subpackages__"])
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "skylark",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/debug:workspace-rule-event",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/profiler",
+ "//src/main/java/com/google/devtools/build/lib/shell",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
+ "//src/main/java/com/google/devtools/build/lib/syntax:frontend",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/util:string",
+ "//src/main/java/com/google/devtools/build/lib/util/io",
+ "//src/main/java/com/google/devtools/build/lib/util/io:out-err",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//third_party:diffutils",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
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 0000000..b4017c8
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BUILD
@@ -0,0 +1,79 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/common:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/genrule:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/python:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/sh:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "rules",
+ srcs = glob(["*.java"]),
+ resources = glob([
+ "*.txt",
+ "*.WORKSPACE",
+ ]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:core-rules",
+ "//src/main/java/com/google/devtools/build/lib:core-workspace-rules",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib:testing-support-rules",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/common",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:bazel_cpp_semantics",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/genrule",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:bazel_java_semantics",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java/proto",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/python",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/sh",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/remote",
+ "//src/main/java/com/google/devtools/build/lib/remote/options",
+ "//src/main/java/com/google/devtools/build/lib/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/rules/config",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp/proto:CcProtoLibrary",
+ "//src/main/java/com/google/devtools/build/lib/rules/genquery",
+ "//src/main/java/com/google/devtools/build/lib/rules/genrule",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
+ "//src/main/java/com/google/devtools/build/lib/rules/objc",
+ "//src/main/java/com/google/devtools/build/lib/rules/platform",
+ "//src/main/java/com/google/devtools/build/lib/rules/proto",
+ "//src/main/java/com/google/devtools/build/lib/rules/python",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/android",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/proto",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/python",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/stubs",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:abrupt_exit_exception",
+ "//src/main/java/com/google/devtools/build/lib/util:exit_code",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BUILD
new file mode 100644
index 0000000..ee382e6
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/BUILD
@@ -0,0 +1,55 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "android",
+ srcs = glob(["*.java"]),
+ resources = glob(
+ [
+ "*.txt",
+ "*.WORKSPACE",
+ ],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:syntax",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:android_ndk_crosstools",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp:bazel_cpp_semantics",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:bazel_java_semantics",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/rules/config",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:shell_escaper",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:android_common_25_0_0_lite",
+ "//third_party:auto_value",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD
new file mode 100644
index 0000000..ad27b68
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD
@@ -0,0 +1,59 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r13:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r17:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r18:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r19:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "android_ndk_crosstools",
+ srcs = [
+ "AndroidNdkCrosstools.java",
+ "NdkRelease.java",
+ ],
+ deps = [
+ ":ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r13",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r17",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r18",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r19",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//third_party:guava",
+ ],
+)
+
+java_library(
+ name = "ndkcrosstools",
+ srcs = glob(
+ ["*.java"],
+ exclude = [
+ "AndroidNdkCrosstools.java",
+ "NdkRelease.java",
+ ],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/BUILD
new file mode 100644
index 0000000..861b137
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r10e",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/BUILD
new file mode 100644
index 0000000..531ab0d
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r11/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r11",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/BUILD
new file mode 100644
index 0000000..8dbb6d7
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r12",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r13/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r13/BUILD
new file mode 100644
index 0000000..c45c7ba
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r13/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r13",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/BUILD
new file mode 100644
index 0000000..98ed42a
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r15",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r17/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r17/BUILD
new file mode 100644
index 0000000..eea4ea0
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r17/BUILD
@@ -0,0 +1,22 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r17",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r18/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r18/BUILD
new file mode 100644
index 0000000..61a2604
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r18/BUILD
@@ -0,0 +1,22 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r18",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r19/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r19/BUILD
new file mode 100644
index 0000000..8ad59d4
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r19/BUILD
@@ -0,0 +1,22 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "r19",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BUILD
new file mode 100644
index 0000000..507a6b0
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/common/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "common",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ ],
+)
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 0000000..5545163
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD
@@ -0,0 +1,55 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "cpp",
+ srcs = glob(
+ ["*.java"],
+ exclude = ["BazelCppSemantics.java"],
+ ),
+ resources = glob(
+ [
+ "*.txt",
+ "*.WORKSPACE",
+ ],
+ ),
+ deps = [
+ ":bazel_cpp_semantics",
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:syntax",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/analysis/platform",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//third_party:guava",
+ ],
+)
+
+java_library(
+ name = "bazel_cpp_semantics",
+ srcs = ["BazelCppSemantics.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto/BUILD
new file mode 100644
index 0000000..d87f946
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto/BUILD
@@ -0,0 +1,21 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "proto",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp/proto:CcProtoLibrary",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD
new file mode 100644
index 0000000..974145f
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD
@@ -0,0 +1,23 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "genrule",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/genrule",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
new file mode 100644
index 0000000..72298fc
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
@@ -0,0 +1,66 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java/proto:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "java",
+ srcs = glob(
+ ["*.java"],
+ exclude = ["BazelJavaSemantics.java"],
+ ),
+ resources = glob(
+ [
+ "*.txt",
+ "*.WORKSPACE",
+ ],
+ ),
+ deps = [
+ ":bazel_java_semantics",
+ "//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/bazel/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
+ "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ "//third_party:guava",
+ ],
+)
+
+java_library(
+ name = "bazel_java_semantics",
+ srcs = ["BazelJavaSemantics.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
+ "//src/main/java/com/google/devtools/build/lib/shell",
+ "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/util:shell_escaper",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/proto/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/proto/BUILD
new file mode 100644
index 0000000..4a47cb0
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/proto/BUILD
@@ -0,0 +1,30 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "proto",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:bazel_java_semantics",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:RpcSupport",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
+ "//src/main/java/com/google/devtools/build/lib/rules/proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD
new file mode 100644
index 0000000..c05c3a8
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD
@@ -0,0 +1,15 @@
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]) + [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser:srcs",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/BUILD
new file mode 100644
index 0000000..b229e9c
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/BUILD
@@ -0,0 +1,41 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "actions",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser:parser_impl",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline:pipeline_impl",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:starlark_semantics_options",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/NinjaGraph.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/NinjaGraph.java
index 2d95d9e..0394773 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/NinjaGraph.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions/NinjaGraph.java
@@ -38,7 +38,7 @@
import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.bazel.rules.ninja.file.GenericParsingException;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaTarget;
-import com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipeline;
+import com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipelineImpl;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.collect.nestedset.Order;
@@ -118,7 +118,7 @@
.getWorkspace();
String ownerTargetName = ruleContext.getLabel().getName();
List<NinjaTarget> ninjaTargets =
- new NinjaPipeline(
+ new NinjaPipelineImpl(
workspace.getRelative(workingDirectory),
MoreExecutors.listeningDecorator(NINJA_POOL),
childNinjaFiles,
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/BUILD
new file mode 100644
index 0000000..e22e0e6
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file/BUILD
@@ -0,0 +1,17 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "file",
+ srcs = glob(["*.java"]),
+ deps = ["//third_party:guava"],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer/BUILD
new file mode 100644
index 0000000..275555a
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer/BUILD
@@ -0,0 +1,22 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "lexer",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/BUILD
new file mode 100644
index 0000000..612d602
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser/BUILD
@@ -0,0 +1,42 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "parser",
+ srcs = ["NinjaParser.java"],
+ deps = [
+ ":parser_impl",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ ],
+)
+
+java_library(
+ name = "parser_impl",
+ srcs = glob(
+ ["*.java"],
+ exclude = ["NinjaParser.java"],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer",
+ "//src/main/java/com/google/devtools/build/lib/collect",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//third_party:error_prone_annotations",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/BUILD
new file mode 100644
index 0000000..03283a3
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/BUILD
@@ -0,0 +1,36 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "pipeline",
+ srcs = ["NinjaPipeline.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser:parser_impl",
+ ],
+)
+
+java_library(
+ name = "pipeline_impl",
+ srcs = ["NinjaPipelineImpl.java"],
+ deps = [
+ ":pipeline",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser:parser_impl",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
index 14397ed..48d7a5c 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipeline.java
@@ -14,117 +14,22 @@
package com.google.devtools.build.lib.bazel.rules.ninja.pipeline;
-import static com.google.devtools.build.lib.concurrent.MoreFutures.waitForFutureAndGetWithCheckedException;
-import com.google.common.annotations.VisibleForTesting;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.ListeningExecutorService;
-import com.google.devtools.build.lib.bazel.rules.ninja.file.CollectingListFuture;
-import com.google.devtools.build.lib.bazel.rules.ninja.file.FileFragment;
import com.google.devtools.build.lib.bazel.rules.ninja.file.GenericParsingException;
-import com.google.devtools.build.lib.bazel.rules.ninja.file.ParallelFileProcessing;
-import com.google.devtools.build.lib.bazel.rules.ninja.file.ParallelFileProcessing.BlockParameters;
-import com.google.devtools.build.lib.bazel.rules.ninja.lexer.NinjaLexer;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaFileParseResult;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaFileParseResult.NinjaPromise;
-import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaParser;
-import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaParserStep;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaScope;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaTarget;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaVariableValue;
-import com.google.devtools.build.lib.util.Pair;
-import com.google.devtools.build.lib.vfs.Path;
import java.io.IOException;
-import java.nio.channels.ReadableByteChannel;
-import java.util.ArrayDeque;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
/**
- * Responsible for parsing Ninja file, all its included and subninja files, and returning {@link
- * NinjaScope} with rules and expanded variables, and list of {@link NinjaTarget}.
+ * Interface Responsible for parsing Ninja file, all its included and subninja files, and returning
+ * {@link NinjaScope} with rules and expanded variables, and list of {@link NinjaTarget}.
*
- * <p>Uses provided {@link ListeningExecutorService} for scheduling tasks in parallel.
+ * <p>This interface exists to break the package cycle between parser and pipeline.
*/
-public class NinjaPipeline {
- private final Path basePath;
- private final ListeningExecutorService service;
- private final Collection<Path> includedOrSubninjaFiles;
- private final String ownerTargetName;
- private final Set<Path> childPaths;
- private Integer readBlockSize;
-
- /**
- * @param basePath base path for resolving include and subninja paths.
- * @param service service to use for scheduling tasks in parallel.
- * @param includedOrSubninjaFiles Ninja files expected in include/subninja statements
- * @param ownerTargetName name of the owner ninja_graph target
- */
- public NinjaPipeline(
- Path basePath,
- ListeningExecutorService service,
- Collection<Path> includedOrSubninjaFiles,
- String ownerTargetName) {
- this.basePath = basePath;
- this.service = service;
- this.includedOrSubninjaFiles = includedOrSubninjaFiles;
- this.ownerTargetName = ownerTargetName;
- this.childPaths = Sets.newConcurrentHashSet();
- }
-
- /**
- * Parses <code>mainFile</code> and all it's children from include and subninja statements.
- *
- * @return {@link Pair} of {@link NinjaScope} with rules and expanded variables (and child
- * scopes), and list of {@link NinjaTarget}.
- */
- public List<NinjaTarget> pipeline(Path mainFile)
- throws GenericParsingException, InterruptedException, IOException {
- NinjaFileParseResult result =
- waitForFutureAndGetWithCheckedException(
- scheduleParsing(mainFile), GenericParsingException.class, IOException.class);
-
- Map<NinjaScope, List<FileFragment>> rawTargets = Maps.newHashMap();
- NinjaScope scope = new NinjaScope();
- // This will cause additional parsing of included/subninja scopes, and their recursive expand.
- result.expandIntoScope(scope, rawTargets);
- return iterateScopesScheduleTargetsParsing(scope, rawTargets);
- }
-
- /**
- * Each NinjaTarget should be parsed in the context of it's parent {@link NinjaScope}. (All the
- * variables in targets are immediately expanded.) We are iterating main and all transitively
- * included scopes, and parsing corresponding targets.
- */
- private List<NinjaTarget> iterateScopesScheduleTargetsParsing(
- NinjaScope scope, Map<NinjaScope, List<FileFragment>> rawTargets)
- throws GenericParsingException, InterruptedException {
- ArrayDeque<NinjaScope> queue = new ArrayDeque<>();
- queue.add(scope);
- CollectingListFuture<NinjaTarget, GenericParsingException> future =
- new CollectingListFuture<>(GenericParsingException.class);
- while (!queue.isEmpty()) {
- NinjaScope currentScope = queue.removeFirst();
- List<FileFragment> targetFragments = rawTargets.get(currentScope);
- Preconditions.checkNotNull(targetFragments);
- for (FileFragment fragment : targetFragments) {
- future.add(
- service.submit(
- () ->
- new NinjaParserStep(new NinjaLexer(fragment))
- .parseNinjaTarget(currentScope, fragment.getFragmentOffset())));
- }
- queue.addAll(currentScope.getIncludedScopes());
- queue.addAll(currentScope.getSubNinjaScopes());
- }
- return future.getResult();
- }
+public interface NinjaPipeline {
/**
* Synchronously or asynchronously schedules parsing of the included Ninja file, and returns
@@ -139,84 +44,7 @@
* <p>That is why we use {@link NinjaPromise<NinjaFileParseResult>} to save the future file
* parsing result in the parent file {@link NinjaFileParseResult} structure.
*/
- public NinjaPromise<NinjaFileParseResult> createChildFileParsingPromise(
+ NinjaPromise<NinjaFileParseResult> createChildFileParsingPromise(
NinjaVariableValue value, long offset, String parentNinjaFileName)
- throws GenericParsingException, IOException {
- if (value.isPlainText()) {
- // If the value of the path is already known, we can immediately schedule parsing
- // of the child Ninja file.
- Path path = getChildNinjaPath(value.getRawText(), parentNinjaFileName);
- ListenableFuture<NinjaFileParseResult> parsingFuture = scheduleParsing(path);
- return (scope) ->
- waitForFutureAndGetWithCheckedException(
- parsingFuture, GenericParsingException.class, IOException.class);
- } else {
- // If the value of the child path refers some variables in the parent scope, resolve it,
- // when the lambda is called, schedule the parsing and wait for it's completion.
- return (scope) -> {
- String expandedValue = scope.getExpandedValue(offset, value);
- if (expandedValue.isEmpty()) {
- throw new GenericParsingException("Expected non-empty path.");
- }
- Path path = getChildNinjaPath(expandedValue, parentNinjaFileName);
- return waitForFutureAndGetWithCheckedException(
- scheduleParsing(path), GenericParsingException.class, IOException.class);
- };
- }
- }
-
- /**
- * Set the size of the block read by {@link ParallelFileProcessing}. Method is mainly intended to
- * be used in tests.
- */
- @VisibleForTesting
- public void setReadBlockSize(Integer readBlockSize) {
- this.readBlockSize = readBlockSize;
- }
-
- private Path getChildNinjaPath(String rawText, String parentNinjaFileName)
- throws GenericParsingException {
- Path childPath = basePath.getRelative(rawText);
- if (!this.includedOrSubninjaFiles.contains(childPath)) {
- throw new GenericParsingException(
- String.format(
- "Ninja file requested from '%s' " + "not declared in 'srcs' attribute of '%s'.",
- parentNinjaFileName, this.ownerTargetName));
- }
- return childPath;
- }
-
- /**
- * Actually schedules the parsing of the Ninja file and returns {@link
- * ListenableFuture<NinjaFileParseResult>} for obtaining the result.
- */
- private ListenableFuture<NinjaFileParseResult> scheduleParsing(Path path)
- throws IOException, GenericParsingException {
- if (!this.childPaths.add(path)) {
- throw new GenericParsingException(
- String.format(
- "Detected cycle or duplicate inclusion in Ninja files dependencies, including '%s'.",
- path.getBaseName()));
- }
- BlockParameters parameters = new BlockParameters(path.getFileSize());
- if (readBlockSize != null) {
- parameters.setReadBlockSize(readBlockSize);
- }
- return service.submit(
- () -> {
- try (ReadableByteChannel channel = path.createReadableByteChannel()) {
- List<NinjaFileParseResult> pieces = Lists.newArrayList();
- ParallelFileProcessing.processFile(
- channel,
- parameters,
- () -> {
- NinjaFileParseResult parseResult = new NinjaFileParseResult();
- pieces.add(parseResult);
- return new NinjaParser(NinjaPipeline.this, parseResult, path.getBaseName());
- },
- service);
- return NinjaFileParseResult.merge(pieces);
- }
- });
- }
+ throws GenericParsingException, IOException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipelineImpl.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipelineImpl.java
new file mode 100644
index 0000000..bce133f
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline/NinjaPipelineImpl.java
@@ -0,0 +1,210 @@
+// Copyright 2019 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.devtools.build.lib.bazel.rules.ninja.pipeline;
+
+import static com.google.devtools.build.lib.concurrent.MoreFutures.waitForFutureAndGetWithCheckedException;
+
+import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.devtools.build.lib.bazel.rules.ninja.file.CollectingListFuture;
+import com.google.devtools.build.lib.bazel.rules.ninja.file.FileFragment;
+import com.google.devtools.build.lib.bazel.rules.ninja.file.GenericParsingException;
+import com.google.devtools.build.lib.bazel.rules.ninja.file.ParallelFileProcessing;
+import com.google.devtools.build.lib.bazel.rules.ninja.file.ParallelFileProcessing.BlockParameters;
+import com.google.devtools.build.lib.bazel.rules.ninja.lexer.NinjaLexer;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaFileParseResult;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaFileParseResult.NinjaPromise;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaParser;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaParserStep;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaScope;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaTarget;
+import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaVariableValue;
+import com.google.devtools.build.lib.util.Pair;
+import com.google.devtools.build.lib.vfs.Path;
+import java.io.IOException;
+import java.nio.channels.ReadableByteChannel;
+import java.util.ArrayDeque;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Responsible for parsing Ninja file, all its included and subninja files, and returning {@link
+ * NinjaScope} with rules and expanded variables, and list of {@link NinjaTarget}.
+ *
+ * <p>Uses provided {@link ListeningExecutorService} for scheduling tasks in parallel.
+ */
+public class NinjaPipelineImpl implements NinjaPipeline {
+ private final Path basePath;
+ private final ListeningExecutorService service;
+ private final Collection<Path> includedOrSubninjaFiles;
+ private final String ownerTargetName;
+ private final Set<Path> childPaths;
+ private Integer readBlockSize;
+
+ /**
+ * @param basePath base path for resolving include and subninja paths.
+ * @param service service to use for scheduling tasks in parallel.
+ * @param includedOrSubninjaFiles Ninja files expected in include/subninja statements
+ * @param ownerTargetName name of the owner ninja_graph target
+ */
+ public NinjaPipelineImpl(
+ Path basePath,
+ ListeningExecutorService service,
+ Collection<Path> includedOrSubninjaFiles,
+ String ownerTargetName) {
+ this.basePath = basePath;
+ this.service = service;
+ this.includedOrSubninjaFiles = includedOrSubninjaFiles;
+ this.ownerTargetName = ownerTargetName;
+ this.childPaths = Sets.newConcurrentHashSet();
+ }
+
+ /**
+ * Parses <code>mainFile</code> and all it's children from include and subninja statements.
+ *
+ * @return {@link Pair} of {@link NinjaScope} with rules and expanded variables (and child
+ * scopes), and list of {@link NinjaTarget}.
+ */
+ public List<NinjaTarget> pipeline(Path mainFile)
+ throws GenericParsingException, InterruptedException, IOException {
+ NinjaFileParseResult result =
+ waitForFutureAndGetWithCheckedException(
+ scheduleParsing(mainFile), GenericParsingException.class, IOException.class);
+
+ Map<NinjaScope, List<FileFragment>> rawTargets = Maps.newHashMap();
+ NinjaScope scope = new NinjaScope();
+ // This will cause additional parsing of included/subninja scopes, and their recursive expand.
+ result.expandIntoScope(scope, rawTargets);
+ return iterateScopesScheduleTargetsParsing(scope, rawTargets);
+ }
+
+ /**
+ * Each NinjaTarget should be parsed in the context of it's parent {@link NinjaScope}. (All the
+ * variables in targets are immediately expanded.) We are iterating main and all transitively
+ * included scopes, and parsing corresponding targets.
+ */
+ private List<NinjaTarget> iterateScopesScheduleTargetsParsing(
+ NinjaScope scope, Map<NinjaScope, List<FileFragment>> rawTargets)
+ throws GenericParsingException, InterruptedException {
+ ArrayDeque<NinjaScope> queue = new ArrayDeque<>();
+ queue.add(scope);
+ CollectingListFuture<NinjaTarget, GenericParsingException> future =
+ new CollectingListFuture<>(GenericParsingException.class);
+ while (!queue.isEmpty()) {
+ NinjaScope currentScope = queue.removeFirst();
+ List<FileFragment> targetFragments = rawTargets.get(currentScope);
+ Preconditions.checkNotNull(targetFragments);
+ for (FileFragment fragment : targetFragments) {
+ future.add(
+ service.submit(
+ () ->
+ new NinjaParserStep(new NinjaLexer(fragment))
+ .parseNinjaTarget(currentScope, fragment.getFragmentOffset())));
+ }
+ queue.addAll(currentScope.getIncludedScopes());
+ queue.addAll(currentScope.getSubNinjaScopes());
+ }
+ return future.getResult();
+ }
+
+ @Override
+ public NinjaPromise<NinjaFileParseResult> createChildFileParsingPromise(
+ NinjaVariableValue value, long offset, String parentNinjaFileName)
+ throws GenericParsingException, IOException {
+ if (value.isPlainText()) {
+ // If the value of the path is already known, we can immediately schedule parsing
+ // of the child Ninja file.
+ Path path = getChildNinjaPath(value.getRawText(), parentNinjaFileName);
+ ListenableFuture<NinjaFileParseResult> parsingFuture = scheduleParsing(path);
+ return (scope) ->
+ waitForFutureAndGetWithCheckedException(
+ parsingFuture, GenericParsingException.class, IOException.class);
+ } else {
+ // If the value of the child path refers some variables in the parent scope, resolve it,
+ // when the lambda is called, schedule the parsing and wait for it's completion.
+ return (scope) -> {
+ String expandedValue = scope.getExpandedValue(offset, value);
+ if (expandedValue.isEmpty()) {
+ throw new GenericParsingException("Expected non-empty path.");
+ }
+ Path path = getChildNinjaPath(expandedValue, parentNinjaFileName);
+ return waitForFutureAndGetWithCheckedException(
+ scheduleParsing(path), GenericParsingException.class, IOException.class);
+ };
+ }
+ }
+
+ /**
+ * Set the size of the block read by {@link ParallelFileProcessing}. Method is mainly intended to
+ * be used in tests.
+ */
+ @VisibleForTesting
+ public void setReadBlockSize(Integer readBlockSize) {
+ this.readBlockSize = readBlockSize;
+ }
+
+ private Path getChildNinjaPath(String rawText, String parentNinjaFileName)
+ throws GenericParsingException {
+ Path childPath = basePath.getRelative(rawText);
+ if (!this.includedOrSubninjaFiles.contains(childPath)) {
+ throw new GenericParsingException(
+ String.format(
+ "Ninja file requested from '%s' " + "not declared in 'srcs' attribute of '%s'.",
+ parentNinjaFileName, this.ownerTargetName));
+ }
+ return childPath;
+ }
+
+ /**
+ * Actually schedules the parsing of the Ninja file and returns {@link
+ * ListenableFuture<NinjaFileParseResult>} for obtaining the result.
+ */
+ private ListenableFuture<NinjaFileParseResult> scheduleParsing(Path path)
+ throws IOException, GenericParsingException {
+ if (!this.childPaths.add(path)) {
+ throw new GenericParsingException(
+ String.format(
+ "Detected cycle or duplicate inclusion in Ninja files dependencies, including '%s'.",
+ path.getBaseName()));
+ }
+ BlockParameters parameters = new BlockParameters(path.getFileSize());
+ if (readBlockSize != null) {
+ parameters.setReadBlockSize(readBlockSize);
+ }
+ return service.submit(
+ () -> {
+ try (ReadableByteChannel channel = path.createReadableByteChannel()) {
+ List<NinjaFileParseResult> pieces = Lists.newArrayList();
+ ParallelFileProcessing.processFile(
+ channel,
+ parameters,
+ () -> {
+ NinjaFileParseResult parseResult = new NinjaFileParseResult();
+ pieces.add(parseResult);
+ return new NinjaParser(this, parseResult, path.getBaseName());
+ },
+ service);
+ return NinjaFileParseResult.merge(pieces);
+ }
+ });
+ }
+}
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BUILD
new file mode 100644
index 0000000..2b99da3
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BUILD
@@ -0,0 +1,42 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "python",
+ srcs = glob(["*.java"]),
+ resources = glob(
+ [
+ "*.txt",
+ "*.WORKSPACE",
+ ],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/rules/python",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD
new file mode 100644
index 0000000..642db99
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD
@@ -0,0 +1,34 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "sh",
+ srcs = glob(["*.java"]),
+ resources = glob(
+ [
+ "*.txt",
+ "*.WORKSPACE",
+ ],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/util:filetype",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BUILD
index 2427851..8ffa21d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/BUILD
@@ -50,12 +50,12 @@
srcs = ["BazelPackageLoader.java"],
deps = [
":AbstractPackageLoader",
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
- "//src/main/java/com/google/devtools/build/lib:bazel-rules",
- "//src/main/java/com/google/devtools/build/lib:bazel/BazelRepositoryModule",
"//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/bazel:repository_module",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/com/google/devtools/build/skyframe",
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index b0dc3bc..5b2389c 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -246,9 +246,9 @@
test_class = "com.google.devtools.build.lib.AllTests",
deps = [
":AllTests",
- "//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/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/events",
@@ -293,9 +293,9 @@
test_class = "com.google.devtools.build.lib.AllTests",
deps = [
":AllTests",
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
"//src/main/java/com/google/devtools/build/lib:runtime",
"//src/main/java/com/google/devtools/build/lib:server",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/collect",
"//src/main/java/com/google/devtools/build/lib/unix",
@@ -340,15 +340,15 @@
test_class = "com.google.devtools.build.lib.AllTests",
deps = [
":AllTests",
- "//src/main/java/com/google/devtools/build/lib:bazel-modules",
- "//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:build-request-options",
"//src/main/java/com/google/devtools/build/lib:loading-phase-threads-option",
"//src/main/java/com/google/devtools/build/lib:runtime",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
+ "//src/main/java/com/google/devtools/build/lib/bazel:modules",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/buildeventstream",
"//src/main/java/com/google/devtools/build/lib/buildeventstream/proto:build_event_stream_java_proto",
"//src/main/java/com/google/devtools/build/lib/buildeventstream/transports",
@@ -411,10 +411,10 @@
test_class = "com.google.devtools.build.lib.AllTests",
deps = [
":AllTests",
- "//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/actions",
"//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/events",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
index 4093f07..bf4ec42 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/mock/BUILD
@@ -26,9 +26,10 @@
"//tools/cpp:cc_toolchain_config_lib.bzl",
],
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
- "//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/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/python",
"//src/main/java/com/google/devtools/build/lib/rules/android",
"//src/main/java/com/google/devtools/build/lib/rules/apple",
"//src/main/java/com/google/devtools/build/lib/rules/apple/swift",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
index 4511d67..40432fc 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
@@ -33,13 +33,13 @@
),
deps = [
":test-build-options",
- "//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:build-request-options",
"//src/main/java/com/google/devtools/build/lib:keep-going-option",
"//src/main/java/com/google/devtools/build/lib:loading-phase-threads-option",
"//src/main/java/com/google/devtools/build/lib:syntax",
"//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android",
"//src/main/java/com/google/devtools/build/lib/causes",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/BUILD
index 8b39a0d..2a1f6c1 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/BUILD
@@ -1,19 +1,37 @@
-load("@rules_java//java:defs.bzl", "java_test")
-
package(
- default_testonly = True,
+ default_testonly = 1,
default_visibility = ["//src:__subpackages__"],
)
filegroup(
name = "srcs",
testonly = 0,
- srcs = glob(["**"]) + [
+ srcs = glob(["*"]) + [
"//src/test/java/com/google/devtools/build/lib/bazel/debug:srcs",
- "//src/test/java/com/google/devtools/build/lib/bazel/repository:srcs",
"//src/test/java/com/google/devtools/build/lib/bazel/execlog:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules:srcs",
],
- visibility = ["//src/test/java/com/google/devtools/build/lib:__pkg__"],
+ visibility = ["//src:__subpackages__"],
+)
+
+# List of all java_library rules containing tests that are platform agnostic.
+java_library(
+ name = "BazelTests_lib",
+ exports = [
+ "//src/test/java/com/google/devtools/build/lib/bazel/debug:WorkspaceRuleEventTest_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/execlog:StableSortTest_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository:RepositoryTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository/cache:RepositoryCacheTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository/downloader:DownloaderTestSuite_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository/skylark:SkylarkTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules:BazelRuleTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android:AndroidTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:NdkCrosstoolsTest_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/genrule:GenruleTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/java:JavaTests_lib",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/ninja:NinjaTests_lib",
+ ],
)
test_suite(
@@ -22,105 +40,15 @@
"-no_windows",
"-slow",
],
- visibility = ["//visibility:private"],
)
test_suite(
name = "all_windows_tests",
tests = [
":windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/debug:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/execlog:all_windows_tests",
"//src/test/java/com/google/devtools/build/lib/bazel/repository:all_windows_tests",
- ],
- visibility = ["//src/test/java/com/google/devtools/build/lib:__pkg__"],
-)
-
-java_test(
- name = "bazel-ninja-tests",
- srcs = glob(["rules/ninja/**/*.java"]),
- test_class = "com.google.devtools.build.lib.AllTests",
- deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-ninja",
- "//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/concurrent",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/syntax:frontend",
- "//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/vfs:pathfragment",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/test/java/com/google/devtools/build/lib:test_runner",
- "//src/test/java/com/google/devtools/build/lib/actions/util",
- "//src/test/java/com/google/devtools/build/lib/analysis/util",
- "//src/test/java/com/google/devtools/build/lib/testutil",
- "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
- "//third_party:guava",
- "//third_party:guava-testlib",
- "//third_party:jsr305",
- "//third_party:junit4",
- "//third_party:truth",
- "//third_party/allocation_instrumenter",
- ],
-)
-
-java_test(
- name = "bazel-rules-tests",
- srcs = glob(
- ["rules/**/*.java"],
- exclude = [
- "rules/genrule/GenRuleWindowsConfiguredTargetTest.java",
- "rules/ninja/**/*.java",
- ],
- ) + select({
- "//src:windows": ["rules/genrule/GenRuleWindowsConfiguredTargetTest.java"],
- "//conditions:default": [],
- }),
- resources = [
- "//tools/android:android_sdk_repository_template.bzl",
- "//tools/build_defs/cc:action_names.bzl",
- "//tools/cpp:cc_toolchain_config_lib.bzl",
- ] + glob(["rules/**/*.txt"]),
- tags = ["rules"],
- test_class = "com.google.devtools.build.lib.AllTests",
- deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//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:core-rules",
- "//src/main/java/com/google/devtools/build/lib:core-workspace-rules",
- "//src/main/java/com/google/devtools/build/lib:syntax",
- "//src/main/java/com/google/devtools/build/lib/actions",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/packages:build_type",
- "//src/main/java/com/google/devtools/build/lib/packages:type",
- "//src/main/java/com/google/devtools/build/lib/rules/android",
- "//src/main/java/com/google/devtools/build/lib/rules/config",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
- "//src/main/java/com/google/devtools/build/lib/util",
- "//src/main/java/com/google/devtools/build/lib/util:os",
- "//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
- "//src/main/java/com/google/devtools/common/options",
- "//src/main/protobuf:crosstool_config_java_proto",
- "//src/test/java/com/google/devtools/build/lib:test_runner",
- "//src/test/java/com/google/devtools/build/lib/actions/util",
- "//src/test/java/com/google/devtools/build/lib/analysis/util",
- "//src/test/java/com/google/devtools/build/lib/events:testutil",
- "//src/test/java/com/google/devtools/build/lib/packages:testutil",
- "//src/test/java/com/google/devtools/build/lib/rules/android:AndroidLocalTestTest",
- "//src/test/java/com/google/devtools/build/lib/testutil",
- "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
- "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
- "//src/test/java/com/google/devtools/build/lib/vfs/util",
- "//third_party:guava",
- "//third_party:guava-testlib",
- "//third_party:junit4",
- "//third_party:truth",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules:all_windows_tests",
],
)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/debug/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/debug/BUILD
index 38f8495..6f17138 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/debug/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/debug/BUILD
@@ -8,13 +8,12 @@
filegroup(
name = "srcs",
testonly = 0,
- srcs = glob(["**"]),
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel:__pkg__"],
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
)
-java_test(
- name = "WorkspaceRuleEventTest",
- size = "small",
+java_library(
+ name = "WorkspaceRuleEventTest_lib",
srcs = ["WorkspaceRuleEventTest.java"],
deps = [
"//src/main/java/com/google/devtools/build/lib/bazel/debug:workspace-rule-event",
@@ -22,7 +21,29 @@
"//src/main/java/com/google/devtools/build/lib/syntax:frontend",
"//third_party:guava",
"//third_party:junit4",
- "//third_party:mockito",
"//third_party:truth",
],
)
+
+java_test(
+ name = "WorkspaceRuleEventTest",
+ size = "small",
+ runtime_deps = [
+ ":WorkspaceRuleEventTest_lib",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/execlog/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/execlog/BUILD
index 283e76e..5116e84 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/execlog/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/execlog/BUILD
@@ -9,21 +9,44 @@
name = "srcs",
testonly = 0,
srcs = glob(["**"]),
+ visibility = ["//src:__subpackages__"],
)
-java_test(
- name = "StableSortTest",
- size = "small",
+java_library(
+ name = "StableSortTest_lib",
srcs = ["StableSortTest.java"],
- test_class = "com.google.devtools.build.lib.bazel.execlog.StableSortTest",
deps = [
"//src/main/java/com/google/devtools/build/lib/bazel/execlog:stable_sort",
"//src/main/java/com/google/devtools/build/lib/util/io",
"//src/main/protobuf:spawn_java_proto",
"//third_party:guava",
- "//third_party:guava-testlib",
"//third_party:junit4",
"//third_party:truth",
"//third_party/protobuf:protobuf_java",
],
)
+
+java_test(
+ name = "StableSortTest",
+ size = "small",
+ test_class = "com.google.devtools.build.lib.bazel.execlog.StableSortTest",
+ runtime_deps = [
+ ":StableSortTest_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
index 3166477..d68eff6 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/BUILD
@@ -8,67 +8,43 @@
filegroup(
name = "srcs",
testonly = 0,
- srcs = glob(["**"]) + [
+ srcs = glob(["*"]) + [
"//src/test/java/com/google/devtools/build/lib/bazel/repository/cache:srcs",
"//src/test/java/com/google/devtools/build/lib/bazel/repository/downloader:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository/skylark:srcs",
],
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel:__pkg__"],
+ visibility = ["//src:__subpackages__"],
)
-java_test(
- name = "RepositoryTests",
- srcs = glob([
- "*.java",
- "skylark/*.java",
- ]),
+java_library(
+ name = "RepositoryTests_lib",
+ srcs = glob(
+ ["*.java"],
+ exclude = [
+ "LocalConfigPlatformFunctionTest.java",
+ ],
+ ),
data = [
"test_decompress_archive.tar.gz",
"test_decompress_archive.zip",
],
- tags = [
- "rules",
- ],
- test_class = "com.google.devtools.build.lib.AllTests",
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
"//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:runtime",
- "//src/main/java/com/google/devtools/build/lib:syntax",
- "//src/main/java/com/google/devtools/build/lib/analysis/platform",
- "//src/main/java/com/google/devtools/build/lib/analysis/platform:utils",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/lib/packages:type",
- "//src/main/java/com/google/devtools/build/lib/pkgcache",
- "//src/main/java/com/google/devtools/build/lib/rules/cpp",
- "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
"//src/main/java/com/google/devtools/build/lib/unix",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/util:os",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
"//src/main/java/com/google/devtools/build/lib/vfs/inmemoryfs",
- "//src/main/java/com/google/devtools/build/skyframe",
- "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
- "//src/test/java/com/google/devtools/build/lib:test_runner",
- "//src/test/java/com/google/devtools/build/lib/analysis/util",
- "//src/test/java/com/google/devtools/build/lib/events:testutil",
- "//src/test/java/com/google/devtools/build/lib/packages:testutil",
"//src/test/java/com/google/devtools/build/lib/testutil",
"//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
"//src/test/java/com/google/devtools/build/lib/testutil:TestUtils",
- "//src/test/java/com/google/devtools/build/lib/vfs/util",
"//third_party:diffutils",
"//third_party:guava",
- "//third_party:guava-testlib",
- "//third_party:jsr305",
"//third_party:junit4",
"//third_party:mockito",
"//third_party:truth",
@@ -76,13 +52,57 @@
],
)
+java_test(
+ name = "RepositoryTests",
+ tags = [
+ "rules",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":RepositoryTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+java_library(
+ name = "BazelRepositoryTests_lib",
+ srcs = [
+ "LocalConfigPlatformFunctionTest.java",
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/analysis/platform",
+ "//src/main/java/com/google/devtools/build/lib/analysis/platform:utils",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "BazelRepositoryTests",
+ tags = [
+ "manual",
+ "rules",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":BazelRepositoryTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
test_suite(
name = "windows_tests",
tags = [
"-no_windows",
"-slow",
],
- visibility = ["//visibility:private"],
)
test_suite(
@@ -91,6 +111,6 @@
":windows_tests",
"//src/test/java/com/google/devtools/build/lib/bazel/repository/cache:all_windows_tests",
"//src/test/java/com/google/devtools/build/lib/bazel/repository/downloader:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/repository/skylark:all_windows_tests",
],
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel:__pkg__"],
)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
index 9c6c2bd..76cdd88 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/LocalConfigPlatformFunctionTest.java
@@ -42,7 +42,7 @@
@RunWith(Parameterized.class)
public static class CpuConstraintTest {
@Parameters
- public static Collection createInputValues() {
+ public static Collection<Object[]> createInputValues() {
return ImmutableList.of(
// CPU value tests.
new Object[] {CPU.X86_64, "@platforms//cpu:x86_64"},
@@ -78,7 +78,7 @@
@RunWith(Parameterized.class)
public static class OsConstraintTest {
@Parameters
- public static Collection createInputValues() {
+ public static Collection<Object[]> createInputValues() {
return ImmutableList.of(
// OS value tests.
new Object[] {OS.LINUX, "@platforms//os:linux"},
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/cache/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/cache/BUILD
index 4eb4476..ba4347a 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/cache/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/cache/BUILD
@@ -1,4 +1,4 @@
-load("@rules_java//java:defs.bzl", "java_test")
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
package(
default_testonly = 1,
@@ -9,25 +9,29 @@
name = "srcs",
testonly = 0,
srcs = glob(["**"]),
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel/repository:__pkg__"],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "RepositoryCacheTests_lib",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
)
java_test(
name = "RepositoryCacheTests",
- srcs = glob(["*.java"]),
tags = ["rules"],
test_class = "com.google.devtools.build.lib.AllTests",
- deps = [
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
- "//src/main/java/com/google/devtools/build/lib/vfs",
+ runtime_deps = [
+ ":RepositoryCacheTests_lib",
"//src/test/java/com/google/devtools/build/lib:test_runner",
- "//src/test/java/com/google/devtools/build/lib/events:testutil",
- "//src/test/java/com/google/devtools/build/lib/testutil",
- "//src/test/java/com/google/devtools/build/lib/vfs/util",
- "//third_party:guava",
- "//third_party:junit4",
- "//third_party:mockito",
- "//third_party:truth",
],
)
@@ -37,7 +41,6 @@
"-no_windows",
"-slow",
],
- visibility = ["//visibility:private"],
)
test_suite(
@@ -45,5 +48,4 @@
tests = [
":windows_tests",
],
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel/repository:__pkg__"],
)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
index 15a7108..03ab04f 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/downloader/BUILD
@@ -1,4 +1,4 @@
-load("@rules_java//java:defs.bzl", "java_test")
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
package(
default_testonly = 1,
@@ -9,40 +9,47 @@
name = "srcs",
testonly = 0,
srcs = glob(["**"]),
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel/repository:__pkg__"],
+ visibility = ["//src:__subpackages__"],
)
-java_test(
- name = "DownloaderTestSuite",
+java_library(
+ name = "DownloaderTestSuite_lib",
srcs = glob(["*.java"]),
- tags = [
- "requires-network",
- "rules",
- ],
deps = [
"//src/main/java/com/google/devtools/build/lib/bazel/repository/cache",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/test/java/com/google/devtools/build/lib:test_runner",
- "//src/test/java/com/google/devtools/build/lib/events:testutil",
"//src/test/java/com/google/devtools/build/lib/testutil",
- "//src/test/java/com/google/devtools/build/lib/vfs/util",
"//third_party:guava",
+ "//third_party:jsr305",
"//third_party:junit4",
"//third_party:mockito",
"//third_party:truth",
],
)
+java_test(
+ name = "DownloaderTestSuite",
+ size = "medium",
+ tags = [
+ "requires-network",
+ "rules",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":DownloaderTestSuite_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
test_suite(
name = "windows_tests",
tags = [
"-no_windows",
"-slow",
],
- visibility = ["//visibility:private"],
)
test_suite(
@@ -50,5 +57,4 @@
tests = [
":windows_tests",
],
- visibility = ["//src/test/java/com/google/devtools/build/lib/bazel/repository:__pkg__"],
)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD
new file mode 100644
index 0000000..d8b855c
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/skylark/BUILD
@@ -0,0 +1,95 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "SkylarkTests_lib",
+ testonly = 1,
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib:syntax",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party:junit4",
+ "//third_party:mockito",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "SkylarkTests",
+ testonly = 1,
+ srcs = glob(["*.java"]),
+ tags = [
+ "rules",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":SkylarkTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/syntax:evaluator",
+ "//src/main/java/com/google/devtools/build/lib/syntax:frontend",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/build/skyframe",
+ "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party:junit4",
+ "//third_party:mockito",
+ "//third_party:truth",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/BUILD
new file mode 100644
index 0000000..e6c6f2f
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/BUILD
@@ -0,0 +1,70 @@
+load("@rules_java//java:defs.bzl", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]) + [
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/genrule:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/java:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/ninja:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/python:srcs",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/sh:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "BazelRuleTests_lib",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib:core-rules",
+ "//src/main/java/com/google/devtools/build/lib:core-workspace-rules",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/rules/config",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/main/java/com/google/devtools/common/options",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "BazelRuleTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":BazelRuleTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/genrule:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/java:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/ninja:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/python:all_windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/sh:all_windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/BUILD
new file mode 100644
index 0000000..e107386
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/BUILD
@@ -0,0 +1,94 @@
+load("@rules_java//java:defs.bzl", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]) + [
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "AndroidTests_lib",
+ srcs = [
+ "AndroidNdkRepositoryTest.java",
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/packages:testutil",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
+ "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "AndroidTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":AndroidTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+java_test(
+ name = "BazelAndroidTests",
+ srcs = [
+ "AndroidSdkRepositoryTest.java",
+ "BazelAndroidLocalTestTest.java",
+ "SdkMavenRepositoryTest.java",
+ ],
+ resources = [
+ "//tools/android:android_sdk_repository_template.bzl",
+ ],
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/packages:type",
+ "//src/main/java/com/google/devtools/build/lib/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/packages:testutil",
+ "//src/test/java/com/google/devtools/build/lib/rules/android:AndroidLocalTestTest",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ "//src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:all_windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD
new file mode 100644
index 0000000..ed9a4cb
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/BUILD
@@ -0,0 +1,55 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "NdkCrosstoolsTest_lib",
+ srcs = glob(["*.java"]),
+ resources = glob(["*.txt"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools:android_ndk_crosstools",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r10e",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r12",
+ "//src/main/java/com/google/devtools/build/lib/events",
+ "//src/main/java/com/google/devtools/build/lib/util",
+ "//src/main/protobuf:crosstool_config_java_proto",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "NdkCrosstoolsTest",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":NdkCrosstoolsTest_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD
new file mode 100644
index 0000000..4729d48
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/genrule/BUILD
@@ -0,0 +1,63 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "GenruleTests_lib",
+ srcs = glob(
+ ["*.java"],
+ exclude = ["GenRuleWindowsConfiguredTargetTest.java"],
+ ) +
+ # If we are on windows add back the test
+ select({
+ "//conditions:default": [],
+ "//src/conditions:windows": ["GenRuleWindowsConfiguredTargetTest.java"],
+ }),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/test/java/com/google/devtools/build/lib/actions/util",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "GenruleTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":GenruleTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
new file mode 100644
index 0000000..ed9eea2
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/java/BUILD
@@ -0,0 +1,50 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "JavaTests_lib",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/java:bazel_java_semantics",
+ "//src/main/java/com/google/devtools/build/lib/packages:build_type",
+ "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "JavaTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":JavaTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD
new file mode 100644
index 0000000..45b5d2d
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/BUILD
@@ -0,0 +1,62 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "NinjaTests_lib",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/file",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/lexer",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/parser:parser_impl",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/ninja/pipeline:pipeline_impl",
+ "//src/main/java/com/google/devtools/build/lib/concurrent",
+ "//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/vfs:pathfragment",
+ "//src/test/java/com/google/devtools/build/lib/actions/util",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/testutil",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "NinjaTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":NinjaTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/NinjaPipelineTest.java b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/NinjaPipelineTest.java
index 338509f..fd804e5 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/NinjaPipelineTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/ninja/NinjaPipelineTest.java
@@ -28,7 +28,7 @@
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaRuleVariable;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaTarget;
import com.google.devtools.build.lib.bazel.rules.ninja.parser.NinjaVariableValue;
-import com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipeline;
+import com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipelineImpl;
import com.google.devtools.build.lib.concurrent.ExecutorUtil;
import com.google.devtools.build.lib.util.Pair;
import com.google.devtools.build.lib.vfs.DigestHashFunction;
@@ -49,7 +49,7 @@
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
-/** Tests for {@link com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipeline}. */
+/** Tests for {@link com.google.devtools.build.lib.bazel.rules.ninja.pipeline.NinjaPipelineImpl}. */
@RunWith(JUnit4.class)
public class NinjaPipelineTest {
private static class Tester {
@@ -115,8 +115,8 @@
" command = c $in $out",
"build t1: r1 in1 in2",
"build t2: r1 in3");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(), tester.getService(), ImmutableList.of(), "ninja_target");
List<NinjaTarget> targets = pipeline.pipeline(vfsPath);
checkTargets(targets);
@@ -142,8 +142,8 @@
"",
"build t2: r1 in3",
"");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(), tester.getService(), ImmutableList.of(), "ninja_target");
List<NinjaTarget> targets = pipeline.pipeline(vfsPath);
checkTargets(targets);
@@ -155,8 +155,8 @@
tester.writeTmpFile(
"test.ninja", "rule r1", " command = c $in $out", "include child.ninja");
Path childFile = tester.writeTmpFile("child.ninja", "build t1: r1 in1 in2", "build t2: r1 in3");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(childFile),
@@ -175,8 +175,8 @@
" command = c $in $out",
"include ${subfile}.ninja");
Path childFile = tester.writeTmpFile("child.ninja", "build t1: r1 in1 in2", "build t2: r1 in3");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(childFile),
@@ -203,8 +203,8 @@
"var_for_sub=in3",
"subninja ${subninja_file}.ninja");
Path subFile = tester.writeTmpFile("sub.ninja", "build t2: r1 ${var_for_sub}");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(childFile, subFile),
@@ -216,8 +216,8 @@
@Test
public void testEmptyFile() throws Exception {
Path vfsPath = tester.writeTmpFile("test.ninja");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(), tester.getService(), ImmutableList.of(), "ninja_target");
List<NinjaTarget> targets = pipeline.pipeline(vfsPath);
assertThat(targets).isEmpty();
@@ -230,7 +230,7 @@
assertThrows(
GenericParsingException.class,
() ->
- new NinjaPipeline(
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(),
@@ -248,8 +248,8 @@
Path vfsPath = tester.writeTmpFile("test.ninja", "include one.ninja");
Path oneFile = tester.writeTmpFile("one.ninja", "include two.ninja");
Path twoFile = tester.writeTmpFile("two.ninja", "include one.ninja");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(oneFile, twoFile),
@@ -283,8 +283,8 @@
" ",
"build t1: r1 in1 in2");
Path childFile = tester.writeTmpFile("child.ninja");
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
vfsPath.getParentDirectory(),
tester.getService(),
ImmutableList.of(childFile),
@@ -302,8 +302,8 @@
lines[998] = "build out: rule1";
lines[999] = "pool link_pool\n depth = 4";
Path path = tester.writeTmpFile("big_file.ninja", lines);
- NinjaPipeline pipeline =
- new NinjaPipeline(
+ NinjaPipelineImpl pipeline =
+ new NinjaPipelineImpl(
path.getParentDirectory(), tester.getService(), ImmutableList.of(), "ninja_target");
// Test specifically that all manipulations with connecting buffers are working fine:
// for that, have relatively long file and small buffer size.
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/python/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/python/BUILD
new file mode 100644
index 0000000..1a288b9
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/python/BUILD
@@ -0,0 +1,54 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "PythonTests_lib",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/python",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/common/options",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "PythonTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":PythonTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD b/src/test/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD
new file mode 100644
index 0000000..370ebdf
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/bazel/rules/sh/BUILD
@@ -0,0 +1,50 @@
+load("@rules_java//java:defs.bzl", "java_library", "java_test")
+
+package(
+ default_testonly = 1,
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "ShTests_lib",
+ srcs = glob(
+ ["*.java"],
+ ),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:build-base",
+ "//src/test/java/com/google/devtools/build/lib/analysis/util",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "ShTests",
+ test_class = "com.google.devtools.build.lib.AllTests",
+ runtime_deps = [
+ ":ShTests_lib",
+ "//src/test/java/com/google/devtools/build/lib:test_runner",
+ ],
+)
+
+test_suite(
+ name = "windows_tests",
+ tags = [
+ "-no_windows",
+ "-slow",
+ ],
+)
+
+test_suite(
+ name = "all_windows_tests",
+ tests = [
+ ":windows_tests",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/lib/blackbox/tests/BUILD b/src/test/java/com/google/devtools/build/lib/blackbox/tests/BUILD
index 9385201..bea2a57 100644
--- a/src/test/java/com/google/devtools/build/lib/blackbox/tests/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/blackbox/tests/BUILD
@@ -58,8 +58,6 @@
tags = ["black_box_test"],
deps = [
":common_deps",
- "//src/main/java/com/google/devtools/build/lib:bazel-ninja",
- "//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
],
)
diff --git a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/BUILD b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/BUILD
index e871ced..4551e3a 100644
--- a/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/blackbox/tests/workspace/BUILD
@@ -47,7 +47,7 @@
tags = ["black_box_test"],
deps = common_deps + [
"//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/test/java/com/google/devtools/build/lib/vfs/util",
"//src/test/java/com/google/devtools/build/lib/events:testutil",
@@ -66,7 +66,7 @@
tags = ["black_box_test"],
deps = common_deps + [
"//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/test/java/com/google/devtools/build/lib/vfs/util",
"//src/test/java/com/google/devtools/build/lib/events:testutil",
@@ -83,7 +83,7 @@
tags = ["black_box_test"],
deps = common_deps + [
"//src/main/java/com/google/devtools/build/lib:build-base",
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/test/java/com/google/devtools/build/lib/vfs/util",
"//src/test/java/com/google/devtools/build/lib/events:testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/util/BUILD b/src/test/java/com/google/devtools/build/lib/buildtool/util/BUILD
index eca0e2c..232cf9b 100644
--- a/src/test/java/com/google/devtools/build/lib/buildtool/util/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/buildtool/util/BUILD
@@ -21,21 +21,21 @@
":util_internal",
],
runtime_deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-modules",
- "//src/main/java/com/google/devtools/build/lib:bazel-rules",
+ "//src/main/java/com/google/devtools/build/lib/bazel:modules",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
],
)
java_library(
name = "util_internal",
srcs = glob(["*.java"]),
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//src/main/java/com/google/devtools/build/lib:bazel/BazelRepositoryModule",
"//src/main/java/com/google/devtools/build/lib:build",
"//src/main/java/com/google/devtools/build/lib:build-request-options",
"//src/main/java/com/google/devtools/build/lib:keep-going-option",
"//src/main/java/com/google/devtools/build/lib:loading-phase-threads-option",
"//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
+ "//src/main/java/com/google/devtools/build/lib/bazel:repository_module",
"//src/main/java/com/google/devtools/build/lib/buildeventstream",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
diff --git a/src/test/java/com/google/devtools/build/lib/packages/BUILD b/src/test/java/com/google/devtools/build/lib/packages/BUILD
index b7e010a..a8245bc 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/packages/BUILD
@@ -89,9 +89,8 @@
test_class = "com.google.devtools.build.lib.packages.BazelDocumentationTest",
deps = [
":testutil",
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//src/main/java/com/google/devtools/build/lib:bazel-rules",
- "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//third_party:guava",
"//third_party:junit4",
"@bazel_tools//tools/java/runfiles",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/BUILD b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/BUILD
index 4603115..20977bf 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/BUILD
@@ -20,9 +20,9 @@
],
tags = ["manual"],
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-rules-without-workspaces",
"//src/main/java/com/google/devtools/build/lib:build-base",
"//src/main/java/com/google/devtools/build/lib/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/proto",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
index 151ca6e..b998425 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/repository/BUILD
@@ -16,11 +16,11 @@
name = "RepositoryTests_lib",
srcs = glob(["*.java"]),
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-repository",
"//src/main/java/com/google/devtools/build/lib:build-base",
"//src/main/java/com/google/devtools/build/lib:syntax",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/downloader",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/skylark",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/packages",
diff --git a/src/test/java/com/google/devtools/build/lib/shell/BUILD b/src/test/java/com/google/devtools/build/lib/shell/BUILD
index fd2564b..ed9f8ee 100644
--- a/src/test/java/com/google/devtools/build/lib/shell/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/shell/BUILD
@@ -33,8 +33,8 @@
],
javacopts = ["-Xlint:-deprecation"],
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
"//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
"//src/main/java/com/google/devtools/build/lib/collect",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/unix",
@@ -255,8 +255,8 @@
"shell",
],
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
"//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
"//src/main/java/com/google/devtools/build/lib/collect",
"//src/main/java/com/google/devtools/build/lib/sandbox",
"//src/main/java/com/google/devtools/build/lib/shell",
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
index 1774876..78be2e8 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -26,10 +26,10 @@
tags = ["skyframe"],
visibility = ["//src/test/java/com/google/devtools/build/lib:__subpackages__"],
deps = [
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//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/actions",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect",
@@ -84,8 +84,6 @@
],
deps = [
":testutil",
- "//src/main/java/com/google/devtools/build/lib:bazel-main",
- "//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:build-request-options",
"//src/main/java/com/google/devtools/build/lib:keep-going-option",
@@ -95,6 +93,8 @@
"//src/main/java/com/google/devtools/build/lib/actions:localhost_capacity",
"//src/main/java/com/google/devtools/build/lib/actionsketch:action_sketch",
"//src/main/java/com/google/devtools/build/lib/analysis/platform",
+ "//src/main/java/com/google/devtools/build/lib/bazel:main",
+ "//src/main/java/com/google/devtools/build/lib/bazel/rules",
"//src/main/java/com/google/devtools/build/lib/causes",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/cmdline",
diff --git a/src/test/shell/bazel/BUILD b/src/test/shell/bazel/BUILD
index fa58d30..c0f0772 100644
--- a/src/test/shell/bazel/BUILD
+++ b/src/test/shell/bazel/BUILD
@@ -1120,7 +1120,7 @@
":test-deps",
"//src:embedded_jdk_allmodules",
"//src:jdeps_modules.golden",
- "//src/main/java/com/google/devtools/build/lib:bazel/BazelServer_deploy.jar",
+ "//src/main/java/com/google/devtools/build/lib/bazel:BazelServer_deploy.jar",
"@bazel_tools//tools/bash/runfiles",
],
tags = ["no_windows"],