Skip to content
代码片段 群组 项目
该项目从 https://github.com/bazelbuild/bazel.git 镜像。 Pull mirroring failed .
由于尝试失败次数过多,仓库镜像已暂停,可以由项目维护者或所有者恢复。
上次成功更新
  1. 4月 25, 2023
    • salma-samy's avatar
      Change test flags from common to build · dc724e4e
      salma-samy 创作于
      PiperOrigin-RevId: 527028530
      Change-Id: I2ad125f2def28528e0087627f8902f2c41d51cf7
      dc724e4e
    • Fabian Meumertzheim's avatar
      Make rules_testing available for Bazel tests · 883b6eec
      Fabian Meumertzheim 创作于
      Includes an update of bazel_skylib to 1.3.0 as the (very old) version 1.0.3 wasn't compatible with rules_testing.
      
      Work towards #1920
      
      Closes #18182.
      
      PiperOrigin-RevId: 527021012
      Change-Id: I80ebff1a1aa656974ad6a1bb1809d8f919a2fa22
      883b6eec
    • Googler's avatar
      Add `getMaxTransitiveSourceVersionToInjectForNonHermeticFunction` to... · 4b15a79a
      Googler 创作于
      Add `getMaxTransitiveSourceVersionToInjectForNonHermeticFunction` to `SkyFunction`, which returns the max transitive source version (mtsv) that could be injected via `SkyFunctionEnvironment#injectVersionForNonHermeticFunction` if `#compute` were invoked for a `SkyKey`/`SkyValue` pair, or null if no call for version injection is made.
      
      PiperOrigin-RevId: 526996521
      Change-Id: Ie99c41a452e3c67ae9a60546164cafaaac54cc7f
      4b15a79a
    • Googler's avatar
      Automated rollback of commit e06c0ace. · 8af2406b
      Googler 创作于
      *** Reason for rollback ***
      
      Causes large build breakage
      
      *** Original change description ***
      
      Blank out value of crosstool_top when C++ toolchain resolution is enabled
      
      Without this change, analysis fails in case `--crosstool_top` is set to a `cc_toolchain_suite`
      that doesn't have a toolchain matching the `--cpu` value.
      
      This prevented removing `--crosstool_top` flag, because the default value only supports a limited set of cpus.
      
      PiperOrigin-RevId: 526989656
      Change-Id: I255396e01d62405e34598b3eed81b4e03464dbd3
      8af2406b
    • Googler's avatar
      Make Stardoc repository mapping aware · fde24797
      Googler 创作于
      By taking in .bzl files as runfiles rather than inputs, Stardoc can use the existing Java runfiles library to resolve apparent repository names in load labels into canonical repository names.
      
      Work towards #16124
      Fixes #14140
      
      Closes #16775.
      
      PiperOrigin-RevId: 526976752
      Change-Id: I0848a5c7590348f778ad8c939fd37c89a53e55b2
      fde24797
    • Bazel Release System's avatar
      Release 7.0.0-pre.20230417.1 (2023-04-25) · a333dc1e
      Bazel Release System 创作于
      Baseline: 0a47a1fb
      
      Incompatible changes:
      
        - Removing java_common.javac_jar Starlark call.
        - native.existing_rule now returns select values in a form that is
          accepted by rule instantiation. This is a breaking API change
          because there is some code that relies on the precise type
          returned, including brittle workarounds for this bug specifically
          and insufficiently flexible workarounds for other issues with the
          intersection of select and native.existing_rule.
        - flipped incompatible_use_toolchain_resolution_for_java_rules, see
          #7849
        - Query output=xml/proto/location for source files will now show
          the location of line 1 of the source file (as the new default)
          instead of its location in the BUILD file.
        - Specifying a target pattern underneath a directory specified by
          .bazelignore will now emit a warning, not an error.
        - Query `--order_output=auto` will now sort lexicographically.
          However, when `somepath` is used as a top level function (e.g.
          `query 'somepath(a, b)'`), it will continue to output in
          dependency order. If you do not want the lexicographical output
          ordering, specify another `--order_output` value (`no`, `deps` or
          `full`) based on what ordering you require.
        - In the build event stream,
          BuildMetrics.TargetMetrics.targets_loaded is no longer populated.
          Its value was always mostly meaningless.
          BuildMetrics.TargetMetrics.targets_configured and
          BuildMetrics.ActionSummary.actions_created now include configured
          aspect data.
        - //visibility:legacy_public has been removed.
        - Flip and remove incompatible_dont_collect_so_artifacts
          (https://github.com/bazelbuild/bazel/issues/13043).
        - Remove flag --experimental_no_product_name_out_symlink: it is
          always true.
        - The Starlark method generate_dsym in objc fragment has
          been deleted.  Please use the equivalent apple_generate_dsym in
          cpp
          fragment instead.
        - Native libraries in data attribute are not collected. See
          https://github.com/bazelbuild/bazel/issues/13550 for details
        - Enforce the `--profile` path to be absolute.
        - Enforce the --memory_profile path to be absolute.
        - JavaToolchainInfo.jvm_opt returns Depset instead of a list.
        - --apple_sdk has been deleted.  It is a no-op.
        - --bep_publish_used_heap_size_post_build is now a no-op and will
          be deleted in a future release. Use --memory_profile=/dev/null
          instead.
        - Flipped --incompatible_disallow_resource_jars (see
          https://github.com/bazelbuild/bazel/issues/13221).
        - Remove --bep_publish_used_heap_size_post_build
        - JSON trace profile: rename counter names.
        - Removed --action_graph from the dump command.
        - Remove `--{experimental_,}json_trace_compression` option.
        - Remove `--experimental_profile_cpu_usage`.
        - flipped --incompatible_java_common_parameters (see #12373)
        - this incompatible change breaks old instances of http_archive
          that specified netrc as an absolute path. It is unlikely there
          are many instances in the wild since the path would refer to a
          netrc file inside the external repository by absolute path.
          Migration should be straightforward.
        - genrule switched to use exec transition instead of host. This can
          break targets with hardcoded output paths. To avoid using
          hardcoded paths use make variables, see
          https://docs.bazel.build/versions/4.2.2/be/make-variables.html#pre
          defined_label_variables
        - this incompatible change breaks old instances of http_archive
          that specified netrc as an absolute path. It is unlikely there
          are many instances in the wild since...
        - Error Prone now checks for unused return values of additional
          methods on `java.lang.Object`, which can be disabled using
          `--javacopts=-Xep:ReturnValueIgnored:OFF`
        - Error Prone now checks for unused return values of additional
          methods on `java.lang.Object`, which can be disabled using
          `--javacopts=-Xep:ReturnValueIgnored:OFF`
        - The --incompatible_existing_rules_immutable_view flag has been
          flipped to true. See
          https://github.com/bazelbuild/bazel/issues/13907 for
          migration notes.
        - Split up the C++ archive from the C++ link action and set
          `CppArchive` as mnemonic.
        - workspace(managed_directories=) is not available anymore.
        - --legacy_important_outputs now has a default of false.
        - --legacy_important_outputs default reverted to true.
        - objc_library now requires CcInfo in its deps.  If this breaks
          you, add empty CcInfo() to your rule.
        - Flag --experimental_local_memory_estimate removed.
        - Added a new flag
          --incompatible_unambiguous_label_stringification, which causes
          labels in the main repo to stringify into unambiguous forms
          starting with an @. See
          https://github.com/bazelbuild/bazel/issues/15916 for more
          information.
        - analysis_test moved into testing.analysis_test
        - Flip incompatible_enable_cc_toolchain_resolution
          (https://github.com/bazelbuild/bazel/issues/7260)
        - (Rollback) Flip incompatible_enable_cc_toolchain_resolution
          (https://github.com/bazelbuild/bazel/issues/7260)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - name parameter is removed from rule call
          (https://github.com/bazelbuild/bazel/issues/16301)
        - --incompatible_remote_downloader_send_all_headers is flipped to
          true. See #16356 for details.
        - GrpcRemoteDownloader only includes relevant headers instead of
          sending all credentials.
        - In package_group's `packages` attribute, the syntax "//..." now
          refers to all packages in the same repository as the package
          group, rather than all packages everywhere. The new item "public"
          can be used instead to obtain the old behavior. In `bazel query
          --output=proto` (and `--output=xml`), the `packages` attribute
          now serializes with the leading double slash included (for
          instance, `//foo/bar/...` instead of `foo/bar/...`). See also
          #16355, #16323, and #16391.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - Bazel no longer increases the delay between progress updates when
          there is no cursor control.
        - This has the side effect of changing the message on unsuccessful
          builds from
          ```
          FAILED: Build did NOT complete successfully (0 packages loaded)
          ```
          to
          ```
          ERROR: Build did NOT complete successfully
          ```
        - the --experimental_async_execution flag is now a no-op.
        - --experimental_replay_action_out_err is not a no-op.
        - `cquery --output=files` also outputs source files.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - `--incompatible_always_include_files_in_data` is flipped to true.
          See https://github.com/bazelbuild/bazel/issues/16654 for details.
        - This changes the behavior of Python version in exec/host
          configuration. Mitigation is to set Python version on the targets.
        - When multiple --deleted_packages options are passed on the
          command line, they will be concatenated instead of the latest one
          taking effect.
        - This has the side effect of changing the message on unsuccessful
          builds from
        - JSON profile: Use doubles instead of strings for counter series.
        - query --output=proto --order_output=deps now returns targets in
          topological order (previously there was no ordering).
        - --experimental_build_transitive_python_runfiles is flipped to
          false. See #16303 for details
        - --incompatible_python_disable_py2 is flipped to true. See #17293
          for details.
        - When remote cache evicts blobs, Bazel will exit with code 39.
        - `--features` only applies to targets built in the target
          configuration, and `--host_features` is used for the host / exec
          configuration (gated behind `--incompatible_use_host_features`)
        - `--incompatible_strict_conflict_checks` is flipped to true. See
          https://github.com/bazelbuild/bazel/issues/16729 for details.
        - Bazel's local CPU resource on Linux is now container aware. Use
          `--local_cpu_resources`, `--loading_phase_threads` or `--jobs` to
          override.
        - `copy_from_rule` is exec_groups is deprecated
          (https://github.com/bazelbuild/bazel/issues/17668).
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - --legacy_bazel_java_test is now a no-op
        - `--experimental_execution_graph_log` no longer exists. Current
          users that want local logs need to pass
          `--experimental_enable_execution_graph_log
          --experimental_execution_graph_log_path=/some/local/path`.
          Current users that want logs uploaded to BEP need to pass
          `--experimental_enable_execution_graph_log
          --experimental_stream_log_file_uploads`.
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - Remove high priority workers functionality from blaze.
      
      New features:
      
        - Args.add_all and Args.add_joined can now accept closures in
          map_each if explicitly enabled via allow_closure.
        - Add `--bes_header` flag to pass extra headers to the BES server.
        - Support local_repository in Bazel Registry's source.json file
        - The `aquery` and `cquery` commands now respect the
          `--query_file` flag just like the `query` command.
      
      Important changes:
      
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - Flag --incompatible_objc_compile_info_migration is removed.  See
          #10854.
        - none
          PAIR=cmita
        - The --incompatible_load_python_rules_from_bzl flag is now a no-op.
        - Filter all (instead of just C++) source files for coverage output
          according to --instrumentation_filter and
          --instrument_test_targets.
        - The `--incompatible_disable_native_apple_binary_rule` flag has
          been added which disables the native `apple_binary` rule. Users
          who need to use `apple_binary` directly (if they cannot use one
          of the more specific Apple rules) should load it from
          https://github.com/bazelbuild/rules_apple.
        - The Android rules' --use_singlejar_apkbuilder is now a no-op.
          SingleJar will always be used to build APKs.
        - dict.setdefault(key, ...) now fails if dict is frozen, even if it
          already contains key. This is an incompatible API change.
        - Flag --incompatible_objc_provider_remove_compile_info is removed.
           See #11359.
        - Starlark now permits def statements to be nested (closures).
        - native.existing_rule now returns select values in a form that is
          accepted by rule instantiation. This is a breaking API change,
          though the fallout is expected to be small.
        - Starlark now supports lambda (anonymous function) expressions.
        - The "test" and "coverage" commands no longer return 3 when a
          test action fails because of a system error. Instead, the exit
          code
          reflects the type of system error.
        - The undocumented ctx.expand feature no longer exists.
        - Make --legacy_dynamic_scheduler a no-op flag.
        - Multiplex persistent workers can now use the JSON protocol.
        - native.existing_rule now returns a mutable list, not a tuple, for
          a list-valued attributes. This is an incompatible API change.
        - Roll back change to have native.existing_rules use list instead
          of tuple.
        - BEP includes test suite expansions.
        - config_setting now honors `visibility` attribute (and defaults to
          `//visibility:public`)
        - Change the MultiArchSplitTransitionProvider to be based on
          platform type + CPU instead of fixed "ios_" + cpu.
        - enforce config_setting visibility. See
          https://github.com/bazelbuild/bazel/issues/12932 for details.
        - add a flag to build v4 signature file
        - Added _direct_source_jars output group to Java related targets.
          END_PUBLIC
        - pkg_deb is no longer part of @bazel_tools//build_defs/pkg:pkg.bzl.
          Use https://github.com/bazelbuild/rules_pkg/tree/main/pkg instead
        - Allowing the lipo operations to be conditional in the
          linkMultiArchBinary API for Apple binaries. Single architecture
          slices are now returned through AppleBinaryOutput and the
          Starlark API.
        - Release restriction for "-" in the package name for Python
          sources. Now `py_binary` and `py_test` targets can have main
          source file with "-" in the path.
        - Users consuming BEP may assume that a `named_set_of_files` event
          will
          appear before any event referencing that `named_set` by ID. This
          allows consumers
          to process the files for such events (eg. `TargetCompleted`)
          immediately.
        - BEP includes all files from successful actions in requested
          output groups.
          Previously, an output group's files were excluded if any file in
          the output group
          was not produced due to a failing action. Users can expect BEP
          output to be larger
          for failed builds.
        - In BEP, TargetComplete.output_group has a new field `incomplete`
          indicating that the file_sets field is missing one or more
          declared artifacts
          whose generating actions failed.
        - The flag `--toolchain_resolution_debug` now takes a regex
          argument, which is used to check which toolchain types should
          have debug info printed. You may use `.*` as an argument to keep
          the current behavior of debugging every toolchain type.
        - Add runfiles.merge_all() for merging a sequence of runfiles
          objects.
        - runfiles.merge() and merge_all() now respect
          --nested_set_depth_limit.
          If you hit the depth limit because you were calling merge() in a
          loop, use
          merge_all() on a sequence of runfiles objects instead.
        - Bazel will no longer create a bazel-out symlink if
          --symlink_prefix is specified: the directory pointed to via the
          bazel-out symlink is accessible via ${symlink_prefix}-out. If
          this causes problems for you, set
          --experimental_no_product_name_out_symlink=false in your builds
          and file an issue.
        - Updates worker protocol with cancellation fields, and adds
          experimental_worker_cancellation flag to control cancellation.
        - Simplify build failure output by always using `NNN arguments`.
        - trim_test_configuration now defaults to on
        - Mark genrule.srcs as a source attribute for coverage.
        - When using --allow_analysis_failures (for example, via
          bazel-skylib's
          analysistest with `expect_failure = True`), analysis-time
          failures in aspect
          implementation functions will now be propagated and saved in
          AnalysisFailureInfo, just like analysis-time failures in rules.
        - cquery --noimplicit_deps now correctly filters out resolved
          cc_toolchains
        - Sign apks deterministically.
        - Make gcov optional in cc_toolchain tools.
        - If --experimental_prefer_mutual_xcode is passed, Bazel will
          choose the local default (instead of the newest mutually
          available version) if it's available both locally and remotely.
        - Remove java_lite_proto_library.strict_deps attribute.
        - Generate proguard configurations deterministically.
        - Adds a new flag, `--incompatible_enable_cc_test_feature` which
          switches from the use of build variables to the feature of the
          same name.
        - Dropped fragile xz support from built in pkg_tar. Users requiring
          xz
          compression should switch to bazlebuild/rules_pkg.
        - If all strategies of one branch (the local or remote execution
          branch) of the `dynamic` strategy fail to even accept (via the
          response they give from `canExec`) the action, `dynamic` will now
          try to see if the other branch can accept it. (Trying to run it
          and it failing will still cause a failure if it was the first
          result, this is about strategies claiming they can't even try the
          action)
        - Add `disable_annotation_processing` option to
          `java_common.compile`, which disables any annotation processors
          passed to `plugins` or in `exported_plugins` of `deps`
        - Remove obsolete --incompatible_prohibit_aapt1
        - The minimum Android build tools version for the Android rules is
          now 30.0.0
        - Adds --experimental_reuse_sandbox_directories flag to reuse
          already-created non-worker sandboxes with cleanup.
        - --experimental_force_gc_after_build is deprecated and will be
          removed soon. Use --bep_publish_used_heap_size_post_build instead
        - Forward coverage-instrumented files from non-tool dependencies by
          default.
        - The used_heap_size_post_build field in BEP is populated when the
          --memory_profile flag is set
        - --run_validations defaults to true.
        - Consider label_keyed_string_dict attributes when gathering
          instrumented files for coverage.
        - Remove flag
          --experimental_forward_instrumented_files_info_by_default, now
          that this behavior is the default.
        - When using MemoryProfiler with multiple GCs via the
          --memory_profile_stable_heap_parameters flag, we do a more
          precise calculation of heap used at the end of the build. This
          will generally result in lower values.
        - --bep_publish_used_heap_size_post_build is deprecated. Use
          --memory_profile=/dev/null instead.
        - Disable --all_incompatible_changes flag.
        - The --all_incompatible_changes flag is now a no-op
        - The `--toolchain_resolution_debug` flag now accepts regexes
          matching targets, as well as toolchain types, when choosing what
          debug messages to print.
        - Adds --experimental_existing_rules_immutable_view flag to make the
          native.existing_rule and native.existing_rules functions more
          efficient by
          returning immutable, lightweight dict-like view objects instead
          of mutable
          dicts.
        - Add support to length-delimited protos as undeclared output
          annotations []
        - The deprecated "relative_to_caller_repository" parameter has been
          removed from the Label constructor.
        - The toolchain transition is now enabled for all toolchains.
        - incompatible_disable_depset_items is flipped
        - The --experimental_existing_rules_immutable_view flag has been
          renamed to  --incompatible_existing_rules_immutable_view
        - Bazel no longer supports Java 8. From this version on, the
          minimum required JDK is OpenJDK 11.
        - Deprecate --incompatible_applicable_licenses flag, in preparation
          for removal in Bazel 6.x.
        - Treat py_*.srcs_version="PY2" the same as "PY2ONLY".
        - The Build Event Protocol now contains file digests and sizes
          along with the file name and URI.
        - Refactor system suspend event handling.
        - alias() can now select() directly on constraint_value()
        - Allow \a \b \f \v escape sequences in Starlark.
        - Match remote and local xcode version by most granular version.
        - Adds `--experimental_worker_multiplex_sandboxing` flag that
          controls whether to sandbox multiplex workers that support it.
        - provider() has a new parameter: init, a callback for performing
          pre-processing and validation of field values. Iff this parameter
          is set,
          provider() returns a tuple of 2 elements: the usual provider
          symbol (which,
          when called, invokes init) and a raw constructor (which bypasses
          init).
        - Tests that fail to create or complete their
          `TestAttemptContinuation` by
          throwing an `ExecException` will report an `INCOMPLETE` status.
          Previously, Bazel
          would fail to report any status for the test attempt.
        - Fixed an issue where Bazel could erroneously report a test passes
          in coverage mode without actually running the test.
        - Include more information about configurations in cquery proto
          formatted output. This deprecates the configuration field of
          AnalysisProtosV2.ConfiguredTarget, and adds a new field,
          configuration_id, to
          be used instead.
        - experimental cc_library.implementation_deps inverted to
          interface_deps
        - In aquery and cquery proto output, indicate if a configuration is
          a
          tool or non-tool configuration.
        - Include complete configurations in cquery proto output.
        - experimental cc_library.implementation_deps inverted to
          interface_deps
        - Make protocOpts() publicly accessible.
        - Add some documentation about how configuration information is
          conveyed in cquery proto output.
        - Introduces experimental static library linking API under
          apple_common.link_multi_arch_static_library
        - Further deprecation and removal of pkg_tar. Stop supporting
          legacy use of 'files' attribute, where it could be a list of
          labels instead of a map of paths to labels.
        - Removed --incompatible_no_build_defs_pkg flag. It never fulfilled
          its purpose because --all_incompatible_changes would never set
          it. The last rule it gated (pkg_tar) is scheduled to be removed
          in Bazel 6.x.
        - Add coverage configuration fragment, used to expose
          output_generator label.
        - Bazel now no longer includes system headers on macOS in coverage
          reports (#14969).
        - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
          $ANDROID_HOME.
        - The default dexer is now d8. dx can be optionally enabled using:
            --define=android_dexmerger_tool=dx_dexmerger \
            --define=android_incremental_dexing_tool=dx_dexbuilder \
            --define=android_standalone_dexing_tool=dx_compat_dx \
            --use_workers_with_dexbuilder
        - Packaging support for deploy JAR embedded JDK files (hermetic
          Java).
        - Don't stamp cc_common.link actions for tool dependencies.
        - Starlark test rules can use the new inherited_environment
          parameter of testing.TestEnvironment to specify environment
          variables
          whose values should be inherited from the shell environment.
        - Enable merging permissions during Android manifest merging with
          the --merge_android_manifest_permissions flag.
        - Allow specialization to work with constraint_values.
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - Make ijar / java_import preserve classes with `@kotlin.Metadata`
          annotations
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather than always linking statically when Windows is
          the _host_).
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather than always linking statically when Windows is
          the _host_).
        - Add devtools/build/lib/worker:work_request_handlers to the remote
          android tools release package. This will be transitively packaged
          into all_android_tools.
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - android_sdk_repository read $ANDROID_SDK_ROOT in addition to
          $ANDROID_HOME.
        - Advance android_tools_pkg version to 0.24.0.
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather
          than always linking statically when Windows is the _host_).
        - Bazel uses the D8 jar from Maven instead of the SDK.
        - "blaze config" now only reports info from the last build. To
          compare configurations across multiple builds, redirect "blaze
          config" output to a file and run your favorite diff tool.
        - The --incompatible_override_toolchain_transition flag is now
          always set, and will be removed in the future. Thus,
          --noincompatible_override_toolchain_transition has no effect, and
          the value of the incompatible_use_toolchain_transition parameter
          in aspect() and rule() builtins is ignored.
        - Switch cc_test implementation to Starlark. Note: cc_test will now
          link statically when _targeting_ Windows regardless of host
          platform (rather
          than always linking statically when Windows is the _host_).
        - Toolchain types may now be optional, in addition to mandatory.
          See https://bazel.build/docs/toolchains#optional-toolchains for
          further details.
        - Add six to deps of has_services=1 py_proto_librarys.
        - pkg_tar(symlinks) has been removed. Users needing that feature
          should
          migrate to @rules_pkg.
        - Aspects can now define and use exec groups using the same API as
          rules.
        - Removed the obsolete --incompatible_applicable_licenses flag. The
          feature is permanently enabled.
        - embedded_tools packages R8 desugarer again
        - Bazel now selects sh path based on execution platform instead of
          host platform, making it possible to execute sh actions in
          multiplatform builds. --shell_executable now only applies to
          actions configured for host.
        - labels in genquery.scope are no longer configured.
        - When Bzlmod is enabled, all Bzlmod-generated repos will have an
          extra '@' prepended to their names. This effectively enables the
          canonical label literal syntax for Bzlmod-generated repos
          (`@@canonicalRepoName//pkg:target`; see
          https://docs.google.com/document/d/1N81qfCa8oskCk5LqTW-LNthy6EBrDo
          t7bdUsjz6JFC4/edit?usp=sharing).
        - Exposed `CcSharedLibraryInfo` to Starlark builtins.
        - Enable --use_top_level_targets_for_symlinks by default.
        - Singlejar accepts runtime Created-By field
        - --noincompatible_disable_managed_directories, and with that,
          workspace(managed_directories=) is not supported anymore.
        - Bazel supports D8 desugaring, albeit without persistent workers
        - Remove mtime options from pkg_tar. Users should migrate to
          @rules_pkg.
        - Test for experimental multiplexed persistent resource processor.
        - Added new register_{execution_platforms,toolchains} directives to
          the MODULE.bazel file, to replace the
          {execution_platforms,toolchains}_to_register attributes on the
          module() directive.
        - The legacy pkg_tar no longer supports the ability to untar and
          repackage an input tar file (`deps` attribute). Users needed that
          capability must switch to github.com/bazelbuild/rules_pkg.
        - `cquery`'s new output mode
          [`--output=files`](https://bazel.build/docs/cquery#files-output)
          lists the output files of the targets matching the query. It
          takes the current value of `--output_groups` into account.
        - Change singlejar metadata to report Created-By Bazel
        - Add support for fetching RPC credentials from credential helper.
        - Revert interface_deps back to implementation_deps after problem
          reported in. Use `buildozer 'rename deps implementation_deps'
          //...:%cc_library; buildozer 'rename interface_deps deps'
          //...:%cc_library`
        - Fix for desugaring failure on Bazel+Android+Windows build
          scenario.
        - D8 is the default desugarer
        - Migrate main_dex_list_creator to D8 (DX deprecation)
        - --experimental_enable_bzlmod has been renamed --enable_bzlmod,
          and still defaults to false.
        - selects() no longer produce irrelevant duplicate label checks
        - Adds a dexer output cache to CompatDexBuilder to improve build
          speed.
        - Improved error messages when analyzing inline bzl code
        - Improved error messages when analyzing inline bzl code
        - The `@bazel_tools//tools/cpp:compiler` flag now has the value
          `gcc` if the configured compiler is detected to be gcc rather
          than the generic value `compiler`. A branch for `gcc` may have to
          be added to `select` statements that do not have a default case
          that handles gcc appropriately.
        - The `get_child` method of `path` now accepts an arbitrary
          number of relative path strings as positional arguments.
        - SourceManifestAction supports `Action.content`
        - Add --incompatible_build_transitive_python_runfiles alias. See
          #16303
        - The @bazel_tools//tools/cpp:compiler flag now has the value
          `clang` for the auto-configured Xcode toolchain rather than the
          generic value compiler. A branch for `clang` may have to be added
          to select statements that do not have a default case that handles
          this toolchain appropriately.
        - added additional debug message to warn of skipped toolchains
          during resolution
        - The deprecated --remote_allow_symlink_upload flag has been
          removed. Symlinks in local action outputs are always permitted,
          even with remote caching. Whether they're uploaded as symlinks or
          as the files/directories they point to is still determined by the
          --incompatible_remote_symlinks flag.
        - Added `struct`, `json`, `proto`, and `depset` to the starlark
          environment of Bazel's cquery (--output=starlark) command
        - Added three `package_group`-related flags:
          `--incompatible_package_group_includes_double_slash` (#16391),
          `--incompatible_package_group_has_public_syntax` (#16355), and
          `--incompatible_fix_package_group_reporoot_syntax` (#16323). With
          these flags, `package_group` can now easily specify "all
          packages", "no packages", and "all packages in the current repo".
        - Record hermetic packaged JDK modules file size in deploy JAR
          manifest 'JDK-Lib-Modules-Size' attribute.
        - .bzl files may now set a visibility to guard what other .bzl and
          BUILD files may load them. See [...] for more information.
        - Deletes the --extra_proguard_specs Blaze flag
        - The new path variable `$(rlocationpath ...)` and its plural form
          `$(rlocationpaths ...)` can be used to expand labels to the paths
          accepted by the `Rlocation` function of runfiles libraries. This
          is the preferred way to access data dependencies at runtime and
          works on all platforms, even when runfiles are not enabled (e.g.,
          on Windows by default).
        - Starlark `print()` statements are now emitted iff the line of
          code is executed. They are no longer replayed on subsequent
          invocations unless the Starlark code is re-executed.
          Additionally, multiple identical `print()` statements (same
          string from the same line of code, e.g. from a loop) are all
          emitted and no longer deduplicated.
        - Fixes a bug where some compilation flags would not be applied to
          a cc_test
        - removed outdated ctx.host_fragments
        - removed outdated ctx.host_configuration
        - Now that the host configuration is finished, `genrule` should
          prefer the use of `tools` and stop using `exec_tools`.
        - Added a `native.package_relative_label()` function, which
          converts a label string to a Label object in the context of the
          calling package, in contrast to `Label()`, which does so in the
          context of the current .bzl file. Both functions now also accept
          relative labels such as `:foo`, and are idempotent.
        - Update Android manifest merger to v30.1.3, and also drop support
          for legacy (pre-D8) desugaring.
        - Adds coverage metric support to android_local_test
        - Correctly encode double value positive infinity as "inf" instead
          of "+inf" for textprotos.
        - Add --use_target_platform_for_tests which uses the target
          platform for executing tests instead of the execution platform.
        - Custom C++ rules on Windows calling
          cc_common.create_linking_context_from_compilation_outputs should
          review whether each target of the rule type should produce a
          dynamic library since a condition which blocked their creation
          has been moved to the rules from behind the API.
        - Add flag `--experimental_remote_cache_ttl` and set the default
          value to 3 hours.
        - making --incompatible_use_platforms_repo_for_constraints do
          nothing. Using constraints from @bazel_tools//platforms with or
          without the flag will throw error with message "Constraints from
          @bazel_tools//platforms have been removed. Please use constraints
          from @platforms repository embedded in Bazel, or preferably
          declare dependency on https://github.com/bazelbuild/platforms"
        - Fixed an issue where WORKSPACE and WORKSPACE-loaded .bzl files
          couldn't see the Bzlmod root module's mappings when Bzlmod is
          enabled.
        - Subsequent settings of --extra_execution_platforms now override
          previous settings, instead of adding them to a list. If you
          currently set --extra_execution_platforms more than once, please
          migrate by passing a list of values to
          --extra_execution_platforms instead so that earlier values aren't
          overwritten.
        - @bazel_tools//config:common_settings.bzl has been removed.
          Use @bazel_skylib//rules:common_settings.bzl instead.
        - cc_shared_library is no longer experimental, see
          https://github.com/bazelbuild/bazel/issues/16709 for details
        - The flag `--distinct_host_configuration` is removed. It has been
          a no-op since Bazel 6.0.0.
        - Added `native.module_name()` and `native.module_version()` to
          allow BUILD macro authors to acquire information about which
          Bazel module the current repo is associated with.
        - Add `--skip_incompatible_explicit_targets` option
        - Remove 'darwin' as a CPU value, use 'darwin_x86_64' instead
        - cc_test can now be configured by using a native.toolchain().
        - `@foo` labels can now be used on the command line as the
          top-level target (that is, `bazel build @foo` now works).
          Double-dot syntax is now forbidden (`bazel build ../foo` will no
          longer work).
        - The location of rules that explicitly specify `generator_name`
          and/or `generator_function` attributes (typically because they
          are incidentally copied from `native.existing_rule()`) is now the
          top-level call in the `BUILD` file, which is consistent with
          rules that do not explicitly specify these attributes.
        - Warnings (most notably those associated with the `deprecation`
          rule attribute) are no longer replayed on subsequent invocations
          unless the target in question is re-analyzed. Warnings are purely
          informational, so this change has no bearing on the correctness
          of the build. Downstream tests that break due to this change
          should update their expectations.
        - `--experimental_remote_build_event_upload` has been renamed to
          `--remote_build_event_upload`
        - [Breaking change] platform, constraint_setting, and
          constraint_value can no longer take an applicable_licenses value.
          Remediation is to remove the attribute and rely on the package
          level default.
        - `--experimental_action_cache_store_output_metadata` has been
          renamed to `--action_cache_store_output_metadata`
        - Changed the default value for `--remote_build_event_upload` to
          `minimal`.
        - `--experimental_remote_cache_compression` has been renamed to
          `--remote_cache_compression`
        - The REPO.bazel and MODULE.bazel files are now also considered
          workspace boundary markers.
      
      This release contains contributions from many people at Google, as well as Adam Azarchs, Adam Lavin, Adam Liddell, Adam Singer, Adam Wolf, Albert Lloveras, Alessandro Patti, Alex Eagle, Alex Eagle, Alex Eagle, Alex Scott, AlexTereshenkov, Alex Torok, Amanda L Martin, Andreas Fuchs, Andreas Herrmann, Andreas Herrmann, Andrew Katson, Andrew Klotz, Andy Hamon, Ankush Goyal, Anthony Pratti, Anthony Ter-Saakov, Ara Nguyen, Artem V. Navrotskiy, Artem Zinnatullin, arunkumar9t2, arun.sampathkumar, aryeh, Ast-x64, Austin Schuh, Benedek Thaler, Benjamin Lee, Benjamin Peterson, Benjamin Peterson, Benjamin Sigonneau, Ben Lee, Bohdan Vanieiev, Bo Zhang, Bo Zhang, Bradley Burns, Brandon Duffany, Brandon Jacklyn, Brentley Jones, Brentley Jones, bromano, Cameron Mulhern, Chad Miller, Charles-Francois Natali, Chirag Ramani, Chris Clearwater, Chris Fredrickson, Christopher Peterson Sauer, Christopher Rydell, Christopher Sauer, ckiffel, Cristian Hancila, crydell-ericsson, Dan Bamikiya, Dan Fleming, Daniel Grunwald, Daniel KT, Daniel McCarney, Daniel Wagner-Hall, Danny Wolf, Dave MacLachlan, Dave Nicponski, David Cummings, David, David Ostrovsky, David Sanderson, Delwin9999, Denys Kurylenko, dhmemi, Dimi Shahbaz, divanorama, dmaclach, Dmitry Ivankov, dorranh, ecngtng, Ed Schouten, Eitan Adler, Elliotte Rusty Harold, Emil Kattainen, erenon, Eric Cousineau, Eric Song, Eric Wendelin, Ethan Steinberg, Ezekiel Warren, Fabian Brandstetter, Fabian Meumertzheim, Fabian Meumertzheim, FaBrand, Fahrzin Hemmati, Fahrzin Hemmati, Felix Ehrenpfort, Finn Ball, floriographygoth, frazze-jobb, Fredrik Medley, Garrett Holmstrom, Gaspare Vitta, Gautam Korlam, George Gensure, George Prekas, gkgoat1, gkorlam, goodspark, Greg Estren, Greg, Greg Magolan, Gregory Fong, Greg Roodt, Grzegorz Lukasik, Grzegorz Lukasik, Halil Sener, Halil Sener, Hannes Kufler, Hao Yuan, homuler, hvadehra, hvd, Igor Nazarenko, Ikko Ashimine, Jack Dai, James Broadhead, James Ma, Jan, Jason Tan, Jay Bazuzi, Jeremy Volkman, Jesse Chan, jheaff1, Jiawen Chen, Joe Lencioni, Joel Jeske, Joel Williamson, Johannes Abt, John Hinnegan, John Laxson, John Laxson, John Millikin, Jonathan Gerrish, Jonathan Schear, Jon Landis, Jon Parise, jonrose-dev, Jon Shea, Jordan, juanchoviedo, Julio Merino, Justus Tumacder, Kaiqin Chen, keertk, Keith Smiley, kekxv, Ken Micklas, Kevin Hogeland, Kevin Lin, Kirill Zabelin, Kiron, Konstantin Erman, Krishna Ersson, Krzysztof Naglik, kshyanashree, Kun-Lu, Lauri Peltonen, Lee Mracek, lihu, Liu Liu, lripoche, Lszl Csomor, Luc Bertrand, Luis Fernando Pino Duque, m, Malte Poll, Marc Zych, Marc Zych, Marek uppa, Mark Karpov, Masoud Koleini, Mathieu Olivari, Matt Clarkson, Matt Mackay, Mauricio Galindo, Max Liu, Maxwell Elliott, Menny Even Danan, menny, Michael Chinen, Michael P. Nitowski, Mikhail Balabin, mohamadk, Mostyn Bramley-Moore, Nathaniel Brough, nathyong, Nick Korostelev, Niek Peeters, Nikolay Shelukhin, Nitesh Anandan, Niyas Sait, Noa Resare, odisseus, Oleh Stolyar, Olek Wojnar, Oliver Lee, Olle Lundberg, Omar Zuniga, Oscar Bonilla, Patrick Balestra, Patrick Balestra, Paul Gschwendtner, Paul Tarjan, Peter Kasting, Peter Mounce, Philipp Schrader, Pras Velagapudi, Qais Patankar, Rabi Shanker Guha, Rahul Butani, Rai, Rajeshwar Reddy T, Red Daly, redwrasse, Rifqi Mulya Fahmi, robincaloudis, Robin Tweedie, Roger Hu, Roman Salvador, ron-stripe, rustberry, Ryan Beasley, Ryan Schmidt, Sagar Pathare, Sahin Yort, Saleem Abdulrasool, samhowes, Samuel Giddins, Sara Adams, Sascha Moecker, Sebastian Olsson, Sergey Tyurin, Severin Strobl, Shuai Zhang, Siddhesh Bhupendra Kuakde, Simon Bjorklen, Simon Mavi Stewart, something_vague, Son Luong Ngoc, Stephan Wolski, Steve Siano, steve-the-bayesian, Steve Vermeulen, Stiopa Koltsov, susinmotion, Sven Tiffe, Takeo Sawada, Tao Wang, tatiana, tbaing, Ted Kaplan, Ted Kaplan, Tetsuo Kiso, Thaler Benedek, Thi Doan, Thi Doan, Thi Don, Thomas Carmet, Thomas Chen, ThomasCJY, Thomas, Thomas Zayouna, Thulio Ferraz Assis, Timothe Peignier, Timothy Klim, Tobi, Tomas Volf, Tom Cnops, Tom de Goede, Torgil Svensson, Trustin Lee, Ulf Adams, Ulf Adams, Ulrik Falklof, Uri Baghin, Vaidas Pilkauskas, vardaro, Vasilios Pantazopoulos, Vertexwahn, Vladimir Tagakov, Waleed Khan, William Muir, wisechengyi, Wren Turkal, Xavier Bonaventura, Xdng Yng, Xiangquan Xiao, Yannic Bonenberger, Yannic Bonenberger, Yannic, Yannic, Yesudeep Mangalapilly, Yi Cheng, Yury Evtikhov, Yuval Kaplan, Yuval K, Yuval, yuzhy8701, Zhongpeng Lin, [zqzzq].
      a333dc1e
    • Googler's avatar
      Add WorkerPool metrics in `blaze.invocations` table. · 284e5a3a
      Googler 创作于
      Added number of created and destroyed metrics per worker pool hash during an invocation. This could help to analyze eviction strategies.
      
      But we need to be careful with this metrics, because worker could be destroyed on the begging of build, if configuration changed.
      
      PiperOrigin-RevId: 526936395
      Change-Id: I58f9fab5935b2ff627da8098f44221aaa94f82cf
      284e5a3a
    • Googler's avatar
      Fix a bug in aquery --skyframe_state with parallel output. · 68702a7a
      Googler 创作于
      Basically --skyframe_state wasn't using the parallel output even with the flag
      because it's called from a different code path.
      
      PiperOrigin-RevId: 526936311
      Change-Id: I7c2838cac061f35db6f999167c02e29f6bed345b
      68702a7a
    • Googler's avatar
      Fix order of libraries in cc_shared_library · c73900bb
      Googler 创作于
      The libraries from different direct dependencies were added to a list without
      respecting the topological order. This becomes a problem when a library with
      several objects is a dependency of more than one of the direct deps leading
      to backref errors.
      
      The CL solves it by properly merging the libraries of different dependencies
      using depsets.
      
      RELNOTES:none
      PiperOrigin-RevId: 526933703
      Change-Id: I91289188a3e4150e6cd97078e838653435e4a846
      c73900bb
    • Oscar Garzon's avatar
      Added an example using includes attribute for cc_import · 2ebd0f79
      Oscar Garzon 创作于
      closes #15222
      
      Closes #18024.
      
      PiperOrigin-RevId: 526926623
      Change-Id: I8255186b99220f4e833a18d25b2dc19dcdee6cdf
      2ebd0f79
    • Googler's avatar
      Automatic code cleanup. · de4a7192
      Googler 创作于
      PiperOrigin-RevId: 526915375
      Change-Id: I19daa25b897bf3df773cb22cdce347cf05fa5d8f
      de4a7192
    • Googler's avatar
      Get rid of Skyframe interaction while calculating `--fdo_optimize` flag value. · afe070ec
      Googler 创作于
      This is required to avoid [Skyframe restart](https://github.com/bazelbuild/bazel/blob/0dd106e83ccbc149e31ef9ffeab76ab5f1bffdc6/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchain.java#L109-L112) in `cc_toolchain` rule.
      
      After some research as it appears the only reason a custom `SkyFunction` was introduced for `--fdo_optimize` flag is to calculate full path in case its value was specified as a relative path to the workspace directory(interaction in [FdoHelper](https://github.com/bazelbuild/bazel/blob/0dd106e83ccbc149e31ef9ffeab76ab5f1bffdc6/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoHelper.java#L84-L96) and full path [calculation](https://github.com/bazelbuild/bazel/blob/0dd106e83ccbc149e31ef9ffeab76ab5f1bffdc6/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeFdoSupportFunction.java#L54)). This is a hard blocker for Starlarkification of cc_toolchain rule and also not ideal to have FDO specific `SkyFunction` baked into `Bazel`.
      
      Therefore the decision to *not* support relative paths for `--fdo_optimize` flag can  be justified. This is a breaking change however relative paths should be easy to replace with `labels` to [`fdo_profile`](https://bazel.build/reference/be/c-cpp#fdo_profile) targets or fully qualified paths.
      
      PiperOrigin-RevId: 526912841
      Change-Id: I392cb8dee5d18398d8db643d0899f554b3542d7a
      afe070ec
    • Googler's avatar
      Replace `shouldTrustRemoteArtifacts` with an interface `RemoteArtifactChecker`... · 60c9cf36
      Googler 创作于
      Replace `shouldTrustRemoteArtifacts` with an interface `RemoteArtifactChecker` which is able to check every remote artifact.
      
      So that we can centerlize the logic and add more behaviours later.
      
      PiperOrigin-RevId: 526901228
      Change-Id: If295f53969f3305c4e1f3c92576d0c35bbc4d9e8
      60c9cf36
    • Googler's avatar
      Add threshold to REMOTE_DOWNLOAD profiler task. · b8e2c5f0
      Googler 创作于
      PiperOrigin-RevId: 526900392
      Change-Id: I5c48e13d476eb4a4cd3a05af6612160e7f035061
      b8e2c5f0
    • Googler's avatar
      Add a flag to remove scheduling middlemen. · b95ce170
      Googler 创作于
      The proximate reason is to make our code simpler, with further goals being:
      - Making Action.getInputs() immutable (again for simplicity)
      - Making it so that the metadata of every file an action might read is available from the action itself, which is in turn makes it possible to simplify metadata handling machinery, especially in cases when not all intermediate output files are written to the output tree.
      
      Scheduling middlemen were a way to tell Bazel that certain artifacts need to be built before an action is executed, but are not necessarily its inputs. The most salient case is input discovery for C++ actions where generated headers include scanning may read must be available before include scanning can start.
      
      Skyframe provides a nicer way of achieving this instead of dummy actions.
      
      RELNOTES: None.
      PiperOrigin-RevId: 526880108
      Change-Id: Ib1720d48c1c19147cd0a5ab0a5795511ff1f3db7
      b95ce170
    • Brentley Jones's avatar
      Make `--incompatible_remote_build_event_upload_respect_no_cache` a no-op · fe97f209
      Brentley Jones 创作于
      Also removed unneeded tests.
      
      RELNOTES: `--incompatible_remote_build_event_upload_respect_no_cache` is now a no-op.
      
      Closes #17989.
      
      PiperOrigin-RevId: 526843711
      Change-Id: I1305514cf39c29aca9208beb2569d725370b0179
      fe97f209
    • Googler's avatar
      Automated rollback of commit 10c0151e. · 0cfc1b89
      Googler 创作于
      *** Reason for rollback ***
      
      Breaks `PackageLoader` users outside of blaze/bazel.
      
      *** Original change description ***
      
      Require that the global `SkyKey` pool is cleared before another is set, except for non-shell tests.
      
      For non-shell tests, tolerate overwriting the pool and automatically clean up the old pool. This guarantees that we don't lose the interning contract between test cases.
      
      PiperOrigin-RevId: 526832701
      Change-Id: I06981d58bb973f6cd2d9015facc0131dfc60d5e9
      0cfc1b89
  2. 4月 24, 2023
    • Googler's avatar
      Pass `BuildConfigurationValue` instead of four of its fields into `ActionOwner` · f5ed83ad
      Googler 创作于
      This change saves 16 bytes for both `LiteActionOwner` (48->32) and `FullActionOwner` (56->40) instances.
      
      In order to avoid dependency cycle, I branched `CommandLineLimits` into its own file instead of as a static class nested inside `CommandLines`. I also did a few more refactors on `BUILD` file.
      
      PiperOrigin-RevId: 526754476
      Change-Id: I5f1db8ca689d3f38ee2eedbd4e0803bb2306401c
      f5ed83ad
    • Googler's avatar
      Support tree shaker for Docs iOS and also fix duplicated runs and... · f13e2ce5
      Googler 创作于
      Support tree shaker for Docs iOS and also fix duplicated runs and strip-reflection flag missing issues.
      
      PiperOrigin-RevId: 526752116
      Change-Id: I61da4193fea489cdd923846cad14963fad8706eb
      f13e2ce5
    • Googler's avatar
      Require that the global `SkyKey` pool is cleared before another is set, except for non-shell tests. · 10c0151e
      Googler 创作于
      For non-shell tests, tolerate overwriting the pool and automatically clean up the old pool. This guarantees that we don't lose the interning contract between test cases.
      
      PiperOrigin-RevId: 526724686
      Change-Id: I29b51e5b6aaefbd4b6357e21cb6fc18558436289
      10c0151e
    • Googler's avatar
      Automated rollback of commit d0b8ae27. · 3be9b37b
      Googler 创作于
      *** Reason for rollback ***
      
      Breaks a few targets on the TGP, see
      
      []
      
      Sample build:
      
      blaze test //ads/util/ctr_predictions:model-token_test --config=asan --compilation_mode=opt --copt=-UNDEBUG --test_env=ASAN_OPTIONS=check_initialization_order=0,strict_init_order=0
      
      *** Original change description ***
      
      Tweak link stamp compile actions.
      
      Put the compilation prerequisites in mandatory inputs instead.
      
      This currently does not make any difference because they are behind a scheduling dependency middleman and it makes the change that removes said middleman simpler.
      
      RELNOTES: None.
      PiperOrigin-RevId: 526707841
      Change-Id: I5d1dd8fac1fd12acf746ead04112c67318e1e029
      3be9b37b
    • Googler's avatar
      Delete unused default platforms. · 298ec2ac
      Googler 创作于
      Part of #18084.
      
      PiperOrigin-RevId: 526700209
      Change-Id: I1a128cd1932189a1412c245a4345b84462714212
      298ec2ac
    • Googler's avatar
      Adding --incompatible_use_platforms_repo_for_constraints to graveyard · 9638f364
      Googler 创作于
      PiperOrigin-RevId: 526654760
      Change-Id: I679ee11bbb43286df778299c7a05709370230c9c
      9638f364
    • Googler's avatar
      Have `RunfilesSupport` implement `RunfilesSupplier` itself. · 45596d7b
      Googler 创作于
      Every time `FilesToRunProvider#getRunfilesSupplier` is called with non-empty runfiles, it just copies fields over from `RunfilesSupport` to a new `SingleRunfilesSupplier`. In addition to the shallow cost of `SingleRunfilesSupplier`, it creates and stores a new string returned by `RunfilesSupport#getRunfilesDirectoryExecPath`.
      
      Remove unused implementations of `equals` and `hashCode` from `RunfilesSupplier` classes - I confirmed that they are never called.
      
      PiperOrigin-RevId: 526653803
      Change-Id: I098e9051bd92af3c0a3e53608e9141c88083aa0c
      45596d7b
    • Googler's avatar
      Log eviction information only if we have worker to evict. · c74c7f0f
      Googler 创作于
      Otherwise the info and debug log is going to be unreadable.
      
      PiperOrigin-RevId: 526642721
      Change-Id: Ia425640d6a79360199abf441ef19ae2a697ba4d4
      c74c7f0f
    • Googler's avatar
      Use BlockingQueue#put instead of BlockingQueue#add for the POISON_PILL · a8f681d1
      Googler 创作于
      ... while outputting aquery result. The former would throw an IllegalStateException when the queue is full, while the latter would wait for availability.
      
      PiperOrigin-RevId: 526637836
      Change-Id: I05cffb3f2a8931dd3bf4fb7d5fe3760ac66db279
      a8f681d1
    • George Gensure's avatar
      Rename `--experimental_remote_grpc_log` to `--remote_grpc_log` · 27151203
      George Gensure 创作于
      GRPC logging has been in use since the start of REAPI application to bazel, and is sufficiently stable and supported by tools_remote/remote_client
      
      RELNOTES: `--experimental_remote_grpc_log` has been renamed to `--remote_grpc_log`
      
      Closes #18180.
      
      PiperOrigin-RevId: 526633832
      Change-Id: Ib3b06c303f39f1dd8e1eff3b5b4d4d146f148665
      27151203
    • Googler's avatar
      Handle the case where an error is propagated to an action that pruned its inputs. · b447607b
      Googler 创作于
      This can happen when `unused_inputs_list` is used for a Starlark action. I am hopeful that we can be more principled and not have `unused_inputs_list` mutate the result of `getInputs()`, but this change at least fixes the crash for now.
      
      PiperOrigin-RevId: 526633684
      Change-Id: I15b8d0337419a7b73c01e4072f559282d3671f6b
      b447607b
    • Googler's avatar
      Automated rollback of commit 770c50b2. · 13ea9726
      Googler 创作于
      *** Reason for rollback ***
      
      This CL raises "Exec format error" in some targets.
      
      *** Original change description ***
      
      Move grep-includes to the cc_toolchain
      
      Motivation for this change was an error with the wrong exec platform for grep-includes when Automatic Exec Groups are enabled.
      
      To solve this, grep_includes is moved inside the cc_toolchain, which automatically chooses macos as an exec platform when needed.
      
      PiperOrigin-RevId: 526631776
      Change-Id: I48d2d06d41f3d44fd24ef0bc548da90fc79f9361
      13ea9726
    • Googler's avatar
      Add toolchain label to validator. · 25ae149c
      Googler 创作于
      PiperOrigin-RevId: 526629881
      Change-Id: I53fc91b913b7c40b0102a16d2f6f0cf97b10fe36
      25ae149c
    • Googler's avatar
      Force applicable_licenses to be null for platform(). · 35ff0d0b
      Googler 创作于
      This restores the code I should not have deleted in https://github.com/bazelbuild/bazel/commit/2b4555301218009a518870180b830b06f61f9b6e.
      
      Once this goes into a blaze release, then we can remove the (single) instance where someone does this. Then we can change to 'remove_attribute' rather than nulling it.
      
      RELNOTES: None
      PiperOrigin-RevId: 526624377
      Change-Id: Ic8555e22b6b12fe8eaf5df1e9ed204b5e853d8cc
      35ff0d0b
    • Googler's avatar
      Blank out value of crosstool_top when C++ toolchain resolution is enabled · e06c0ace
      Googler 创作于
      Without this change, analysis fails in case `--crosstool_top` is set to a `cc_toolchain_suite`
      that doesn't have a toolchain matching the `--cpu` value.
      
      This prevented removing `--crosstool_top` flag, because the default value only supports a limited set of cpus.
      
      PiperOrigin-RevId: 526617628
      Change-Id: I89d3659f2d6ecf812966b338bdfa5c5113359c80
      e06c0ace
    • Googler's avatar
      Internal change · 8ec02008
      Googler 创作于
      PiperOrigin-RevId: 526602651
      Change-Id: I0a6ac5335baf4b13b5ac198f0f763df004f26dfb
      8ec02008
    • Googler's avatar
      Fix an error of not having exec constrants inside Automatic Exec Groups · ee8f529b
      Googler 创作于
      This error was introduced when creation of AEGs was moved from PrerequisiteProducer.java to ExecGroupCollection.java, when execCompatibleWith was not set.
      
      I've also added a test which covers this edge case.
      
      PiperOrigin-RevId: 526587186
      Change-Id: I69e5dde26e5bc32acadf7144c56eb2db04de4b54
      ee8f529b
    • Googler's avatar
      Automated rollback of commit 1acc7a84. · 0ebf7bc8
      Googler 创作于
      PiperOrigin-RevId: 526586062
      Change-Id: I95d36a97b46d1e6ca7d98efc7643a317f3f0ac59
      0ebf7bc8
    • Googler's avatar
      Move grep-includes to the cc_toolchain · 770c50b2
      Googler 创作于
      Motivation for this change was an error with the wrong exec platform for grep-includes when Automatic Exec Groups are enabled.
      
      To solve this, grep_includes is moved inside the cc_toolchain, which automatically chooses macos as an exec platform when needed.
      
      PiperOrigin-RevId: 526585431
      Change-Id: I8b95702dccaf6d05d089e40feb2539e0df843e68
      770c50b2
  3. 4月 23, 2023
  4. 4月 22, 2023
    • Fabian Meumertzheim's avatar
      Include cause when reporting `ActionExecutionException` · f95b80d1
      Fabian Meumertzheim 创作于
      `SkyframeActionExecutor#toActionExecutionException` claimed to combine the user-provided message and the exception's message when reporting an error, but did not.
      
      This is fixed so that errors can be diagnosed directly from the build logs, without having to look into `java.log`.
      
      Work towards #10363
      
      Closes #18169.
      
      PiperOrigin-RevId: 526195991
      Change-Id: I978a6d739c37384121acccccf95e8dcb80ac5d25
      f95b80d1
  5. 4月 21, 2023