Skip to content

Commit

Permalink
Fix execute bit on empty_test.sh (#206)
Browse files Browse the repository at this point in the history
* make the tarball 555

* Split the bins out from the rest of the package and combine the
packages.

This solution is horrible. The better solution is
- We need something like pkgfilegroup in rules_pkg, so we can specify
  exectuable mode next to the file.
- But we do not want rules_pkg to appear in the rules/BUILD file
  because that would make a runtime dependency.

So we need to
- rewrite rules/BUILD when going into the package.
- or provide magic mapping of files names to mode bits
- or something entirely different.
  • Loading branch information
aiuto authored Oct 9, 2019
1 parent cff8af4 commit e59b620
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 9 deletions.
7 changes: 7 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,10 @@ filegroup(
"//toolchains/unittest:distribution",
] + glob(["*.bzl"]),
)

filegroup(
name = "bins",
srcs = [
"//rules:bins",
],
)
34 changes: 26 additions & 8 deletions distribution/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,44 @@ load("@bazel_skylib//:version.bzl", "version")
load("@rules_pkg//:pkg.bzl", "pkg_tar")
load("@rules_pkg//releasing:defs.bzl", "print_rel_notes")

pkg_tar(
name = "srcs",
srcs = ["//:distribution"],
mode = "0444",
# Make it owned by root so it does not have the uid of the CI robot.
owner = "0.0",
package_dir = "",
strip_prefix = ".",
)

pkg_tar(
name = "bins",
srcs = ["//:bins"],
mode = "0555",
# Make it owned by root so it does not have the uid of the CI robot.
owner = "0.0",
package_dir = "",
strip_prefix = ".",
)

# Build the artifact to put on the github release page.
pkg_tar(
name = "bazel-skylib-%s" % version,
srcs = [
"//:distribution",
],
extension = "tar.gz",
# It is all source code, so make it read-only.
mode = "0444",
# Make it owned by root so it does not have the uid of the CI robot.
owner = "0.0",
package_dir = ".",
strip_prefix = ".",
deps = [
":bins.tar",
":srcs.tar",
],
)

print_rel_notes(
name = "relnotes",
outs = ["relnotes.txt"],
deps_method = "bazel_skylib_workspace",
repo = "bazel-skylib",
version = version,
setup_file = ":workspace.bzl",
deps_method = "bazel_skylib_workspace",
version = version,
)
12 changes: 11 additions & 1 deletion rules/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,17 @@ filegroup(
# The files needed for distribution
filegroup(
name = "distribution",
srcs = glob(["*"]),
srcs = [
"BUILD",
] + glob(["*.bzl"]),
visibility = [
"//:__pkg__",
],
)

filegroup(
name = "bins",
srcs = glob(["*.sh"]),
visibility = [
"//:__pkg__",
],
Expand Down

0 comments on commit e59b620

Please sign in to comment.