Skip to content

Commit

Permalink
Move most classes in `main/java/com/google/devtools/build/lib/util/io…
Browse files Browse the repository at this point in the history
…/` to lighter targets.

Only a handful of classes in this package need a large dependency
tree including our `vfs` package. Pulling the reusable lightweight
types into their own lightweight target reduces the minimum cost to
(eg.) write tests using these types.

PiperOrigin-RevId: 586330001
Change-Id: I1a76292150efd74285a8a7a6d3069e43e3f761b1
  • Loading branch information
michaeledgar authored and copybara-github committed Nov 29, 2023
1 parent 18b9da9 commit 38e8da1
Show file tree
Hide file tree
Showing 13 changed files with 39 additions and 18 deletions.
1 change: 1 addition & 0 deletions src/main/java/com/google/devtools/build/lib/bazel/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ java_library(
"//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/util/io",
"//src/main/java/com/google/devtools/build/lib/util/io:io-proto",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/protobuf:failure_details_java_proto",
"//src/main/protobuf:spawn_java_proto",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ java_library(
srcs = glob(["*.java"]),
deps = [
"//src/main/java/com/google/devtools/build/lib/profiler",
"//src/main/java/com/google/devtools/build/lib/util/io",
"//src/main/java/com/google/devtools/build/lib/util/io:io-proto",
"//src/main/protobuf:spawn_java_proto",
"//third_party:guava",
],
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/google/devtools/build/lib/exec/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/analysis/platform:platform_utils",
"//src/main/java/com/google/devtools/build/lib/profiler",
"//src/main/java/com/google/devtools/build/lib/remote/options",
"//src/main/java/com/google/devtools/build/lib/util/io",
"//src/main/java/com/google/devtools/build/lib/util/io:io-proto",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
"//src/main/protobuf:spawn_java_proto",
Expand Down
26 changes: 23 additions & 3 deletions src/main/java/com/google/devtools/build/lib/util/io/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,24 @@ filegroup(

IO_PROTO_SRCS = [
"CommandExtensionReporter.java",
"MessageOutputStream.java",
"MessageOutputStreamWrapper.java",
]

OUT_ERR_SRCS = [
"AnsiTerminal.java",
"AnsiTerminalPrinter.java",
"AnsiTerminalWriter.java",
"DelegatingOutErr.java",
"OutErr.java",
"LineCountingAnsiTerminalWriter.java",
"LinePrefixingOutputStream.java",
"LineFlushingOutputStream.java",
"LoggingTerminalWriter.java",
"PositionAwareAnsiTerminalWriter.java",
"RecordingOutErr.java",
"StreamDemultiplexer.java",
"StreamMultiplexer.java",
]

java_library(
Expand All @@ -30,6 +42,7 @@ java_library(
exclude = OUT_ERR_SRCS + IO_PROTO_SRCS,
),
deps = [
":io-proto",
":out-err",
"//src/main/java/com/google/devtools/build/lib/clock",
"//src/main/java/com/google/devtools/build/lib/concurrent",
Expand All @@ -39,18 +52,25 @@ java_library(
"//third_party:flogger",
"//third_party:guava",
"//third_party/protobuf:protobuf_java",
"//third_party/protobuf:protobuf_java_util",
],
)

java_library(
name = "io-proto",
srcs = IO_PROTO_SRCS,
deps = ["//third_party/protobuf:protobuf_java"],
deps = [
"//third_party:guava",
"//third_party/protobuf:protobuf_java",
"//third_party/protobuf:protobuf_java_util",
],
)

java_library(
name = "out-err",
srcs = OUT_ERR_SRCS,
deps = ["//third_party:guava"],
deps = [
"//src/main/java/com/google/devtools/build/lib/concurrent:thread_safety",
"//third_party:flogger",
"//third_party:guava",
],
)
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,11 @@ java_library(
srcs = ["StableSortTest.java"],
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/java/com/google/devtools/build/lib/util/io:io-proto",
"//src/main/protobuf:spawn_java_proto",
"//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
"//third_party/protobuf:protobuf_java",
],
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/util:os",
"//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/test/java/com/google/devtools/build/lib/actions/util",
Expand Down
6 changes: 3 additions & 3 deletions src/test/java/com/google/devtools/build/lib/buildtool/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ java_test(
deps = [
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/skyframe:detailed_exceptions",
"//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/protobuf:failure_details_java_proto",
Expand Down Expand Up @@ -366,7 +366,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
"//src/main/java/com/google/devtools/build/lib/bazel:modules",
"//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/protobuf:failure_details_java_proto",
"//src/test/java/com/google/devtools/build/lib/buildtool/util",
Expand Down Expand Up @@ -654,7 +654,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:view_creation_failed_exception",
"//src/main/java/com/google/devtools/build/lib/skyframe:skymeld_module",
"//src/main/java/com/google/devtools/build/lib/skyframe:top_level_status_events",
"//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/test/java/com/google/devtools/build/lib/buildtool/util",
"//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/google/devtools/build/lib/collect/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/collect/nestedset:testutils",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
"//src/main/java/com/google/devtools/build/lib/util",
"//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/net/starlark/java/eval",
"//src/test/java/com/google/devtools/build/lib/starlark/util",
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/google/devtools/build/lib/events/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ java_library(
srcs = glob(["*.java"]),
deps = [
"//src/main/java/com/google/devtools/build/lib/events",
"//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/net/starlark/java/eval",
"//src/main/java/net/starlark/java/syntax",
"//src/test/java/com/google/devtools/build/lib/testutil:JunitUtils",
Expand Down
1 change: 1 addition & 0 deletions src/test/java/com/google/devtools/build/lib/exec/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
"//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/util/io:io-proto",
"//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:output_service",
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/google/devtools/build/lib/remote/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/skyframe:action_execution_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:tree_artifact_value",
"//src/main/java/com/google/devtools/build/lib/util:os",
"//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/test/java/com/google/devtools/build/lib/buildtool/util",
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/com/google/devtools/build/lib/runtime/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_options",
"//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/util:pair",
"//src/main/java/com/google/devtools/build/lib/util/io",
"//src/main/java/com/google/devtools/build/lib/util/io:out-err",
"//src/test/java/com/google/devtools/build/lib/buildtool/util",
"//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
"//third_party:gson",
Expand All @@ -151,7 +151,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:view_creation_failed_exception",
"//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//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/util/io:out-err",
"//src/test/java/com/google/devtools/build/lib/buildtool/util",
"//third_party:guava",
"//third_party:junit4",
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/com/google/devtools/build/lib/testutil/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
# A grab-bag of testing utilities.

load("//src/tools/bzlmod:utils.bzl", "get_canonical_repo_name")
load("@bazel_skylib//rules:write_file.bzl", "write_file")
load("@rules_java//java:defs.bzl", "java_library", "java_test")
load("@bazel_skylib//rules:write_file.bzl", "write_file")

package(
default_applicable_licenses = ["//:license"],
Expand Down Expand Up @@ -241,7 +241,7 @@ java_library(
":TestConstants",
"//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/util/io",
"//src/main/java/com/google/devtools/build/lib/util/io:out-err",
"//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
Expand Down

0 comments on commit 38e8da1

Please sign in to comment.