Commit Graph

273 Commits

Author SHA1 Message Date
Alex Eagle a283a8216d feat: add a tar toolchain (#468)
* feat: add a BSD tar toolchain

@thesayyn discovered that it has a feature which should make it a drop-in replacement for pkg_tar
including fine-grained file permissions and symlinks:
https://man.freebsd.org/cgi/man.cgi?mtree(8)

* show example of mtree usage

* feat: introduce tar rule

* cleanup and get test passing

* more cleanup

* chore: add support for compress flags

* chore: add docs

* chore: add docs

* feat: implement linux bsdtar toolchain (#566)

* chore: improve target naming

* WIP: args

* feat: generate mtree spec

Also allow arbitrary args

* refactor: mtree is required

* refactor: style nits

* fix: support mix of source and generated artifacts

* feat: demonstrate strip_prefix

* chore: regen docs

* fix: make host toolchain a fallback toolchain

* fix: include libarchive13.so when installing BSD tar

* chore: buildifier

* fix: aarch64 cpu constraint

* fix(ci): include libarchive13.so when running tar

* chore: add libnettle

* refactor: inputs mutated less

* refactor: remove unneeded substitution arg

* refactor: don't advertise unsupported modes

* fix: hack enough to make it run on my machine

* chore: dynamic libraries included in sh_binary under toolchain

* make sh_binary work

* refactor: drop arm64 for now

* fix toolchain

* fix test

* chore: improve test naming scheme

---------

Co-authored-by: Sahin Yort <thesayyn@gmail.com>
2023-10-03 13:50:55 -07:00
Derek Cormier 174bb9425d feat: support jq 1.7 toolchain (#520) 2023-10-03 13:50:55 -07:00
Alex Eagle e00ea2b977
chore: update pre-commit buildifier (#563)
It needs to match the one CI runs in
https://github.com/aspect-build/bazel-lib/actions/runs/6357283303/job/17268197322
2023-09-29 14:42:33 -07:00
Greg Magolan bcb10f8154
feat: add undeclared output mode to expand_template (#561) 2023-09-29 11:30:02 -07:00
Greg Magolan 1d816e011b
feat: add assert_directory_contains test to testing.bzl (#560) 2023-09-29 09:53:00 -07:00
Alex Eagle bc54655e71
ci: add assertion that bcr patches apply (#556) 2023-09-27 10:26:38 -07:00
Aaron Son a4e997de1f
feat: add `propagate_common_{,test_,binary_}rule_attributes` to lib/utils. (#553)
* feat: add `propagate_common_{,test_,binary_}rule_attributes` to lib/utils.

* lib/private/utils: PR feedback: extract COMMON_BINARY_RULE_ATTRIBUTES and COMMON_TEST_RULE_ATTRIBUTES to global constants.

* lib/private/utils: PR feedback: remove default value for attrs param to propagate_common_*rule_attributes

* fix: lib/private/utils: buildifier.
2023-09-26 14:29:42 -07:00
Sahin Yort ef364b54b4
refactor: consume tools from source if unstamped (#543) 2023-09-24 15:06:10 -07:00
Matt Mackay 8fa2127518
fix: allow for BUILD files in outputs of write_source_file (#540) 2023-09-21 19:50:04 -04:00
Sahin Yort 719b8f33b0
refactor: add ability to test against tools from source (#532) 2023-09-21 15:12:46 -07:00
Matt Mackay 62394fbb68
fix: lookup source files from execroot when running diff_test on RBE (#531) 2023-09-21 13:27:08 -07:00
Marc Redemske 45986f000d
feat: add list utils (#512)
* feat: add list utils

* chore: add docs for lists

* fixes accoding to review

---------

Co-authored-by: Alex Eagle <alex@aspect.dev>
2023-09-21 10:12:47 -07:00
Alex Eagle 882bc95615
feat: expand_template allows inline template content (#533)
Co-authored-by: thesayyn <thesayyn@gmail.com>
2023-09-20 18:32:05 -07:00
Ted Kaplan fc3c3181f3
docs: Add --incompatible_disallow_empty_glob to correctness.bazelrc (#524) 2023-09-18 19:58:27 -07:00
Alex Eagle d2203e9020
chore: pick up new expand_template go binary (#518)
Also fix an error that was getting reported in our release pipeline
2023-09-06 16:47:15 -07:00
peter woodman 3e9577ab16
yq: allow any filename in srcs (#496)
* yq: allow any filename in srcs

* yq: add test cases for free-form file extensions in input

* run buildifier

---------

Co-authored-by: Alex Eagle <alex@aspect.dev>
2023-08-30 09:18:10 -07:00
Alex Eagle 40c2ddc71a refactor: reduce execution requirements for copy
It causes warnings like 753cd459e4/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java (L514)
and also makes toolchain selection broken for host!=exec

Fixes #466
2023-08-29 14:56:22 -07:00
Greg Magolan 76ef6c8988
chore: add test coverage for run_binary & expand_variables makevars (#504) 2023-08-26 13:59:48 -07:00
Matt Mackay ef4830bf25
docs: add comment regarding linux-arm64 JQ toolchain (#503) 2023-08-24 09:54:44 -07:00
Steven E. Harris 3af9e00308
docs: clarify write_source_files output constraint (#498)
* docs: clarify write_source_files output constraint

For both the "write_source_files" rule's "files" attribute and the
"write_source_file" rule's "out_file" attribute, we ensure that the
destination files and directories to which we'll write sit within the
same containing Bazel package as the Bazel target requesting this
writing. Clarify the documentation for each attribute to make it clear
that we're constraining the destinations and not the sources of the
content to be written.

* Update lib/write_source_files.bzl

---------

Co-authored-by: Derek Cormier <derek@aspect.dev>
2023-08-23 12:32:56 -07:00
Fabian Meumertzheim 682d6f2345 Fix `update_docs` with Bazel 7 and stardoc 0.6.0 2023-08-14 12:01:13 -07:00
Alex Eagle c6e9fa0e62 chore: document JQ_BIN make var 2023-07-26 13:18:31 -07:00
Ricky Stewart 2931a1018a feat: add freebsd support 2023-07-25 20:14:46 -07:00
Alex Eagle 383bbd589b fix(windows): use HOMEPATH in place of HOME 2023-07-21 11:52:10 -07:00
Alex Eagle 5ecaeb5c53 chore: update docs 2023-07-18 11:01:26 -07:00
Alex Eagle 2fd7f9138c docs: this sentence shouldn't be quoted 2023-07-18 11:01:26 -07:00
Alex Eagle ff43d15afa Update coreutils_toolchain.bzl
fix typo in url
2023-07-17 19:22:46 -07:00
Malte Poll 794df714d7 Use actual newline (instead of "\n") to split strings in yq rule
Fixes d79f4d4
Fixes #463

This is required since versions of yq older than 4.30.3 do not parse "\n" correctly.
See https://github.com/mikefarah/yq/issues/1430 and e02bb7194897edb916a6787fb8f8e5a7f432dd94
2023-06-22 17:09:44 -07:00
Malte Poll d79f4d4867 feat: yq supports stamping
Fixes #223
2023-06-15 16:50:26 -07:00
Jason Bedard 47dd4ce9fd chore: run buildifier 2023-06-13 16:28:17 -07:00
Jason Bedard c4e601f244
ci: add bazel 7 prerelease tests (#452) 2023-06-13 16:26:33 -07:00
renovate[bot] 713824e8a7
chore(deps): update dependency bazel_skylib to v1.4.2 (#453)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-06-12 22:16:56 -07:00
Alex Eagle c89ec6a554 docs: clarify rlocationpath 2023-05-24 17:16:00 -07:00
Alex Eagle 9b148663d1 fix(stardoc): upgrade and stop skipping under bzlmod
Newest stardoc has fixed it, and since bzlmod will select the lowest
version in the dependencies, our bump here will take effect for users
as well.
2023-05-17 15:06:35 -07:00
Sahin Yort 6af964f261
feat: support stamp substituions (#435) 2023-05-16 16:14:50 -07:00
Jason Bedard e0ae19940c
test: add tests for copying hidden files (#438)
See https://github.com/aspect-build/rules_js/issues/1055
2023-05-16 15:57:57 -07:00
Sahin Yort 781d1cbebf
feat: implement chr, ord, and hex (#425) 2023-05-15 12:15:55 -07:00
Jason Bedard b5e9238dfa
fix: support special chars in assert_contains expected expression (#426)
See https://github.com/aspect-build/rules_js/issues/1045
2023-05-10 16:07:40 -07:00
Jiawen (Kevin) Chen 4c8866b618 Fix typos in run_binary docs. 2023-05-08 07:49:24 -07:00
Jason Bedard 14be93a63e fix: rewrite glob implementation to follow standard glob specs
Implementation based on 465a339d8d/match.go (L74)

Fix https://github.com/aspect-build/bazel-lib/issues/419
2023-05-08 07:46:19 -07:00
Jason Bedard 1bb1056153 refactor: simplify glob validation 2023-05-08 07:46:19 -07:00
Jason Bedard c363420c70
refactor: cleanup glob implementation, add tests (#420)
Prefactor to https://github.com/aspect-build/bazel-lib/issues/419
2023-05-05 15:11:16 -07:00
Alex Eagle 6f1f2fb198 fix(yq): restore default version, reverting #405
The new version of yq is quite breaking, as it requires '-oj -r' for continued operation in rules_oci.
We can do a default version flip later when more downstream projects are compatible.
2023-05-05 13:07:51 -07:00
Greg Magolan 51f1ce702f
chore: update copy directory golang binary release versions to use (#416) 2023-05-01 20:21:10 -07:00
Henk Erik van der Hoek 39d556a225
Chore: update YQ (#405)
* Chore: update YQ

* Update tests

* Update docs

* Update docs

---------

Co-authored-by: Greg Magolan <gmagolan@gmail.com>
2023-05-01 19:18:50 -07:00
Jason Bedard b983608c08
docs(write_source_file): specify the name of the generated diff_test (#410)
Fix #409
2023-04-19 14:09:03 -07:00
Alex Eagle a04c31248b docs(jq): document empty srcs 2023-04-19 09:03:52 -07:00
Alex Eagle e9c0612fbf
Update stamping.bzl
Fix formatting error with underscores
2023-04-18 13:27:19 -07:00
Alex Eagle adca277409 fix: use test command for test flags
I don't think there's any reason we apply these two flags for `build`?
2023-04-13 07:45:07 -07:00
Alister Cordiner 803d5ecda8 Correctly handle empty directory when checking for missing file 2023-04-03 18:03:19 -07:00