Remove lib.runtime.commands from lib.runtime
Pre-work for splitting `.../lib:runtime`.
This change
- Renames `runtime/commands/ProjectFileSupport.java` to `runtime/ProjectFileSupport.java` (which was an oversight in #11417)
- Moves `runtime.commands.CleanCommand.CleanStartingEvent` into `runtime/commands/events` to avoid having `.../lib/worker` depend on all of `.../lib/runtime/commands`.
- Renames `runtime/commands/GotProjectFileEvent.java` to `runtime/events/GotProjectFileEvent.java` for similar reasons as above.
- Moves License generation into a dedicated package.
Updates #10930
Closes #11452.
PiperOrigin-RevId: 312540107
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index a7bd1cc..9f991fa 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -1,5 +1,4 @@
load("@rules_java//java:defs.bzl", "java_library")
-load(":merge_licenses.bzl", "merge_licenses")
########################################################################
# Description:
@@ -74,6 +73,8 @@
"//src/main/java/com/google/devtools/build/lib/remote:srcs",
"//src/main/java/com/google/devtools/build/lib/repository:srcs",
"//src/main/java/com/google/devtools/build/lib/rules:srcs",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands:srcs",
+ "//src/main/java/com/google/devtools/build/lib/runtime/events:srcs",
"//src/main/java/com/google/devtools/build/lib/runtime/mobileinstall:srcs",
"//src/main/java/com/google/devtools/build/lib/sandbox:srcs",
"//src/main/java/com/google/devtools/build/lib/server:srcs",
@@ -255,8 +256,6 @@
srcs = glob(
[
"runtime/*.java",
- "runtime/commands/*.java",
- "runtime/commands/info/*.java",
"buildtool/*.java",
"buildtool/buildevent/*.java",
],
@@ -268,16 +267,12 @@
"runtime/LoadingPhaseThreadsOption.java",
],
),
- resources = glob([
- "runtime/commands/*.txt",
- ]),
deps = [
":build-request-options",
":keep-going-option",
":loading-phase-threads-option",
":runtime/blaze_command_result",
":runtime/command_dispatcher",
- ":shared-base-rules",
"//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/analysis:analysis_cluster",
@@ -291,19 +286,13 @@
"//src/main/java/com/google/devtools/build/lib/analysis:config/build_options",
"//src/main/java/com/google/devtools/build/lib/analysis:config/core_option_converters",
"//src/main/java/com/google/devtools/build/lib/analysis:config/core_options",
- "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment",
- "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_options",
- "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_provider",
"//src/main/java/com/google/devtools/build/lib/analysis:config/invalid_configuration_exception",
- "//src/main/java/com/google/devtools/build/lib/analysis:config/run_under",
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/analysis:file_provider",
"//src/main/java/com/google/devtools/build/lib/analysis:no_build_event",
"//src/main/java/com/google/devtools/build/lib/analysis:no_build_request_finished_event",
- "//src/main/java/com/google/devtools/build/lib/analysis:print_action_visitor",
"//src/main/java/com/google/devtools/build/lib/analysis:server_directories",
"//src/main/java/com/google/devtools/build/lib/analysis:test/coverage_report_action_factory",
- "//src/main/java/com/google/devtools/build/lib/analysis:test/test_configuration",
"//src/main/java/com/google/devtools/build/lib/analysis:top_level_artifact_context",
"//src/main/java/com/google/devtools/build/lib/analysis:transitive_info_collection",
"//src/main/java/com/google/devtools/build/lib/analysis:view_creation_failed_exception",
@@ -328,14 +317,11 @@
"//src/main/java/com/google/devtools/build/lib/exec:module_action_context_registry",
"//src/main/java/com/google/devtools/build/lib/exec:remote_local_fallback_registry",
"//src/main/java/com/google/devtools/build/lib/exec:single_build_file_cache",
- "//src/main/java/com/google/devtools/build/lib/exec:spawn_action_context_maps",
"//src/main/java/com/google/devtools/build/lib/exec:spawn_cache",
"//src/main/java/com/google/devtools/build/lib/exec:spawn_strategy_registry",
"//src/main/java/com/google/devtools/build/lib/exec:spawn_strategy_resolver",
- "//src/main/java/com/google/devtools/build/lib/exec:symlink_tree_helper",
"//src/main/java/com/google/devtools/build/lib/exec:symlink_tree_strategy",
"//src/main/java/com/google/devtools/build/lib/exec:test_log_helper",
- "//src/main/java/com/google/devtools/build/lib/exec:test_policy",
"//src/main/java/com/google/devtools/build/lib/exec/local:options",
"//src/main/java/com/google/devtools/build/lib/metrics:event",
"//src/main/java/com/google/devtools/build/lib/packages",
@@ -346,14 +332,13 @@
"//src/main/java/com/google/devtools/build/lib/platform:suspend_counter",
"//src/main/java/com/google/devtools/build/lib/profiler",
"//src/main/java/com/google/devtools/build/lib/profiler:google-auto-profiler-utils",
- "//src/main/java/com/google/devtools/build/lib/profiler:profiler-output",
"//src/main/java/com/google/devtools/build/lib/profiler/memory:allocationtracker",
"//src/main/java/com/google/devtools/build/lib/query2",
- "//src/main/java/com/google/devtools/build/lib/query2/common:abstract-blaze-query-env",
+ "//src/main/java/com/google/devtools/build/lib/query2:aquery-utils",
"//src/main/java/com/google/devtools/build/lib/query2/engine",
"//src/main/java/com/google/devtools/build/lib/query2/query/output",
"//src/main/java/com/google/devtools/build/lib/rules:alias",
- "//src/main/java/com/google/devtools/build/lib/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/runtime/events",
"//src/main/java/com/google/devtools/build/lib/server:rpc_server",
"//src/main/java/com/google/devtools/build/lib/server/signal",
"//src/main/java/com/google/devtools/build/lib/shell",
@@ -383,18 +368,16 @@
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/util:TestType",
"//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:crash_failure_details",
"//src/main/java/com/google/devtools/build/lib/util:custom_exit_code_publisher",
"//src/main/java/com/google/devtools/build/lib/util:custom_failure_detail_publisher",
"//src/main/java/com/google/devtools/build/lib/util:debug-logger-configurator",
"//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:filetype",
"//src/main/java/com/google/devtools/build/lib/util:interrupted_failure_details",
+ "//src/main/java/com/google/devtools/build/lib/util:logging",
"//src/main/java/com/google/devtools/build/lib/util:os",
"//src/main/java/com/google/devtools/build/lib/util:process",
- "//src/main/java/com/google/devtools/build/lib/util:shell_escaper",
"//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",
@@ -408,11 +391,8 @@
"//src/main/java/com/google/devtools/common/options:invocation_policy",
"//src/main/protobuf:action_cache_java_proto",
"//src/main/protobuf:analysis_java_proto",
- "//src/main/protobuf:bazel_flags_java_proto",
- "//src/main/protobuf:build_java_proto",
"//src/main/protobuf:command_line_java_proto",
"//src/main/protobuf:command_server_java_proto",
- "//src/main/protobuf:extra_actions_base_java_proto",
"//src/main/protobuf:failure_details_java_proto",
"//src/main/protobuf:invocation_policy_java_proto",
"//src/main/protobuf:option_filters_java_proto",
@@ -420,22 +400,12 @@
"//third_party:auto_value",
"//third_party:error_prone_annotations",
"//third_party:flogger",
- "//third_party:gson",
"//third_party:guava",
"//third_party:jsr305",
- "//third_party/protobuf:protobuf_java",
+ "@com_google_protobuf//:protobuf_java",
],
)
-merge_licenses(
- name = "merge_licenses",
- srcs = [
- "//:LICENSE",
- "//third_party:srcs",
- ],
- out = "runtime/commands/LICENSE",
-)
-
java_library(
name = "all-build-rules",
exports = [
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/BUILD
index eb9ca50..1c8e9cf 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/BUILD
@@ -59,8 +59,8 @@
name = "builtin_command_module",
srcs = ["BazelBuiltinCommandModule.java"],
deps = [
- "//src/main/java/com/google/devtools/build/lib:runtime",
"//src/main/java/com/google/devtools/build/lib/exec:standalone_test_strategy",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
],
)
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
index 37714f3..c3ff16d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD
@@ -16,7 +16,6 @@
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:keep-going-option",
@@ -36,6 +35,7 @@
"//src/main/java/com/google/devtools/build/lib/query2/engine",
"//src/main/java/com/google/devtools/build/lib/rules:repository/repository_directory_value",
"//src/main/java/com/google/devtools/build/lib/rules:repository/repository_function",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/skyframe:package_lookup_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
index 251767f..8e91928 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeOptionHandler.java
@@ -22,7 +22,6 @@
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
-import com.google.devtools.build.lib.runtime.commands.ProjectFileSupport;
import com.google.devtools.build.lib.runtime.proto.InvocationPolicyOuterClass.InvocationPolicy;
import com.google.devtools.build.lib.util.ExitCode;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java b/src/main/java/com/google/devtools/build/lib/runtime/ProjectFileSupport.java
similarity index 82%
rename from src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
rename to src/main/java/com/google/devtools/build/lib/runtime/ProjectFileSupport.java
index b3de6d6..4e17dc9 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ProjectFileSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/ProjectFileSupport.java
@@ -11,14 +11,13 @@
// 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.runtime.commands;
+package com.google.devtools.build.lib.runtime;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.pkgcache.PackageOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
-import com.google.devtools.build.lib.runtime.CommonCommandOptions;
-import com.google.devtools.build.lib.runtime.ProjectFile;
+import com.google.devtools.build.lib.runtime.events.GotProjectFileEvent;
import com.google.devtools.build.lib.skyframe.BazelSkyframeExecutorConstants;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -35,7 +34,7 @@
*/
public final class ProjectFileSupport {
static final String PROJECT_FILE_PREFIX = "+";
-
+
private ProjectFileSupport() {}
/**
@@ -44,18 +43,24 @@
* are not enabled, then it throws an exception instead.
*/
public static void handleProjectFiles(
- ExtendedEventHandler eventHandler, ProjectFile.Provider projectFileProvider,
- Path workspaceDir, Path workingDir, OptionsParser optionsParser, String command)
- throws OptionsParsingException {
+ ExtendedEventHandler eventHandler,
+ ProjectFile.Provider projectFileProvider,
+ Path workspaceDir,
+ Path workingDir,
+ OptionsParser optionsParser,
+ String command)
+ throws OptionsParsingException {
List<String> targets = optionsParser.getResidue();
- if (projectFileProvider != null && !targets.isEmpty()
+ if (projectFileProvider != null
+ && !targets.isEmpty()
&& targets.get(0).startsWith(PROJECT_FILE_PREFIX)) {
if (targets.size() > 1) {
throw new OptionsParsingException("Cannot handle more than one +<file> argument yet");
}
if (!optionsParser.getOptions(CommonCommandOptions.class).allowProjectFiles) {
- throw new OptionsParsingException("project file support is not enabled. "
- + "Pass --experimental_allow_project_files to enable.");
+ throw new OptionsParsingException(
+ "project file support is not enabled. "
+ + "Pass --experimental_allow_project_files to enable.");
}
// TODO(bazel-team): This is currently treated as a path relative to the workspace - if the
// cwd is a subdirectory of the workspace, that will be surprising, and we should interpret it
@@ -73,8 +78,9 @@
workingDir,
BazelSkyframeExecutorConstants.BUILD_FILES_BY_PRIORITY)
.getPathEntries();
- ProjectFile projectFile = projectFileProvider.getProjectFile(
- workingDir, packagePath, projectFilePath, optionsParser);
+ ProjectFile projectFile =
+ projectFileProvider.getProjectFile(
+ workingDir, packagePath, projectFilePath, optionsParser);
eventHandler.handle(Event.info("Using " + projectFile.getName()));
optionsParser.parse(
@@ -91,7 +97,8 @@
public static List<String> getTargets(
ProjectFile.Provider projectFileProvider, OptionsParsingResult options) {
List<String> targets = options.getResidue();
- if (projectFileProvider != null && !targets.isEmpty()
+ if (projectFileProvider != null
+ && !targets.isEmpty()
&& targets.get(0).startsWith(PROJECT_FILE_PREFIX)) {
return targets.subList(1, targets.size());
}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/commands/BUILD
new file mode 100644
index 0000000..5e67bfe
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/BUILD
@@ -0,0 +1,103 @@
+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/runtime/commands/events:srcs",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/info:srcs",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/license:srcs",
+ ],
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "commands",
+ srcs = glob([
+ "*.java",
+ ]),
+ resources = glob(["*.txt"]) + [
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/license",
+ ],
+ deps = [
+ "//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:runtime/blaze_command_result",
+ "//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/analysis:analysis_options",
+ "//src/main/java/com/google/devtools/build/lib/analysis:blaze_version_info",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/build_configuration",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/core_options",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_options",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/fragment_provider",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/invalid_configuration_exception",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/run_under",
+ "//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
+ "//src/main/java/com/google/devtools/build/lib/analysis:file_provider",
+ "//src/main/java/com/google/devtools/build/lib/analysis:no_build_event",
+ "//src/main/java/com/google/devtools/build/lib/analysis:no_build_request_finished_event",
+ "//src/main/java/com/google/devtools/build/lib/analysis:print_action_visitor",
+ "//src/main/java/com/google/devtools/build/lib/analysis:test/test_configuration",
+ "//src/main/java/com/google/devtools/build/lib/buildeventstream",
+ "//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/exec:execution_options",
+ "//src/main/java/com/google/devtools/build/lib/exec:symlink_tree_helper",
+ "//src/main/java/com/google/devtools/build/lib/exec:test_policy",
+ "//src/main/java/com/google/devtools/build/lib/exec/local:options",
+ "//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/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/profiler",
+ "//src/main/java/com/google/devtools/build/lib/profiler:profiler-output",
+ "//src/main/java/com/google/devtools/build/lib/profiler/memory:allocationtracker",
+ "//src/main/java/com/google/devtools/build/lib/query2",
+ "//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/query2/query/output",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/events",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/info",
+ "//src/main/java/com/google/devtools/build/lib/shell",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:build_configuration_value",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:loading_phase_started_event",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:package_progress_receiver",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:sky_functions",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
+ "//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:detailed_exit_code",
+ "//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:interrupted_failure_details",
+ "//src/main/java/com/google/devtools/build/lib/util:os",
+ "//src/main/java/com/google/devtools/build/lib/util:process",
+ "//src/main/java/com/google/devtools/build/lib/util:shell_escaper",
+ "//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/common/options",
+ "//src/main/java/com/google/devtools/common/options:invocation_policy",
+ "//src/main/protobuf:analysis_java_proto",
+ "//src/main/protobuf:bazel_flags_java_proto",
+ "//src/main/protobuf:command_server_java_proto",
+ "//src/main/protobuf:extra_actions_base_java_proto",
+ "//src/main/protobuf:failure_details_java_proto",
+ "//src/main/protobuf:invocation_policy_java_proto",
+ "//third_party:flogger",
+ "//third_party:gson",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ "//third_party/protobuf:protobuf_java",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
index ecb1915..4cc8de6 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/CleanCommand.java
@@ -26,6 +26,7 @@
import com.google.devtools.build.lib.runtime.BlazeRuntime;
import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
+import com.google.devtools.build.lib.runtime.commands.events.CleanStartingEvent;
import com.google.devtools.build.lib.server.FailureDetails;
import com.google.devtools.build.lib.server.FailureDetails.CleanCommand.Code;
import com.google.devtools.build.lib.server.FailureDetails.FailureDetail;
@@ -100,19 +101,6 @@
public boolean async;
}
- /** Posted on the public event stream to announce that a clean is happening. */
- public static class CleanStartingEvent {
- private final OptionsParsingResult optionsParsingResult;
-
- public CleanStartingEvent(OptionsParsingResult optionsParsingResult) {
- this.optionsParsingResult = optionsParsingResult;
- }
-
- public OptionsParsingResult getOptionsProvider() {
- return optionsParsingResult;
- }
- }
-
private final OS os;
public CleanCommand() {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java
index 805c815..58b910b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/LicenseCommand.java
@@ -43,8 +43,10 @@
private static final ImmutableSet<String> JAVA_LICENSE_FILES =
ImmutableSet.of("ASSEMBLY_EXCEPTION", "DISCLAIMER", "LICENSE", "THIRD_PARTY_README");
+ private static final String BAZEL_LICENSE = "license/LICENSE";
+
public static boolean isSupported() {
- return ResourceFileLoader.resourceExists(LicenseCommand.class, "LICENSE");
+ return ResourceFileLoader.resourceExists(LicenseCommand.class, BAZEL_LICENSE);
}
@Override
@@ -55,7 +57,7 @@
outErr.printOutLn("Licenses of all components included in this binary:\n");
try {
- outErr.printOutLn(ResourceFileLoader.loadResource(this.getClass(), "LICENSE"));
+ outErr.printOutLn(ResourceFileLoader.loadResource(this.getClass(), BAZEL_LICENSE));
} catch (IOException e) {
throw new IllegalStateException(
"I/O error while trying to print 'LICENSE' resource: " + e.getMessage(), e);
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java
index 8f6b644..8dc8f3b 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/TargetPatternsHelper.java
@@ -20,6 +20,7 @@
import com.google.devtools.build.lib.profiler.Profiler;
import com.google.devtools.build.lib.profiler.SilentCloseable;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
+import com.google.devtools.build.lib.runtime.ProjectFileSupport;
import com.google.devtools.build.lib.server.FailureDetails.FailureDetail;
import com.google.devtools.build.lib.server.FailureDetails.TargetPatterns;
import com.google.devtools.build.lib.vfs.FileSystemUtils;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/events/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/commands/events/BUILD
new file mode 100644
index 0000000..8e17fb7
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/events/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 = "events",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/common/options",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/events/CleanStartingEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/events/CleanStartingEvent.java
new file mode 100644
index 0000000..909807b
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/events/CleanStartingEvent.java
@@ -0,0 +1,30 @@
+// Copyright 2020 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.runtime.commands.events;
+
+import com.google.devtools.common.options.OptionsParsingResult;
+
+/** Posted on the public event stream to announce that a clean is happening. */
+public class CleanStartingEvent {
+ private final OptionsParsingResult optionsParsingResult;
+
+ public CleanStartingEvent(OptionsParsingResult optionsParsingResult) {
+ this.optionsParsingResult = optionsParsingResult;
+ }
+
+ public OptionsParsingResult getOptionsProvider() {
+ return optionsParsingResult;
+ }
+}
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/info/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/commands/info/BUILD
new file mode 100644
index 0000000..d47c7c2
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/info/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 = "info",
+ srcs = glob(["*.java"]),
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib:runtime",
+ "//src/main/java/com/google/devtools/build/lib/analysis:blaze_version_info",
+ "//src/main/java/com/google/devtools/build/lib/analysis:config/build_configuration",
+ "//src/main/java/com/google/devtools/build/lib/cmdline:cmdline-primitives",
+ "//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/pkgcache",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
+ "//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:debug-logger-configurator",
+ "//src/main/java/com/google/devtools/build/lib/util:process",
+ "//src/main/java/com/google/devtools/build/lib/util:string",
+ "//src/main/java/com/google/devtools/build/lib/vfs",
+ "//src/main/java/com/google/devtools/common/options",
+ "//src/main/protobuf:build_java_proto",
+ "//third_party:flogger",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/license/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/commands/license/BUILD
new file mode 100644
index 0000000..884b564
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/license/BUILD
@@ -0,0 +1,21 @@
+load(":merge_licenses.bzl", "merge_licenses")
+
+package(default_visibility = ["//src:__subpackages__"])
+
+licenses(["notice"]) # Apache 2.0
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+# Satisfy the rules in runtime/commands/BUILD which use a generated LICENSE file in Bazel open source
+merge_licenses(
+ name = "license",
+ srcs = [
+ "//:LICENSE",
+ "//third_party:srcs",
+ ],
+ out = "LICENSE",
+)
diff --git a/src/main/java/com/google/devtools/build/lib/merge_licenses.bzl b/src/main/java/com/google/devtools/build/lib/runtime/commands/license/merge_licenses.bzl
similarity index 100%
rename from src/main/java/com/google/devtools/build/lib/merge_licenses.bzl
rename to src/main/java/com/google/devtools/build/lib/runtime/commands/license/merge_licenses.bzl
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/events/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/events/BUILD
new file mode 100644
index 0000000..2195d8a
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/runtime/events/BUILD
@@ -0,0 +1,15 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(default_visibility = ["//src:__subpackages__"])
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "events",
+ srcs = glob(["*.java"]),
+ deps = ["//src/main/java/com/google/devtools/build/lib/events"],
+)
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/GotProjectFileEvent.java b/src/main/java/com/google/devtools/build/lib/runtime/events/GotProjectFileEvent.java
similarity index 89%
rename from src/main/java/com/google/devtools/build/lib/runtime/commands/GotProjectFileEvent.java
rename to src/main/java/com/google/devtools/build/lib/runtime/events/GotProjectFileEvent.java
index 4b6c58f..2d88330 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/GotProjectFileEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/events/GotProjectFileEvent.java
@@ -11,18 +11,18 @@
// 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.runtime.commands;
+
+package com.google.devtools.build.lib.runtime.events;
import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
-/**
- * An event describing a project file which has been parsed.
- */
+/** An event describing a project file which has been parsed. */
public class GotProjectFileEvent implements Postable {
private final String projectFile;
/**
* Construct the event.
+ *
* @param projectFile The workspace-relative path of the project file.
*/
public GotProjectFileEvent(String projectFile) {
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/BUILD b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/BUILD
index b071470..c35afcd 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/BUILD
@@ -23,6 +23,7 @@
"//src/main/java/com/google/devtools/build/lib/analysis:test/test_configuration",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/rules/android",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/util:command",
"//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
index 20954ca..16c1647 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/mobileinstall/MobileInstallCommand.java
@@ -34,8 +34,8 @@
import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.build.lib.runtime.CommonCommandOptions;
+import com.google.devtools.build.lib.runtime.ProjectFileSupport;
import com.google.devtools.build.lib.runtime.commands.BuildCommand;
-import com.google.devtools.build.lib.runtime.commands.ProjectFileSupport;
import com.google.devtools.build.lib.server.FailureDetails.FailureDetail;
import com.google.devtools.build.lib.server.FailureDetails.Interrupted;
import com.google.devtools.build.lib.server.FailureDetails.MobileInstall;
diff --git a/src/main/java/com/google/devtools/build/lib/worker/BUILD b/src/main/java/com/google/devtools/build/lib/worker/BUILD
index 0aeec78..27f6381 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/worker/BUILD
@@ -22,6 +22,7 @@
"//src/main/java/com/google/devtools/build/lib/exec:spawn_strategy_registry",
"//src/main/java/com/google/devtools/build/lib/exec/local",
"//src/main/java/com/google/devtools/build/lib/exec/local:options",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands/events",
"//src/main/java/com/google/devtools/build/lib/sandbox",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/util:resource_converter",
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
index 89b8a3f..4da4f4a 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
@@ -32,7 +32,7 @@
import com.google.devtools.build.lib.runtime.Command;
import com.google.devtools.build.lib.runtime.CommandEnvironment;
import com.google.devtools.build.lib.runtime.ProcessWrapper;
-import com.google.devtools.build.lib.runtime.commands.CleanCommand.CleanStartingEvent;
+import com.google.devtools.build.lib.runtime.commands.events.CleanStartingEvent;
import com.google.devtools.build.lib.sandbox.SandboxHelpers;
import com.google.devtools.build.lib.sandbox.SandboxOptions;
import com.google.devtools.build.lib.vfs.Path;
@@ -50,7 +50,7 @@
private WorkerPool workerPool;
private WorkerOptions options;
private ImmutableMap<String, Integer> workerPoolConfig;
-
+
@Override
public Iterable<Class<? extends OptionsBase>> getCommandOptions(Command command) {
return "build".equals(command.name())
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index bc1411d..a1dcc09 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -390,6 +390,7 @@
"//src/main/java/com/google/devtools/build/lib/packages:starlark_semantics_options",
"//src/main/java/com/google/devtools/build/lib/query2",
"//src/main/java/com/google/devtools/build/lib/query2/engine",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/sandbox",
"//src/main/java/com/google/devtools/build/lib/skyframe:loading_phase_started_event",
"//src/main/java/com/google/devtools/build/lib/skyframe:package_progress_receiver",
diff --git a/src/test/java/com/google/devtools/build/lib/buildtool/BUILD b/src/test/java/com/google/devtools/build/lib/buildtool/BUILD
index 9d64e52..41d6f0b 100644
--- a/src/test/java/com/google/devtools/build/lib/buildtool/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/buildtool/BUILD
@@ -472,6 +472,7 @@
"//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/query2/query/output",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/common/options",
"//src/main/protobuf:build_java_proto",
"//src/main/protobuf:invocation_policy_java_proto",
@@ -580,6 +581,7 @@
"//src/main/java/com/google/devtools/build/lib:runtime",
"//src/main/java/com/google/devtools/build/lib/query2",
"//src/main/java/com/google/devtools/build/lib/query2/engine",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/common/options",
"//src/test/java/com/google/devtools/build/lib/buildtool/util",
"//third_party:guava",
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 15da144..a0b4989 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
@@ -66,6 +66,7 @@
"//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/rules:repository/repository_function",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/sandbox",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
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 cf6ebf2..ec361e4 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/packages/BUILD
@@ -142,6 +142,7 @@
"//src/main/java/com/google/devtools/build/lib/rules:repository/repository_function",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/proto",
+ "//src/main/java/com/google/devtools/build/lib/runtime/commands",
"//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
"//src/main/java/com/google/devtools/build/lib/skyframe/packages:PackageFactoryBuilderWithSkyframeForTesting",