Skip to content

Commit 9616a33

Browse files
authored
fix: Not all runfiles are single files (#860)
* fix: Not all runfiles are single files Handle cases where the defaultInfo file is a directory * Add test case
1 parent 21e1ccc commit 9616a33

File tree

2 files changed

+39
-1
lines changed

2 files changed

+39
-1
lines changed

pkg/private/pkg_files.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -440,7 +440,7 @@ def add_from_default_info(
440440
_check_dest(mapping_context.content_map, d_path, rf, src.label, mapping_context.allow_duplicates_with_different_content)
441441
mapping_context.content_map[d_path] = _DestFile(
442442
src = rf,
443-
entry_type = ENTRY_IS_FILE,
443+
entry_type = ENTRY_IS_TREE if rf.is_directory else ENTRY_IS_FILE,
444444
origin = src.label,
445445
mode = fmode,
446446
user = mapping_context.default_user,

tests/tar/BUILD

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -710,3 +710,41 @@ verify_archive_test(
710710
"new/base/something/this": "that",
711711
},
712712
)
713+
fake_artifact(
714+
name = "program_with_dir_runfiles",
715+
files = ["//tests:testdata/executable.sh"],
716+
runfiles = [
717+
":generate_tree",
718+
],
719+
)
720+
721+
pkg_tar(
722+
name = "program_with_dir_runfiles_tar",
723+
srcs = [
724+
":program_with_dir_runfiles",
725+
],
726+
include_runfiles = True,
727+
)
728+
729+
verify_archive_test(
730+
name = "program_with_dir_runfiles_test",
731+
must_contain = [
732+
"program_with_dir_runfiles.runfiles",
733+
"program_with_dir_runfiles.runfiles/_main",
734+
"program_with_dir_runfiles.runfiles/_main/tests",
735+
"program_with_dir_runfiles.runfiles/_main/tests/tar",
736+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree",
737+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/a",
738+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/a/a",
739+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/a/b",
740+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/a/b/c",
741+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/b",
742+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/b/c",
743+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/b/c/d",
744+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/b/d",
745+
"program_with_dir_runfiles.runfiles/_main/tests/tar/generate_tree/b/e",
746+
"executable.sh",
747+
"program_with_dir_runfiles",
748+
],
749+
target = ":program_with_dir_runfiles_tar",
750+
)

0 commit comments

Comments
 (0)