Create individual targets and packages for code under analysis, exec, rules, and skyframe. These targets are highly divided because of the large number of interconnections between code in the anaysis, exec, rules, and skyframe packages. PiperOrigin-RevId: 308252755
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/BUILD new file mode 100644 index 0000000..92efb5b --- /dev/null +++ b/src/main/java/com/google/devtools/build/lib/analysis/BUILD
@@ -0,0 +1,2182 @@ +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/analysis/platform:srcs", + "//src/main/java/com/google/devtools/build/lib/analysis/stringtemplate:srcs", + "//src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations:srcs", + ], + visibility = ["//src:__subpackages__"], +) + +# TODO(b/144899336): Remove this when all dependers are updated. +java_library( + name = "legacy_exports", + exports = [ + ":actions/abstract_file_write_action", + ":actions/binary_file_write_action", + ":actions/byte_string_deterministic_writer", + ":actions/compression", + ":actions/custom_command_line", + ":actions/deterministic_writer", + ":actions/file_write_action_context", + ":actions/launcher_file_write_action", + ":actions/lazy_write_nested_set_of_pair_action", + ":actions/lazy_write_paths_file_action", + ":actions/parameter_file_write_action", + ":actions/proto_deterministic_writer", + ":actions/spawn_action_template", + ":actions/substitution", + ":actions/symlink_action", + ":actions/template", + ":actions/template_expansion_action", + ":actions_provider", + ":analysis_cluster", + ":analysis_options", + ":analysis_phase_complete_event", + ":analysis_phase_started_event", + ":artifacts_to_owner_labels", + ":aspect_aware_attribute_mapper", + ":aspect_collection", + ":aspect_configured_event", + ":blaze_directories", + ":blaze_version_info", + ":build_info", + ":build_info_event", + ":build_setting_provider", + ":build_view", + ":buildinfo/build_info_collection", + ":buildinfo/build_info_key", + ":common_prerequisite_validator", + ":compilation_helper", + ":config/auto_cpu_converter", + ":config/build_configuration", + ":config/build_configuration_option_details", + ":config/build_options", + ":config/build_options_cache", + ":config/compilation_mode", + ":config/config_aware_aspect_builder", + ":config/config_matching_provider", + ":config/core_option_converters", + ":config/core_options", + ":config/execution_info_modifier", + ":config/execution_transition_factory", + ":config/fragment", + ":config/fragment_options", + ":config/fragment_provider", + ":config/host_transition", + ":config/invalid_configuration_exception", + ":config/per_label_options", + ":config/run_under", + ":config/run_under_converter", + ":config/starlark_defined_config_transition", + ":config/transition_factories", + ":config/transitions/composing_transition", + ":config/transitions/composing_transition_factory", + ":config/transitions/configuration_transition", + ":config/transitions/no_transition", + ":config/transitions/null_transition", + ":config/transitions/patch_transition", + ":config/transitions/split_transition", + ":config/transitions/transition_factory", + ":config/transitive_option_details", + ":configurations_collector", + ":configured_object_value", + ":configured_target", + ":constraints/constraint_constants", + ":constraints/constraint_semantics", + ":constraints/environment", + ":constraints/environment_collection", + ":constraints/environment_rule", + ":constraints/supported_environments", + ":constraints/supported_environments_provider", + ":constraints/top_level_constraint_semantics", + ":dependency", + ":dependency_kind", + ":duplicate_exception", + ":extra/extra_action_info_file_write_action", + ":extra_action_artifacts_provider", + ":file_provider", + ":inconsistent_aspect_order_exception", + ":label_and_location", + ":label_expander", + ":licenses_provider", + ":make_environment_event", + ":make_variable_supplier", + ":middleman_provider", + ":no_build_event", + ":no_build_request_finished_event", + ":options_diff_predicate", + ":package_specification_provider", + ":platform_configuration", + ":platform_configuration_loader", + ":platform_options", + ":print_action_visitor", + ":provider_collection", + ":required_config_fragments_provider", + ":rule_definition_context", + ":rule_definition_environment", + ":server_directories", + ":skylark/args", + ":skylark/bazel_build_api_globals", + ":skylark/function_transition_util", + ":skylark/skylark_api_provider", + ":skylark/skylark_command_line", + ":skylark/skylark_custom_command_line", + ":skylark/skylark_error_reporter", + ":skylark/skylark_late_bound_default", + ":skylark/starlark_config", + ":statically_linked_marker_provider", + ":target_configured_event", + ":template_variable_info", + ":test/analysis_failure", + ":test/analysis_failure_info", + ":test/analysis_test_result_info", + ":test/baseline_coverage_result", + ":test/coverage_report_action_factory", + ":test/execution_info", + ":test/instrumented_files_info", + ":test/test_configuration", + ":test/test_environment_info", + ":test/test_sharding_strategy", + ":test/test_trimming_transition_factory", + ":toolchain_collection", + ":toolchain_context", + ":top_level_artifact_context", + ":transition_mode", + ":transitive_info_collection", + ":transitive_info_provider", + ":transitive_info_provider_effective_class_helper", + ":transitive_info_provider_map", + ":transitive_info_provider_map_builder", + ":transitive_info_provider_map_impl", + ":view_creation_failed_exception", + ":visibility_provider", + ":visibility_provider_impl", + ":workspace_status_action", + ":xcode_config_event", + ], +) + +# TODO(b/144899336): Split this further. +java_library( + name = "analysis_cluster", + srcs = [ + "AliasProvider.java", + "AnalysisEnvironment.java", + "AnalysisFailureEvent.java", + "AnalysisResult.java", + "AnalysisRootCauseEvent.java", + "AnalysisUtils.java", + "AspectCompleteEvent.java", + "AspectResolver.java", + "AspectValue.java", + "BaseRuleClasses.java", + "BashCommandConstructor.java", + "CachingAnalysisEnvironment.java", + "CommandConstructor.java", + "CommandHelper.java", + "ConfigurationMakeVariableContext.java", + "ConfiguredAspect.java", + "ConfiguredAspectFactory.java", + "ConfiguredRuleClassProvider.java", + "ConfiguredTargetFactory.java", + "DefaultInfo.java", + "DependencyResolver.java", + "EmptyConfiguredTarget.java", + "EventHandlingErrorReporter.java", + "ExecGroupCollection.java", + "Expander.java", + "ExtraActionUtils.java", + "ExtraActionsVisitor.java", + "FilesToRunProvider.java", + "LicensesProviderImpl.java", + "LocationExpander.java", + "LocationTemplateContext.java", + "OutputGroupInfo.java", + "PlatformConfiguration.java", + "PrerequisiteArtifacts.java", + "PseudoAction.java", + "ResolvedToolchainContext.java", + "RuleConfiguredTargetBuilder.java", + "RuleConfiguredTargetFactory.java", + "RuleContext.java", + "RuleDefinition.java", + "Runfiles.java", + "RunfilesProvider.java", + "RunfilesSupplierImpl.java", + "RunfilesSupport.java", + "ShToolchain.java", + "ShellConfiguration.java", + "SourceManifestAction.java", + "StarlarkProviderValidationUtil.java", + "TargetAndConfiguration.java", + "TargetCompleteEvent.java", + "TargetContext.java", + "TopLevelArtifactHelper.java", + "Util.java", + "Whitelist.java", + "WindowsBatchCommandConstructor.java", + "WindowsPowershellCommandConstructor.java", + "actions/ActionConstructionContext.java", + "actions/FileWriteAction.java", + "actions/SpawnAction.java", + "actions/StarlarkAction.java", + "actions/SymlinkTreeAction.java", + "actions/SymlinkTreeActionContext.java", + "buildinfo/BuildInfoFactory.java", + "config/BuildConfigurationCollection.java", + "config/ConfigAwareRuleClassBuilder.java", + "config/ConfigurationResolver.java", + "config/ConvenienceSymlinks.java", + "config/DependencyEvaluationException.java", + "config/FragmentCollection.java", + "config/TransitionResolver.java", + "configuredtargets/AbstractConfiguredTarget.java", + "configuredtargets/EnvironmentGroupConfiguredTarget.java", + "configuredtargets/FileConfiguredTarget.java", + "configuredtargets/InputFileConfiguredTarget.java", + "configuredtargets/MergedConfiguredTarget.java", + "configuredtargets/OutputFileConfiguredTarget.java", + "configuredtargets/PackageGroupConfiguredTarget.java", + "configuredtargets/RuleConfiguredTarget.java", + "constraints/RuleContextConstraintSemantics.java", + "extra/ExtraAction.java", + "extra/ExtraActionMapProvider.java", + "extra/ExtraActionSpec.java", + "skylark/SkylarkAttr.java", + "skylark/SkylarkAttributesCollection.java", + "skylark/SkylarkModules.java", + "skylark/SkylarkRuleClassFunctions.java", + "skylark/SkylarkRuleConfiguredTargetUtil.java", + "skylark/SkylarkRuleContext.java", + "skylark/StarlarkActionFactory.java", + "skylark/StarlarkAttributeTransitionProvider.java", + "skylark/StarlarkRuleTransitionProvider.java", + "skylark/StarlarkTransition.java", + "test/AnalysisTestActionBuilder.java", + "test/BaselineCoverageAction.java", + "test/CoverageCommon.java", + "test/InstrumentedFileManifestAction.java", + "test/InstrumentedFilesCollector.java", + "test/TestActionBuilder.java", + "test/TestActionContext.java", + "test/TestAttempt.java", + "test/TestProvider.java", + "test/TestResult.java", + "test/TestRunnerAction.java", + "test/TestStrategy.java", + "test/TestTargetExecutionSettings.java", + "test/TestTargetProperties.java", + ], + deps = [ + ":actions/abstract_file_write_action", + ":actions/compression", + ":actions/custom_command_line", + ":actions/deterministic_writer", + ":actions/lazy_write_nested_set_of_pair_action", + ":actions/parameter_file_write_action", + ":actions/substitution", + ":actions/symlink_action", + ":actions/template_expansion_action", + ":actions_provider", + ":artifacts_to_owner_labels", + ":aspect_aware_attribute_mapper", + ":aspect_collection", + ":build_setting_provider", + ":buildinfo/build_info_collection", + ":buildinfo/build_info_key", + ":config/build_configuration", + ":config/build_options", + ":config/config_matching_provider", + ":config/core_option_converters", + ":config/core_options", + ":config/execution_transition_factory", + ":config/fragment", + ":config/fragment_options", + ":config/fragment_provider", + ":config/host_transition", + ":config/invalid_configuration_exception", + ":config/per_label_options", + ":config/run_under", + ":config/starlark_defined_config_transition", + ":config/transition_factories", + ":config/transitions/composing_transition", + ":config/transitions/composing_transition_factory", + ":config/transitions/configuration_transition", + ":config/transitions/no_transition", + ":config/transitions/null_transition", + ":config/transitions/patch_transition", + ":config/transitions/split_transition", + ":config/transitions/transition_factory", + ":configurations_collector", + ":configured_object_value", + ":configured_target", + ":constraints/constraint_constants", + ":constraints/constraint_semantics", + ":constraints/environment_collection", + ":constraints/supported_environments", + ":constraints/supported_environments_provider", + ":dependency", + ":dependency_kind", + ":duplicate_exception", + ":extra/extra_action_info_file_write_action", + ":extra_action_artifacts_provider", + ":file_provider", + ":inconsistent_aspect_order_exception", + ":label_and_location", + ":label_expander", + ":licenses_provider", + ":make_variable_supplier", + ":middleman_provider", + ":options_diff_predicate", + ":package_specification_provider", + ":platform_options", + ":provider_collection", + ":required_config_fragments_provider", + ":rule_definition_context", + ":rule_definition_environment", + ":skylark/args", + ":skylark/bazel_build_api_globals", + ":skylark/function_transition_util", + ":skylark/skylark_api_provider", + ":skylark/skylark_command_line", + ":skylark/skylark_late_bound_default", + ":template_variable_info", + ":test/analysis_failure", + ":test/analysis_failure_info", + ":test/analysis_test_result_info", + ":test/baseline_coverage_result", + ":test/execution_info", + ":test/instrumented_files_info", + ":test/test_configuration", + ":test/test_environment_info", + ":test/test_sharding_strategy", + ":toolchain_collection", + ":toolchain_context", + ":top_level_artifact_context", + ":transition_mode", + ":transitive_info_collection", + ":transitive_info_provider", + ":transitive_info_provider_effective_class_helper", + ":transitive_info_provider_map", + ":transitive_info_provider_map_builder", + ":visibility_provider", + ":visibility_provider_impl", + "//src/main/java/com/google/devtools/build/lib:bug-report", + "//src/main/java/com/google/devtools/build/lib:build-request-options", + "//src/main/java/com/google/devtools/build/lib:runtime/build_event_streamer_utils", + "//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/platform", + "//src/main/java/com/google/devtools/build/lib/analysis/platform:utils", + "//src/main/java/com/google/devtools/build/lib/analysis/stringtemplate", + "//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/causes", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/cmdline:LabelValidator", + "//src/main/java/com/google/devtools/build/lib/collect", + "//src/main/java/com/google/devtools/build/lib/collect/compacthashset", + "//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/exec:bin_tools", + "//src/main/java/com/google/devtools/build/lib/exec:execution_options", + "//src/main/java/com/google/devtools/build/lib/exec:spawn_strategy_resolver", + "//src/main/java/com/google/devtools/build/lib/exec:streamed_test_output", + "//src/main/java/com/google/devtools/build/lib/exec:test_log_helper", + "//src/main/java/com/google/devtools/build/lib/exec:test_xml_output_parser", + "//src/main/java/com/google/devtools/build/lib/exec:test_xml_output_parser_exception", + "//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/packages:build_type", + "//src/main/java/com/google/devtools/build/lib/packages:type", + "//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/memory:current_rule_tracker", + "//src/main/java/com/google/devtools/build/lib/shell", + "//src/main/java/com/google/devtools/build/lib/skyframe:aspect_creation_exception", + "//src/main/java/com/google/devtools/build/lib/skyframe:aspect_value_key", + "//src/main/java/com/google/devtools/build/lib/skyframe:build_configuration_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:build_info_collection_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data", + "//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key", + "//src/main/java/com/google/devtools/build/lib/skyframe:configured_value_creation_exception", + "//src/main/java/com/google/devtools/build/lib/skyframe:package_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:toolchain_exception", + "//src/main/java/com/google/devtools/build/lib/skyframe:transitive_target_key", + "//src/main/java/com/google/devtools/build/lib/skyframe:transitive_target_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:unloaded_toolchain_context", + "//src/main/java/com/google/devtools/build/lib/skyframe:workspace_status_value", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", + "//src/main/java/com/google/devtools/build/lib/skylarkinterface", + "//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:detailed_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/util:string", + "//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", + "//src/main/protobuf:extra_actions_base_java_proto", + "//src/main/protobuf:failure_details_java_proto", + "//src/main/protobuf:test_status_java_proto", + "//third_party:auto_value", + "//third_party:guava", + "//third_party:jsr305", + "//third_party/protobuf:protobuf_java", + ], +) + +java_library( + name = "actions_provider", + srcs = ["ActionsProvider.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/packages", + "//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/syntax:frontend", + "//third_party:guava", + ], +) + +java_library( + name = "analysis_options", + srcs = ["AnalysisOptions.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/common/options", + ], +) + +java_library( + name = "analysis_phase_complete_event", + srcs = ["AnalysisPhaseCompleteEvent.java"], + deps = [ + ":analysis_cluster", + ":configured_target", + "//src/main/java/com/google/devtools/build/lib/pkgcache", + "//third_party:guava", + ], +) + +java_library( + name = "analysis_phase_started_event", + srcs = ["AnalysisPhaseStartedEvent.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:guava", + ], +) + +java_library( + name = "artifacts_to_owner_labels", + srcs = ["ArtifactsToOwnerLabels.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//third_party:guava", + ], +) + +java_library( + name = "aspect_aware_attribute_mapper", + srcs = ["AspectAwareAttributeMapper.java"], + deps = [ + "//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:type", + "//third_party:guava", + ], +) + +java_library( + name = "aspect_collection", + srcs = ["AspectCollection.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:guava", + ], +) + +java_library( + name = "aspect_configured_event", + srcs = ["AspectConfiguredEvent.java"], + deps = [ + ":config/build_configuration", + "//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/cmdline", + "//third_party:guava", + ], +) + +java_library( + name = "blaze_directories", + srcs = ["BlazeDirectories.java"], + deps = [ + ":server_directories", + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/util:string", + "//src/main/java/com/google/devtools/build/lib/vfs", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "blaze_version_info", + srcs = ["BlazeVersionInfo.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/util:string", + "//third_party:flogger", + "//third_party:guava", + ], +) + +java_library( + name = "build_info", + srcs = ["BuildInfo.java"], +) + +java_library( + name = "build_info_event", + srcs = ["BuildInfoEvent.java"], + deps = [ + "//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/events", + "//third_party:guava", + ], +) + +java_library( + name = "build_setting_provider", + srcs = ["BuildSettingProvider.java"], + deps = [ + ":transitive_info_provider", + "//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:type", + "//third_party:guava", + ], +) + +java_library( + name = "build_view", + srcs = ["BuildView.java"], + deps = [ + ":analysis_cluster", + ":analysis_options", + ":analysis_phase_started_event", + ":artifacts_to_owner_labels", + ":aspect_configured_event", + ":blaze_directories", + ":config/build_configuration", + ":config/build_options", + ":config/invalid_configuration_exception", + ":configured_target", + ":constraints/top_level_constraint_semantics", + ":extra_action_artifacts_provider", + ":make_environment_event", + ":target_configured_event", + ":test/coverage_report_action_factory", + ":test/instrumented_files_info", + ":top_level_artifact_context", + ":view_creation_failed_exception", + "//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/packages", + "//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/skyframe:aspect_value_key", + "//src/main/java/com/google/devtools/build/lib/skyframe:build_configuration_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key", + "//src/main/java/com/google/devtools/build/lib/skyframe:coverage_report_value", + "//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster", + "//src/main/java/com/google/devtools/build/lib/skyframe:target_pattern_phase_value", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/build/skyframe", + "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects", + "//third_party:flogger", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "common_prerequisite_validator", + srcs = ["CommonPrerequisiteValidator.java"], + deps = [ + ":analysis_cluster", + "//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:type", + "//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data", + ], +) + +java_library( + name = "compilation_helper", + srcs = ["CompilationHelper.java"], + deps = [ + ":analysis_cluster", + ":file_provider", + ":transitive_info_collection", + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/collect/nestedset", + "//third_party:guava", + ], +) + +java_library( + name = "configurations_collector", + srcs = [ + "ConfigurationsCollector.java", + "ConfigurationsResult.java", + ], + deps = [ + ":config/build_configuration", + ":config/build_options", + ":config/invalid_configuration_exception", + ":dependency", + "//src/main/java/com/google/devtools/build/lib/events", + "//third_party:guava", + ], +) + +java_library( + name = "configured_object_value", + srcs = ["ConfiguredObjectValue.java"], + deps = [ + ":provider_collection", + "//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/skyframe", + ], +) + +java_library( + name = "configured_target", + srcs = ["ConfiguredTarget.java"], + deps = [ + ":transitive_info_collection", + "//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/skyframe:build_configuration_value", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "dependency", + srcs = ["Dependency.java"], + deps = [ + ":aspect_collection", + ":config/build_configuration", + ":config/transitions/configuration_transition", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "dependency_kind", + srcs = ["DependencyKind.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:jsr305", + ], +) + +java_library( + name = "duplicate_exception", + srcs = ["DuplicateException.java"], +) + +java_library( + name = "extra_action_artifacts_provider", + srcs = ["ExtraActionArtifactsProvider.java"], + deps = [ + ":transitive_info_provider", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + ], +) + +java_library( + name = "file_provider", + srcs = ["FileProvider.java"], + deps = [ + ":transitive_info_provider", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "inconsistent_aspect_order_exception", + srcs = ["InconsistentAspectOrderException.java"], + deps = [ + ":aspect_collection", + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/build/lib/syntax:frontend", + ], +) + +java_library( + name = "label_and_location", + srcs = ["LabelAndLocation.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/syntax:frontend", + "//third_party:auto_value", + ], +) + +java_library( + name = "label_expander", + srcs = ["LabelExpander.java"], + deps = [ + "//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/vfs:pathfragment", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "licenses_provider", + srcs = ["LicensesProvider.java"], + deps = [ + ":transitive_info_provider", + "//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/packages:build_type", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "make_environment_event", + srcs = ["MakeEnvironmentEvent.java"], + deps = ["//third_party:guava"], +) + +java_library( + name = "make_variable_supplier", + srcs = ["MakeVariableSupplier.java"], + deps = [ + ":template_variable_info", + "//src/main/java/com/google/devtools/build/lib/analysis/stringtemplate", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "middleman_provider", + srcs = ["MiddlemanProvider.java"], + deps = [ + ":transitive_info_provider", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + ], +) + +java_library( + name = "no_build_event", + srcs = ["NoBuildEvent.java"], + deps = [ + ":blaze_version_info", + "//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/util:process", + "//third_party:guava", + ], +) + +java_library( + name = "no_build_request_finished_event", + srcs = ["NoBuildRequestFinishedEvent.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/buildeventstream", + "//src/main/java/com/google/devtools/build/lib/util:exit_code", + ], +) + +java_library( + name = "options_diff_predicate", + srcs = ["OptionsDiffPredicate.java"], + deps = [ + ":config/build_options", + "//src/main/java/com/google/devtools/common/options", + ], +) + +java_library( + name = "package_specification_provider", + srcs = ["PackageSpecificationProvider.java"], + deps = [ + ":transitive_info_provider", + "//src/main/java/com/google/devtools/build/lib/collect/nestedset", + "//src/main/java/com/google/devtools/build/lib/packages", + ], +) + +java_library( + name = "platform_configuration", + srcs = ["PlatformConfiguration.java"], + deps = [ + ":config/build_options", + ":config/fragment", + ":platform_options", + "//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/skylarkbuildapi/platform", + "//src/main/java/com/google/devtools/build/lib/util", + "//third_party:guava", + ], +) + +java_library( + name = "platform_configuration_loader", + srcs = ["PlatformConfigurationLoader.java"], + deps = [ + ":config/build_options", + ":config/fragment", + ":config/fragment_options", + ":config/fragment_provider", + ":config/invalid_configuration_exception", + ":platform_configuration", + ":platform_options", + "//third_party:guava", + ], +) + +java_library( + name = "platform_options", + srcs = ["PlatformOptions.java"], + deps = [ + ":config/core_option_converters", + ":config/fragment_options", + "//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/vfs:pathfragment", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "print_action_visitor", + srcs = ["PrintActionVisitor.java"], + deps = [ + ":configured_target", + "//src/main/java/com/google/devtools/build/lib/actions", + "//third_party:guava", + ], +) + +java_library( + name = "provider_collection", + srcs = [ + "ProviderCollection.java", + ], + deps = [ + ":transitive_info_provider", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:jsr305", + ], +) + +java_library( + name = "required_config_fragments_provider", + srcs = ["RequiredConfigFragmentsProvider.java"], + deps = [ + ":config/fragment", + ":transitive_info_provider", + "//src/main/java/com/google/devtools/build/lib/concurrent", + "//third_party:guava", + ], +) + +java_library( + name = "rule_definition_context", + srcs = ["RuleDefinitionContext.java"], +) + +java_library( + name = "rule_definition_environment", + srcs = ["RuleDefinitionEnvironment.java"], + deps = [ + ":rule_definition_context", + "//src/main/java/com/google/devtools/build/lib/cmdline", + ], +) + +java_library( + name = "server_directories", + srcs = ["ServerDirectories.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/vfs", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "statically_linked_marker_provider", + srcs = ["StaticallyLinkedMarkerProvider.java"], + deps = [ + ":transitive_info_provider", + "//src/main/java/com/google/devtools/build/lib/concurrent", + ], +) + +java_library( + name = "target_configured_event", + srcs = ["TargetConfiguredEvent.java"], + deps = [ + ":config/build_configuration", + "//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/packages", + "//src/main/java/com/google/devtools/build/lib/packages:type", + "//third_party:guava", + ], +) + +java_library( + name = "template_variable_info", + srcs = ["TemplateVariableInfo.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//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/syntax:frontend", + "//third_party:guava", + ], +) + +java_library( + name = "toolchain_collection", + srcs = ["ToolchainCollection.java"], + deps = [ + ":toolchain_context", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//third_party:guava", + ], +) + +java_library( + name = "toolchain_context", + srcs = ["ToolchainContext.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/analysis/platform", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//third_party:guava", + ], +) + +java_library( + name = "top_level_artifact_context", + srcs = ["TopLevelArtifactContext.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "transition_mode", + srcs = ["TransitionMode.java"], +) + +java_library( + name = "transitive_info_collection", + srcs = ["TransitiveInfoCollection.java"], + deps = [ + ":provider_collection", + ":transitive_info_provider", + "//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/skylarkbuildapi/core", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "transitive_info_provider", + srcs = ["TransitiveInfoProvider.java"], +) + +java_library( + name = "transitive_info_provider_effective_class_helper", + srcs = ["TransitiveInfoProviderEffectiveClassHelper.java"], + deps = [ + ":transitive_info_provider", + "//third_party:guava", + ], +) + +java_library( + name = "transitive_info_provider_map", + srcs = ["TransitiveInfoProviderMap.java"], + deps = [ + ":provider_collection", + "//third_party:jsr305", + ], +) + +java_library( + name = "transitive_info_provider_map_builder", + srcs = ["TransitiveInfoProviderMapBuilder.java"], + deps = [ + ":transitive_info_provider", + ":transitive_info_provider_effective_class_helper", + ":transitive_info_provider_map", + ":transitive_info_provider_map_impl", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "transitive_info_provider_map_impl", + srcs = ["TransitiveInfoProviderMapImpl.java"], + deps = [ + ":transitive_info_provider", + ":transitive_info_provider_effective_class_helper", + ":transitive_info_provider_map", + "//src/main/java/com/google/devtools/build/lib/collect", + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "view_creation_failed_exception", + srcs = ["ViewCreationFailedException.java"], +) + +java_library( + name = "visibility_provider", + srcs = ["VisibilityProvider.java"], + deps = [ + ":transitive_info_provider", + "//src/main/java/com/google/devtools/build/lib/collect/nestedset", + "//src/main/java/com/google/devtools/build/lib/packages", + ], +) + +java_library( + name = "visibility_provider_impl", + srcs = ["VisibilityProviderImpl.java"], + deps = [ + ":visibility_provider", + "//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/skyframe/serialization/autocodec", + ], +) + +java_library( + name = "workspace_status_action", + srcs = ["WorkspaceStatusAction.java"], + deps = [ + "//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/shell", + "//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/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "xcode_config_event", + srcs = ["XcodeConfigEvent.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/protobuf:xcode_java_proto", + ], +) + +# TODO(b/144899336): This should be analysis/actions/BUILD +java_library( + name = "actions/abstract_file_write_action", + srcs = ["actions/AbstractFileWriteAction.java"], + deps = [ + ":actions/deterministic_writer", + ":actions/file_write_action_context", + "//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", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "actions/binary_file_write_action", + srcs = ["actions/BinaryFileWriteAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/util", + "//third_party:guava", + ], +) + +java_library( + name = "actions/byte_string_deterministic_writer", + srcs = ["actions/ByteStringDeterministicWriter.java"], + deps = [ + ":actions/deterministic_writer", + "//third_party/protobuf:protobuf_java", + ], +) + +java_library( + name = "actions/compression", + srcs = ["actions/Compression.java"], +) + +java_library( + name = "actions/custom_command_line", + srcs = ["actions/CustomCommandLine.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/actions:commandline_item", + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", + "//third_party:auto_value", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "actions/deterministic_writer", + srcs = ["actions/DeterministicWriter.java"], + deps = ["//third_party/protobuf:protobuf_java"], +) + +java_library( + name = "actions/file_write_action_context", + srcs = ["actions/FileWriteActionContext.java"], + deps = [ + ":actions/deterministic_writer", + "//src/main/java/com/google/devtools/build/lib/actions", + ], +) + +java_library( + name = "actions/launcher_file_write_action", + srcs = ["actions/LauncherFileWriteAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + ":analysis_cluster", + ":transition_mode", + "//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/util", + "//src/main/java/com/google/devtools/build/lib/util:os", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "actions/lazy_write_nested_set_of_pair_action", + srcs = ["actions/LazyWriteNestedSetOfPairAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + "//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/util", + ], +) + +java_library( + name = "actions/lazy_write_paths_file_action", + srcs = ["actions/LazyWritePathsFileAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + "//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/util", + "//third_party:guava", + ], +) + +java_library( + name = "actions/parameter_file_write_action", + srcs = ["actions/ParameterFileWriteAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + "//src/main/java/com/google/devtools/build/lib/util", + "//third_party:guava", + ], +) + +java_library( + name = "actions/proto_deterministic_writer", + srcs = ["actions/ProtoDeterministicWriter.java"], + deps = [ + ":actions/deterministic_writer", + "//third_party/protobuf:protobuf_java", + ], +) + +java_library( + name = "actions/spawn_action_template", + srcs = ["actions/SpawnActionTemplate.java"], + deps = [ + ":actions/custom_command_line", + ":analysis_cluster", + "//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/util", + "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", + "//third_party:guava", + ], +) + +java_library( + name = "actions/substitution", + srcs = ["actions/Substitution.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", + "//third_party:guava", + ], +) + +java_library( + name = "actions/symlink_action", + srcs = ["actions/SymlinkAction.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//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", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "actions/template", + srcs = ["actions/Template.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/build/lib/vfs", + "//third_party:jsr305", + ], +) + +java_library( + name = "actions/template_expansion_action", + srcs = [ + "actions/LocalTemplateExpansionStrategy.java", + "actions/TemplateExpansionAction.java", + "actions/TemplateExpansionContext.java", + ], + deps = [ + ":actions/deterministic_writer", + ":actions/file_write_action_context", + ":actions/substitution", + ":actions/template", + "//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/skyframe/serialization/autocodec", + "//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:string", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +# TODO(b/144899336): This should be analysis/buildinfo/BUILD +java_library( + name = "buildinfo/build_info_collection", + srcs = ["buildinfo/BuildInfoCollection.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "buildinfo/build_info_key", + srcs = ["buildinfo/BuildInfoKey.java"], + deps = ["//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec"], +) + +# TODO(b/144899336): This should be analysis/config/BUILD +java_library( + name = "config/auto_cpu_converter", + srcs = ["config/AutoCpuConverter.java"], + deps = [ + "//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/common/options", + ], +) + +java_library( + name = "config/build_configuration", + srcs = [ + "config/BuildConfiguration.java", + "config/FragmentClassSet.java", + "config/OutputDirectories.java", + ], + deps = [ + ":actions/compression", + ":blaze_directories", + ":config/build_options", + ":config/compilation_mode", + ":config/core_options", + ":config/fragment", + ":config/fragment_options", + ":config/fragment_provider", + ":config/run_under", + ":config/transitive_option_details", + "//src/main/java/com/google/devtools/build/lib/actions", + "//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/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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkinterface", + "//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", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "config/build_configuration_option_details", + srcs = ["config/BuildConfigurationOptionDetails.java"], + deps = [ + ":config/build_configuration", + ":config/transitive_option_details", + ], +) + +java_library( + name = "config/build_options", + srcs = ["config/BuildOptions.java"], + deps = [ + ":config/fragment_options", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skyframe/trimming:trimmed_configuration_cache", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/common/options", + "//third_party:flogger", + "//third_party:guava", + "//third_party:jsr305", + "//third_party/protobuf:protobuf_java", + ], +) + +java_library( + name = "config/build_options_cache", + srcs = ["config/BuildOptionsCache.java"], + deps = [ + ":config/build_options", + "//third_party:guava", + ], +) + +java_library( + name = "config/compilation_mode", + srcs = ["config/CompilationMode.java"], + deps = ["//src/main/java/com/google/devtools/common/options"], +) + +java_library( + name = "config/config_aware_aspect_builder", + srcs = ["config/ConfigAwareAspectBuilder.java"], + deps = [ + ":config/fragment", + ":config/host_transition", + "//src/main/java/com/google/devtools/build/lib/packages", + ], +) + +java_library( + name = "config/config_matching_provider", + srcs = ["config/ConfigMatchingProvider.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib:transitive-info-provider", + "//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/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "config/core_option_converters", + srcs = ["config/CoreOptionConverters.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//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/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "config/core_options", + srcs = ["config/CoreOptions.java"], + deps = [ + ":config/auto_cpu_converter", + ":config/compilation_mode", + ":config/core_option_converters", + ":config/execution_info_modifier", + ":config/fragment_options", + ":config/run_under", + ":config/run_under_converter", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "config/execution_info_modifier", + srcs = ["config/ExecutionInfoModifier.java"], + deps = [ + "//src/main/java/com/google/devtools/common/options", + "//third_party:auto_value", + "//third_party:guava", + ], +) + +java_library( + name = "config/execution_transition_factory", + srcs = ["config/ExecutionTransitionFactory.java"], + deps = [ + ":config/build_options", + ":config/build_options_cache", + ":config/core_options", + ":config/host_transition", + ":config/transitions/patch_transition", + ":config/transitions/transition_factory", + ":platform_options", + "//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", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "config/fragment", + srcs = ["config/Fragment.java"], + deps = [ + ":config/build_options", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + "//third_party:jsr305", + ], +) + +java_library( + name = "config/fragment_options", + srcs = ["config/FragmentOptions.java"], + deps = [ + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "config/fragment_provider", + srcs = [ + "config/ConfigurationFragmentFactory.java", + "config/FragmentProvider.java", + ], + deps = [ + ":config/build_options", + ":config/fragment", + ":config/fragment_options", + ":config/invalid_configuration_exception", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "config/host_transition", + srcs = ["config/HostTransition.java"], + deps = [ + ":config/build_options", + ":config/core_options", + ":config/transitions/patch_transition", + ":config/transitions/transition_factory", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:auto_value", + ], +) + +java_library( + name = "config/invalid_configuration_exception", + srcs = ["config/InvalidConfigurationException.java"], +) + +java_library( + name = "config/per_label_options", + srcs = ["config/PerLabelOptions.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "config/run_under", + srcs = ["config/RunUnder.java"], + deps = ["//src/main/java/com/google/devtools/build/lib/cmdline"], +) + +java_library( + name = "config/run_under_converter", + srcs = ["config/RunUnderConverter.java"], + deps = [ + ":config/run_under", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//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/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "config/starlark_defined_config_transition", + srcs = ["config/StarlarkDefinedConfigTransition.java"], + deps = [ + ":config/transitions/configuration_transition", + "//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/skylarkbuildapi/config", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + "//src/main/java/com/google/devtools/build/lib/syntax:frontend", + "//third_party:guava", + ], +) + +java_library( + name = "config/transition_factories", + srcs = ["config/TransitionFactories.java"], + deps = [ + ":config/host_transition", + ":config/transitions/configuration_transition", + ":config/transitions/no_transition", + ":config/transitions/null_transition", + ":config/transitions/split_transition", + ":config/transitions/transition_factory", + "//third_party:auto_value", + ], +) + +java_library( + name = "config/transitive_option_details", + srcs = ["config/TransitiveOptionDetails.java"], + deps = [ + ":config/fragment_options", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +# TODO(b/144899336): This should be config/transitions/BUILD +java_library( + name = "config/transitions/composing_transition", + srcs = ["config/transitions/ComposingTransition.java"], + deps = [ + ":config/build_options", + ":config/transitions/configuration_transition", + ":config/transitions/no_transition", + ":config/transitions/null_transition", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "config/transitions/composing_transition_factory", + srcs = ["config/transitions/ComposingTransitionFactory.java"], + deps = [ + ":config/transitions/composing_transition", + ":config/transitions/configuration_transition", + ":config/transitions/no_transition", + ":config/transitions/null_transition", + ":config/transitions/transition_factory", + "//third_party:auto_value", + "//third_party:guava", + ], +) + +java_library( + name = "config/transitions/configuration_transition", + srcs = ["config/transitions/ConfigurationTransition.java"], + deps = [ + ":config/build_options", + "//src/main/java/com/google/devtools/build/lib/events", + ], +) + +java_library( + name = "config/transitions/no_transition", + srcs = ["config/transitions/NoTransition.java"], + deps = [ + ":config/build_options", + ":config/transitions/configuration_transition", + ":config/transitions/patch_transition", + ":config/transitions/transition_factory", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:auto_value", + ], +) + +java_library( + name = "config/transitions/null_transition", + srcs = ["config/transitions/NullTransition.java"], + deps = [ + ":config/build_options", + ":config/transitions/configuration_transition", + ":config/transitions/patch_transition", + ":config/transitions/transition_factory", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:auto_value", + ], +) + +java_library( + name = "config/transitions/patch_transition", + srcs = ["config/transitions/PatchTransition.java"], + deps = [ + ":config/build_options", + ":config/transitions/configuration_transition", + "//src/main/java/com/google/devtools/build/lib/events", + ], +) + +java_library( + name = "config/transitions/split_transition", + srcs = ["config/transitions/SplitTransition.java"], + deps = [ + ":config/build_options", + ":config/transitions/configuration_transition", + "//src/main/java/com/google/devtools/build/lib/concurrent", + "//src/main/java/com/google/devtools/build/lib/events", + "//third_party:guava", + ], +) + +java_library( + name = "config/transitions/transition_factory", + srcs = ["config/transitions/TransitionFactory.java"], + deps = [":config/transitions/configuration_transition"], +) + +# TODO(b/144899336): This should be analysis/constraints/BUILD +java_library( + name = "constraints/constraint_constants", + srcs = ["constraints/ConstraintConstants.java"], +) + +java_library( + name = "constraints/constraint_semantics", + srcs = ["constraints/ConstraintSemantics.java"], + deps = [ + ":constraints/constraint_constants", + ":constraints/environment_collection", + ":constraints/supported_environments_provider", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/packages", + "//third_party:jsr305", + ], +) + +java_library( + name = "constraints/environment", + srcs = ["constraints/Environment.java"], + deps = [ + ":analysis_cluster", + ":configured_target", + ":constraints/constraint_semantics", + ":constraints/environment_collection", + ":constraints/supported_environments", + ":constraints/supported_environments_provider", + ":file_provider", + "//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/packages", + "//third_party:guava", + ], +) + +java_library( + name = "constraints/environment_collection", + srcs = ["constraints/EnvironmentCollection.java"], + deps = [ + "//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/packages", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:auto_value", + "//third_party:guava", + ], +) + +java_library( + name = "constraints/environment_rule", + srcs = ["constraints/EnvironmentRule.java"], + deps = [ + ":analysis_cluster", + ":config/host_transition", + ":constraints/constraint_constants", + ":constraints/environment", + ":rule_definition_environment", + "//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", + "//third_party:guava", + ], +) + +java_library( + name = "constraints/supported_environments", + srcs = ["constraints/SupportedEnvironments.java"], + deps = [ + ":constraints/environment_collection", + ":constraints/supported_environments_provider", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:guava", + ], +) + +java_library( + name = "constraints/supported_environments_provider", + srcs = ["constraints/SupportedEnvironmentsProvider.java"], + deps = [ + ":constraints/environment_collection", + ":label_and_location", + "//src/main/java/com/google/devtools/build/lib:transitive-info-provider", + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//third_party:auto_value", + ], +) + +java_library( + name = "constraints/top_level_constraint_semantics", + srcs = ["constraints/TopLevelConstraintSemantics.java"], + deps = [ + ":analysis_cluster", + ":config/build_configuration", + ":configured_target", + ":constraints/constraint_semantics", + ":constraints/environment_collection", + ":constraints/supported_environments_provider", + ":transitive_info_collection", + ":view_creation_failed_exception", + "//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/skyframe:build_configuration_value", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +# TODO(b/144899336): This should be analysis/extra/BUILD +java_library( + name = "extra/extra_action_info_file_write_action", + srcs = ["extra/ExtraActionInfoFileWriteAction.java"], + deps = [ + ":actions/abstract_file_write_action", + ":actions/deterministic_writer", + ":actions/proto_deterministic_writer", + "//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/concurrent", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/util", + "//third_party:guava", + ], +) + +# TODO(b/144899336): This should be analysis/skylark/BUILD +java_library( + name = "skylark/args", + srcs = ["skylark/Args.java"], + deps = [ + ":skylark/skylark_custom_command_line", + "//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/concurrent", + "//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/syntax:frontend", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "skylark/bazel_build_api_globals", + srcs = ["skylark/BazelBuildApiGlobals.java"], + deps = [ + ":skylark/skylark_late_bound_default", + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "skylark/function_transition_util", + srcs = ["skylark/FunctionTransitionUtil.java"], + deps = [ + ":config/build_options", + ":config/core_options", + ":config/fragment_options", + ":config/starlark_defined_config_transition", + "//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/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/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "skylark/skylark_api_provider", + srcs = ["skylark/SkylarkApiProvider.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib:provider-collection", + "//third_party:guava", + ], +) + +java_library( + name = "skylark/skylark_command_line", + srcs = ["skylark/SkylarkCommandLine.java"], + deps = [ + "//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/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "skylark/skylark_custom_command_line", + srcs = ["skylark/SkylarkCustomCommandLine.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/actions:commandline_item", + "//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/skyframe/serialization/autocodec", + "//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/syntax:frontend", + "//src/main/java/com/google/devtools/build/lib/util", + "//src/main/java/com/google/devtools/build/lib/vfs:pathfragment", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "skylark/skylark_error_reporter", + srcs = ["skylark/SkylarkErrorReporter.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "skylark/skylark_late_bound_default", + srcs = ["skylark/SkylarkLateBoundDefault.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/analysis/skylark/annotations", + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkinterface", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "skylark/starlark_config", + srcs = ["skylark/StarlarkConfig.java"], + deps = [ + "//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/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +# TODO(b/144899336): This should be lib/analysis/test/BUILD +java_library( + name = "test/analysis_failure", + srcs = ["test/AnalysisFailure.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/cmdline", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "test/analysis_failure_info", + srcs = ["test/AnalysisFailureInfo.java"], + deps = [ + ":test/analysis_failure", + "//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/skylarkbuildapi/test", + "//src/main/java/com/google/devtools/build/lib/syntax:evaluator", + ], +) + +java_library( + name = "test/analysis_test_result_info", + srcs = ["test/AnalysisTestResultInfo.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", + ], +) + +java_library( + name = "test/baseline_coverage_result", + srcs = ["test/BaselineCoverageResult.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/events", + "//third_party:guava", + ], +) + +java_library( + name = "test/coverage_report_action_factory", + srcs = ["test/CoverageReportActionFactory.java"], + deps = [ + ":analysis_cluster", + ":blaze_directories", + ":configured_target", + "//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/events", + "//src/main/java/com/google/devtools/build/lib/skyframe:coverage_report_value", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "test/execution_info", + srcs = ["test/ExecutionInfo.java"], + deps = [ + "//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/skylarkbuildapi/test", + "//third_party:guava", + ], +) + +java_library( + name = "test/instrumented_files_info", + srcs = ["test/InstrumentedFilesInfo.java"], + deps = [ + "//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/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", + "//src/main/java/com/google/devtools/build/lib/util", + ], +) + +java_library( + name = "test/test_configuration", + srcs = ["test/TestConfiguration.java"], + deps = [ + ":config/build_options", + ":config/core_option_converters", + ":config/fragment", + ":config/fragment_options", + ":config/fragment_provider", + ":config/invalid_configuration_exception", + ":config/per_label_options", + ":options_diff_predicate", + ":test/test_sharding_strategy", + "//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/util", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + ], +) + +java_library( + name = "test/test_environment_info", + srcs = ["test/TestEnvironmentInfo.java"], + deps = [ + "//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/skylarkbuildapi/test", + "//third_party:guava", + ], +) + +java_library( + name = "test/test_sharding_strategy", + srcs = ["test/TestShardingStrategy.java"], + deps = [ + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/common/options", + ], +) + +java_library( + name = "test/test_trimming_transition_factory", + srcs = ["test/TestTrimmingTransitionFactory.java"], + deps = [ + ":config/build_options", + ":config/transitions/no_transition", + ":config/transitions/patch_transition", + ":config/transitions/transition_factory", + ":test/test_configuration", + "//src/main/java/com/google/devtools/build/lib/events", + "//src/main/java/com/google/devtools/build/lib/packages", + "//src/main/java/com/google/devtools/common/options", + "//third_party:guava", + ], +)