Make build pass with --incompatible_auto_exec_groups (#963)
This commit is contained in:
parent
64eb5f8cea
commit
43f8b3e524
3
.bazelrc
3
.bazelrc
|
@ -26,6 +26,9 @@ common:release -c opt
|
|||
# https://bazelbuild.slack.com/archives/C014RARENH0/p1691158021917459?thread_ts=1691156601.420349&cid=C014RARENH0
|
||||
common --check_direct_dependencies=off
|
||||
|
||||
# Make sure we don't regress this.
|
||||
common --incompatible_auto_exec_groups
|
||||
|
||||
# Load any settings & overrides specific to the current user from `.aspect/bazelrc/user.bazelrc`.
|
||||
# This file should appear in `.gitignore` so that settings are not shared with team members. This
|
||||
# should be last statement in this config so the user configuration is able to overwrite flags from
|
||||
|
|
|
@ -53,7 +53,8 @@ for more context.
|
|||
## copy_directory_bin_action
|
||||
|
||||
<pre>
|
||||
copy_directory_bin_action(<a href="#copy_directory_bin_action-ctx">ctx</a>, <a href="#copy_directory_bin_action-src">src</a>, <a href="#copy_directory_bin_action-dst">dst</a>, <a href="#copy_directory_bin_action-copy_directory_bin">copy_directory_bin</a>, <a href="#copy_directory_bin_action-hardlink">hardlink</a>, <a href="#copy_directory_bin_action-verbose">verbose</a>, <a href="#copy_directory_bin_action-preserve_mtime">preserve_mtime</a>)
|
||||
copy_directory_bin_action(<a href="#copy_directory_bin_action-ctx">ctx</a>, <a href="#copy_directory_bin_action-src">src</a>, <a href="#copy_directory_bin_action-dst">dst</a>, <a href="#copy_directory_bin_action-copy_directory_bin">copy_directory_bin</a>, <a href="#copy_directory_bin_action-copy_directory_toolchain">copy_directory_toolchain</a>, <a href="#copy_directory_bin_action-hardlink">hardlink</a>,
|
||||
<a href="#copy_directory_bin_action-verbose">verbose</a>, <a href="#copy_directory_bin_action-preserve_mtime">preserve_mtime</a>)
|
||||
</pre>
|
||||
|
||||
Factory function that creates an action to copy a directory from src to dst using a tool binary.
|
||||
|
@ -74,6 +75,7 @@ within other rule implementations.
|
|||
| <a id="copy_directory_bin_action-src"></a>src | The source directory to copy. | none |
|
||||
| <a id="copy_directory_bin_action-dst"></a>dst | The directory to copy to. Must be a TreeArtifact. | none |
|
||||
| <a id="copy_directory_bin_action-copy_directory_bin"></a>copy_directory_bin | Copy to directory tool binary. | none |
|
||||
| <a id="copy_directory_bin_action-copy_directory_toolchain"></a>copy_directory_toolchain | The toolchain type for Auto Exec Groups. The default is probably what you want. | `"@aspect_bazel_lib//lib:copy_directory_toolchain_type"` |
|
||||
| <a id="copy_directory_bin_action-hardlink"></a>hardlink | Controls when to use hardlinks to files instead of making copies.<br><br>See copy_directory rule documentation for more details. | `"auto"` |
|
||||
| <a id="copy_directory_bin_action-verbose"></a>verbose | print verbose logs to stdout | `False` |
|
||||
| <a id="copy_directory_bin_action-preserve_mtime"></a>preserve_mtime | preserve the modified time from the source. See the caveats above about interactions with remote execution and caching. | `False` |
|
||||
|
|
|
@ -70,10 +70,11 @@ for more information on supported globbing patterns.
|
|||
## copy_to_directory_bin_action
|
||||
|
||||
<pre>
|
||||
copy_to_directory_bin_action(<a href="#copy_to_directory_bin_action-ctx">ctx</a>, <a href="#copy_to_directory_bin_action-name">name</a>, <a href="#copy_to_directory_bin_action-dst">dst</a>, <a href="#copy_to_directory_bin_action-copy_to_directory_bin">copy_to_directory_bin</a>, <a href="#copy_to_directory_bin_action-files">files</a>, <a href="#copy_to_directory_bin_action-targets">targets</a>, <a href="#copy_to_directory_bin_action-root_paths">root_paths</a>,
|
||||
<a href="#copy_to_directory_bin_action-include_external_repositories">include_external_repositories</a>, <a href="#copy_to_directory_bin_action-include_srcs_packages">include_srcs_packages</a>,
|
||||
<a href="#copy_to_directory_bin_action-exclude_srcs_packages">exclude_srcs_packages</a>, <a href="#copy_to_directory_bin_action-include_srcs_patterns">include_srcs_patterns</a>, <a href="#copy_to_directory_bin_action-exclude_srcs_patterns">exclude_srcs_patterns</a>,
|
||||
<a href="#copy_to_directory_bin_action-replace_prefixes">replace_prefixes</a>, <a href="#copy_to_directory_bin_action-allow_overwrites">allow_overwrites</a>, <a href="#copy_to_directory_bin_action-hardlink">hardlink</a>, <a href="#copy_to_directory_bin_action-preserve_mtime">preserve_mtime</a>, <a href="#copy_to_directory_bin_action-verbose">verbose</a>)
|
||||
copy_to_directory_bin_action(<a href="#copy_to_directory_bin_action-ctx">ctx</a>, <a href="#copy_to_directory_bin_action-name">name</a>, <a href="#copy_to_directory_bin_action-dst">dst</a>, <a href="#copy_to_directory_bin_action-copy_to_directory_bin">copy_to_directory_bin</a>, <a href="#copy_to_directory_bin_action-copy_to_directory_toolchain">copy_to_directory_toolchain</a>,
|
||||
<a href="#copy_to_directory_bin_action-files">files</a>, <a href="#copy_to_directory_bin_action-targets">targets</a>, <a href="#copy_to_directory_bin_action-root_paths">root_paths</a>, <a href="#copy_to_directory_bin_action-include_external_repositories">include_external_repositories</a>,
|
||||
<a href="#copy_to_directory_bin_action-include_srcs_packages">include_srcs_packages</a>, <a href="#copy_to_directory_bin_action-exclude_srcs_packages">exclude_srcs_packages</a>, <a href="#copy_to_directory_bin_action-include_srcs_patterns">include_srcs_patterns</a>,
|
||||
<a href="#copy_to_directory_bin_action-exclude_srcs_patterns">exclude_srcs_patterns</a>, <a href="#copy_to_directory_bin_action-replace_prefixes">replace_prefixes</a>, <a href="#copy_to_directory_bin_action-allow_overwrites">allow_overwrites</a>, <a href="#copy_to_directory_bin_action-hardlink">hardlink</a>,
|
||||
<a href="#copy_to_directory_bin_action-preserve_mtime">preserve_mtime</a>, <a href="#copy_to_directory_bin_action-verbose">verbose</a>)
|
||||
</pre>
|
||||
|
||||
Factory function to copy files to a directory using a tool binary.
|
||||
|
@ -94,6 +95,7 @@ other rule implementations where additional_files can also be passed in.
|
|||
| <a id="copy_to_directory_bin_action-name"></a>name | Name of target creating this action used for config file generation. | none |
|
||||
| <a id="copy_to_directory_bin_action-dst"></a>dst | The directory to copy to. Must be a TreeArtifact. | none |
|
||||
| <a id="copy_to_directory_bin_action-copy_to_directory_bin"></a>copy_to_directory_bin | Copy to directory tool binary. | none |
|
||||
| <a id="copy_to_directory_bin_action-copy_to_directory_toolchain"></a>copy_to_directory_toolchain | The toolchain type for Auto Exec Groups. The default is probably what you want. | `"@aspect_bazel_lib//lib:copy_to_directory_toolchain_type"` |
|
||||
| <a id="copy_to_directory_bin_action-files"></a>files | List of files to copy into the output directory. | `[]` |
|
||||
| <a id="copy_to_directory_bin_action-targets"></a>targets | List of targets that provide `DirectoryPathInfo` to copy into the output directory. | `[]` |
|
||||
| <a id="copy_to_directory_bin_action-root_paths"></a>root_paths | List of paths that are roots in the output directory.<br><br>See copy_to_directory rule documentation for more details. | `["."]` |
|
||||
|
|
|
@ -10,6 +10,7 @@ def copy_directory_bin_action(
|
|||
src,
|
||||
dst,
|
||||
copy_directory_bin,
|
||||
copy_directory_toolchain = "@aspect_bazel_lib//lib:copy_directory_toolchain_type",
|
||||
hardlink = "auto",
|
||||
verbose = False,
|
||||
preserve_mtime = False):
|
||||
|
@ -30,6 +31,8 @@ def copy_directory_bin_action(
|
|||
|
||||
copy_directory_bin: Copy to directory tool binary.
|
||||
|
||||
copy_directory_toolchain: The toolchain type for Auto Exec Groups. The default is probably what you want.
|
||||
|
||||
hardlink: Controls when to use hardlinks to files instead of making copies.
|
||||
|
||||
See copy_directory rule documentation for more details.
|
||||
|
@ -63,6 +66,7 @@ def copy_directory_bin_action(
|
|||
mnemonic = "CopyDirectory",
|
||||
progress_message = "Copying directory %{input}",
|
||||
execution_requirements = _COPY_EXECUTION_REQUIREMENTS,
|
||||
toolchain = copy_directory_toolchain,
|
||||
)
|
||||
|
||||
def _copy_directory_impl(ctx):
|
||||
|
|
|
@ -85,6 +85,7 @@ def copy_file_action(ctx, src, dst, dir_path = None):
|
|||
mnemonic = "CopyFile",
|
||||
progress_message = "Copying file %{input}",
|
||||
execution_requirements = _COPY_EXECUTION_REQUIREMENTS,
|
||||
toolchain = "@aspect_bazel_lib//lib:coreutils_toolchain_type",
|
||||
)
|
||||
|
||||
def _copy_file_impl(ctx):
|
||||
|
|
|
@ -330,6 +330,7 @@ def copy_to_directory_bin_action(
|
|||
name,
|
||||
dst,
|
||||
copy_to_directory_bin,
|
||||
copy_to_directory_toolchain = "@aspect_bazel_lib//lib:copy_to_directory_toolchain_type",
|
||||
files = [],
|
||||
targets = [],
|
||||
root_paths = ["."],
|
||||
|
@ -360,6 +361,8 @@ def copy_to_directory_bin_action(
|
|||
|
||||
copy_to_directory_bin: Copy to directory tool binary.
|
||||
|
||||
copy_to_directory_toolchain: The toolchain type for Auto Exec Groups. The default is probably what you want.
|
||||
|
||||
files: List of files to copy into the output directory.
|
||||
|
||||
targets: List of targets that provide `DirectoryPathInfo` to copy into the output directory.
|
||||
|
@ -510,6 +513,7 @@ def copy_to_directory_bin_action(
|
|||
mnemonic = "CopyToDirectory",
|
||||
progress_message = "Copying files to directory %{output}",
|
||||
execution_requirements = _COPY_EXECUTION_REQUIREMENTS,
|
||||
toolchain = copy_to_directory_toolchain,
|
||||
)
|
||||
|
||||
copy_to_directory_lib = struct(
|
||||
|
|
|
@ -49,6 +49,7 @@ def _expand_template_impl(ctx):
|
|||
outputs = [output],
|
||||
inputs = inputs,
|
||||
executable = expand_template_info.bin,
|
||||
toolchain = "@aspect_bazel_lib//lib:expand_template_toolchain_type",
|
||||
)
|
||||
else:
|
||||
ctx.actions.expand_template(
|
||||
|
|
|
@ -67,6 +67,7 @@ def _jq_impl(ctx):
|
|||
out = stamp_json.path,
|
||||
),
|
||||
mnemonic = "ConvertStatusToJson",
|
||||
toolchain = "@aspect_bazel_lib//lib:jq_toolchain_type",
|
||||
)
|
||||
inputs.append(stamp_json)
|
||||
|
||||
|
@ -93,6 +94,7 @@ def _jq_impl(ctx):
|
|||
outputs = [out],
|
||||
command = cmd,
|
||||
mnemonic = "Jq",
|
||||
toolchain = "@aspect_bazel_lib//lib:jq_toolchain_type",
|
||||
)
|
||||
|
||||
return DefaultInfo(files = depset([out]), runfiles = ctx.runfiles([out]))
|
||||
|
|
|
@ -273,6 +273,7 @@ def _configured_unused_inputs_file(ctx, srcs, keep):
|
|||
"UNUSED_INPUTS": unused_inputs.path,
|
||||
},
|
||||
mnemonic = "UnusedTarInputs",
|
||||
toolchain = "@aspect_bazel_lib//lib:coreutils_toolchain_type",
|
||||
)
|
||||
|
||||
return unused_inputs
|
||||
|
@ -326,6 +327,7 @@ def _tar_impl(ctx):
|
|||
arguments = [args],
|
||||
mnemonic = "Tar",
|
||||
unused_inputs_list = unused_inputs_file,
|
||||
toolchain = "@aspect_bazel_lib//lib:tar_toolchain_type",
|
||||
)
|
||||
|
||||
# TODO(3.0): Always return a list of providers.
|
||||
|
|
|
@ -60,6 +60,7 @@ def _yq_impl(ctx):
|
|||
out = stamp_yaml.path,
|
||||
),
|
||||
mnemonic = "ConvertStatusToYaml",
|
||||
toolchain = "@aspect_bazel_lib//lib:yq_toolchain_type",
|
||||
)
|
||||
else:
|
||||
# create an empty stamp file as placeholder
|
||||
|
@ -91,6 +92,7 @@ def _yq_impl(ctx):
|
|||
command = cmd,
|
||||
env = {"STAMP": escape_bin_dir + stamp_yaml.path},
|
||||
mnemonic = "Yq",
|
||||
toolchain = "@aspect_bazel_lib//lib:yq_toolchain_type",
|
||||
)
|
||||
|
||||
return DefaultInfo(files = depset(outs), runfiles = ctx.runfiles(outs))
|
||||
|
|
|
@ -25,6 +25,7 @@ def _pkg_impl(ctx):
|
|||
src = ctx.file.src,
|
||||
dst = dst,
|
||||
copy_directory_bin = ctx.executable._tool,
|
||||
copy_directory_toolchain = None,
|
||||
hardlink = "auto",
|
||||
verbose = True,
|
||||
)
|
||||
|
|
|
@ -59,6 +59,7 @@ def _pkg_impl(ctx):
|
|||
files = ctx.files.srcs + symlinks + depset(transitive = additional_files_depsets).to_list(),
|
||||
dst = dst,
|
||||
copy_to_directory_bin = ctx.executable._tool,
|
||||
copy_to_directory_toolchain = None,
|
||||
hardlink = "auto",
|
||||
verbose = True,
|
||||
)
|
||||
|
|
|
@ -21,6 +21,7 @@ def _hash(ctx, algo, file):
|
|||
basename = file.basename,
|
||||
out = out.path,
|
||||
),
|
||||
toolchain = "@aspect_bazel_lib//lib:coreutils_toolchain_type",
|
||||
)
|
||||
return out
|
||||
|
||||
|
|
Loading…
Reference in New Issue