diff options
author | Yifan Hong <elsk@google.com> | 2024-03-15 14:54:49 -0700 |
---|---|---|
committer | Yifan Hong <elsk@google.com> | 2024-03-18 20:02:19 +0000 |
commit | 63eded72828b315c3b21ba7aefb95cbf8dd02ac6 (patch) | |
tree | 33d433988dfad55355b28e910b1a9d12524fcc6d | |
parent | cd1e346ad2d44a203b44f7fe96bf993d7e6a24b9 (diff) | |
download | build-63eded72828b315c3b21ba7aefb95cbf8dd02ac6.tar.gz |
kleaf: filegroup_decl.tar.gz does not flatten directory structure.
This is to prepare for adding directories declared
by ctx.actions.declare_directory(), while keeping
its directory strucutre.
Test: TH
Bug: 291918087
Change-Id: I4ae12bb5611f214146210862daddab07263c5b10
-rw-r--r-- | kleaf/impl/kernel_filegroup_declaration.bzl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/kleaf/impl/kernel_filegroup_declaration.bzl b/kleaf/impl/kernel_filegroup_declaration.bzl index 99f68fd..ae5a73a 100644 --- a/kleaf/impl/kernel_filegroup_declaration.bzl +++ b/kleaf/impl/kernel_filegroup_declaration.bzl @@ -29,9 +29,9 @@ def _kernel_filegroup_declaration_impl(ctx): info = ctx.attr.kernel_build[KernelBuildFilegroupDeclInfo] file_to_label = lambda file: repr("//{}".format(file.basename) if file else None) - file_to_pkg_label = lambda file: repr(":{}".format(file.basename) if file else None) + file_to_pkg_label = lambda file: repr(file.path if file else None) files_to_label = lambda lst: repr(["//{}".format(file.basename) for file in lst]) - files_to_pkg_label = lambda lst: repr([":{}".format(file.basename) for file in lst]) + files_to_pkg_label = lambda lst: repr([file.path for file in lst]) # ddk_artifacts deps_files = [ @@ -41,7 +41,7 @@ def _kernel_filegroup_declaration_impl(ctx): info.toolchain_version_file, ] - deps_repr = repr([":{}".format(file.basename) for file in deps_files] + + deps_repr = repr([file.path for file in deps_files] + ["//{}".format(file.basename) for file in ctx.files.extra_deps]) kernel_uapi_headers_lst = info.kernel_uapi_headers.to_list() @@ -129,9 +129,12 @@ kernel_filegroup( transitive = transitive_inputs, ) - # Flatten the files so :x refers to file x in the same package. + # filegroup_decl_template.txt stays at root so that + # kernel_prebuilt_repo can find it. command = hermetic_tools.setup + """ - tar cf {archive} --dereference --transform 's:.*/::g' "$@" + tar cf {archive} --dereference \\ + --transform 's:.*/filegroup_decl_template.txt:filegroup_decl_template.txt:g' \\ + "$@" """.format( archive = filegroup_decl_archive.path, ) |