| load("@rules_java//java:defs.bzl", "java_library") |
| |
| package( |
| default_applicable_licenses = ["//:license"], |
| default_visibility = ["//src:__subpackages__"], |
| ) |
| |
| filegroup( |
| name = "srcs", |
| srcs = glob(["**"]), |
| visibility = ["//src:__subpackages__"], |
| ) |
| |
| WINDOWS_SRCS = [ |
| "WindowsSubprocess.java", |
| "WindowsSubprocessFactory.java", |
| ] |
| |
| # Library for dealing with executable commands, including their arguments and runtime environment |
| # (environment variables, working directory). It lets a caller execute a command, get its results, |
| # and optionally forward interrupts to the subprocess. The library also handles creating threads to |
| # ensure timely reading of subprocess outputs. |
| java_library( |
| name = "shell", |
| srcs = glob( |
| ["*.java"], |
| exclude = WINDOWS_SRCS, |
| ), |
| deps = [ |
| "//src/main/java/com/google/devtools/build/lib/util:TestType", |
| "//src/main/java/com/google/devtools/build/lib/util:describable_execution_unit", |
| "//src/main/java/com/google/devtools/build/lib/util:os", |
| "//src/main/java/com/google/devtools/build/lib/util:string_encoding", |
| "//src/main/java/com/google/devtools/build/lib/vfs", |
| "//src/main/protobuf:execution_statistics_java_proto", |
| "//third_party:auto_value", |
| "//third_party:flogger", |
| "//third_party:guava", |
| "//third_party:jsr305", |
| ], |
| ) |
| |
| java_library( |
| name = "windows_subprocess_factory", |
| srcs = WINDOWS_SRCS, |
| deps = [ |
| ":shell", |
| "//src/main/java/com/google/devtools/build/lib/jni", |
| "//src/main/java/com/google/devtools/build/lib/util:cleaner", |
| "//src/main/java/com/google/devtools/build/lib/util:os", |
| "//src/main/java/com/google/devtools/build/lib/util:string_encoding", |
| "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", |
| "//src/main/java/com/google/devtools/build/lib/windows:processes", |
| "//third_party:guava", |
| "//third_party:jsr305", |
| ], |
| ) |