blob: d94db0568d693af227b8e3184599af13096d075a [file]
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__"],
)
OS_PATH_POLICY_SOURCES = [
"OsPathPolicy.java",
"UnixOsPathPolicy.java",
"WindowsOsPathPolicy.java",
]
PATH_FRAGMENT_SOURCES = [
"PathFragment.java",
"PathSegmentIterator.java",
"PathStrippable.java",
]
OUTPUT_SERVICE_SOURCES = [
"OutputService.java",
"LocalOutputService.java",
]
java_library(
name = "ospathpolicy",
srcs = OS_PATH_POLICY_SOURCES,
deps = [
"//src/main/java/com/google/devtools/build/lib/util:os",
"//src/main/java/com/google/devtools/build/lib/windows:windows_path_operations",
"//third_party/java/guava:annotations",
"//third_party/java/guava:base",
"//third_party/java/guava:collect",
],
)
java_library(
name = "pathfragment",
srcs = PATH_FRAGMENT_SOURCES,
visibility = [
"//src/main/java/com/google/devtools/build/lib:build_lib",
"//src/main/java/com/google/devtools/build/lib:package_loader_access",
],
deps = [
":ospathpolicy",
"//src/main/java/com/google/devtools/build/lib/actions:commandline_item",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
"//src/main/java/com/google/devtools/build/lib/unsafe:string",
"//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:string_encoding",
"//third_party/java/error_prone:annotations",
"//third_party/java/guava:base",
"//third_party/java/guava:collect",
"//third_party/java/jsr305_annotations",
"//third_party/java/protobuf:protobuf_lite",
],
)
java_library(
name = "vfs",
srcs = glob(
[
"*.java",
],
exclude = PATH_FRAGMENT_SOURCES + OUTPUT_SERVICE_SOURCES + OS_PATH_POLICY_SOURCES,
),
# This virtual file system is for Blaze's own use only, since it's not quite
visibility = [
"//src/main/java/com/google/devtools/build/lib:build_lib",
"//src/main/java/com/google/devtools/build/lib:package_loader_access",
],
deps = [
":pathfragment",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/concurrent:thread_safety",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/io:file_symlink_exception",
"//src/main/java/com/google/devtools/build/lib/profiler",
"//src/main/java/com/google/devtools/build/lib/skyframe:detailed_exceptions",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
"//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
"//src/main/java/com/google/devtools/build/lib/util:file_channels",
"//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:string_encoding",
"//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:failure_details_java_proto",
"//third_party/java/caffeine",
"//third_party/java/error_prone:annotations",
"//third_party/java/guava:annotations",
"//third_party/java/guava:base",
"//third_party/java/guava:collect",
"//third_party/java/guava:concurrent",
"//third_party/java/guava:hash",
"//third_party/java/guava:io",
"//third_party/java/jsr305_annotations",
"//third_party/java/protobuf:protobuf_lite",
],
)
java_library(
name = "output_service",
srcs = OUTPUT_SERVICE_SOURCES,
deps = [
":pathfragment",
":vfs",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/actions:artifacts",
"//src/main/java/com/google/devtools/build/lib/analysis:blaze_directories",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/profiler",
"//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/protobuf:failure_details_java_proto",
"//third_party/java/guava:base",
"//third_party/java/guava:collect",
"//third_party/java/jsr305_annotations",
],
)