Commit Graph

106 Commits

Author SHA1 Message Date
Greg Magolan 01da4db80c fix: add missing convienence aliases to include_srcs_packages 2022-07-29 18:52:54 -07:00
Greg Magolan 6d3c1a393b chore: add improved error messages to copy_to_directory when include_srcs_packages and include_srcs_patterns are empty 2022-07-29 18:52:54 -07:00
Greg Magolan 71910e93f3
feat: add include_srcs_packages and exclude_srcs_packages and improve implementation and documentation of other filters and transformations (#203) 2022-07-29 16:16:33 -07:00
Greg Magolan 83912625a3
chore: fix out-of-date text in copy_to_directory.include_srcs_patterns docstring (#202) 2022-07-28 23:31:08 -07:00
Greg Magolan c74f0e29a6
chore: fix out-of-date text in copy_to_directory.include_srcs_patterns docstring: (#201) 2022-07-28 23:13:22 -07:00
Greg Magolan a5e61b3961
fix: dedup additional files in copy_to_directory_action (#200) 2022-07-28 20:39:12 -07:00
Greg Magolan 85e8b7e555
feat: add glob support to copy_to_directory include_srcs_patterns, exclude_srcs_patterns, replace_prefixes and root_paths. (#196)
This deprecates exclude_prefixes with docs suggesting to using exclude_srcs_patterns instead
2022-07-28 12:50:41 -07:00
Greg Magolan a945d66eb5
chore: add glob_match to docs (#195) 2022-07-28 11:15:14 -07:00
Greg Magolan 61c7cc209b
feat: add include_prefixes to copy_to_directory (#193) 2022-07-27 15:15:42 -07:00
Derek Cormier 998ee22369
fix: improve error message in directory_path when directory does not (#192)
exist
2022-07-22 09:37:27 -07:00
Derek Cormier d0a897488b fix: patch diff_test with runfiles fix 2022-07-15 13:07:28 -07:00
Alex Eagle 8a11a106db chore: change default for run_binary#stamp
Greg convinced me that users will get really slow stamped builds because most run_binary tools don't actually read the status files, but will be cache-invalidated.
2022-07-15 09:29:28 -07:00
Alex Eagle 56bc408d94 feat: add stamping ability to run_binary
Fixes #185
2022-07-14 22:37:42 -07:00
Alex Eagle de081fb72e feat: basic stamping support 2022-07-14 22:37:42 -07:00
Alex Eagle 6f52c77a51 assert that directories aren't included in file_exists 2022-07-14 07:53:05 -07:00
Alex Eagle 546758589d Add utility for checking file existence.
Avoids continued copy-paste of this like https://github.com/aspect-build/rules_ts/blob/main/ts/defs.bzl#L35-L44
2022-07-14 07:53:05 -07:00
Jesse Schalken f2e5f4675f fix: diff_test not working for files in directories starting with "external"
Example "external-dependencies/foo.txt"
2022-07-07 16:31:00 -07:00
Derek Cormier a24508a202 fix: remote target_compatible_with from jq and yq toolchains 2022-07-06 10:46:23 -07:00
Greg Magolan d4f6524fbd feat: add copy_to_directory_action 2022-06-28 09:08:45 -07:00
Alex Eagle 910786038c chore: improve error when run_binary has no outputs
Otherwise users get

```
Traceback (most recent call last):
	File "/private/var/tmp/_bazel_long.ho/a2216e06a77a9425f6dcd5fd195f64d5/external/aspect_bazel_lib/lib/private/run_binary.bzl", line 46, column 20, in _impl
		ctx.actions.run(
Error in run: param 'outputs' may not be empty
```
2022-06-27 12:30:13 -07:00
Derek Cormier de6e9ef843 fix: improve copy_to_bin error messaging when file is in external repo 2022-06-22 10:43:16 -07:00
Matt Mackay 829e5d513d
feat: add buildozer command to add visibility to the copy_to_bin helper error (#171) 2022-06-22 16:46:35 +01:00
Alex Eagle 32882befdf feat: let jq act like copy_to_bin
This lets you have a file in the output tree with the same path as a source file, but modified.
2022-06-21 18:40:29 -07:00
Jesse Tatasciore 63ae772087
fix: Allow relative_file to take in paths starting with ../ (#166)
* fix: relative_file fix when to path is itself relative starting with ../

* feat: Allow users to use ../ in paths and add tests

* fix: Clarify documentation

Co-authored-by: Greg Magolan <gmagolan@gmail.com>
2022-06-20 14:21:49 -07:00
Derek Cormier ce015ca4f3 fix: support non-json input files in jq 2022-06-17 10:27:18 -07:00
Greg Magolan b3c2884bdf
feat: add mnemonic, progress_message && execution_requirements to run_binary (#161) 2022-06-16 16:58:41 -07:00
Greg Magolan 14f83ab4e8
feat: add out_dirs to run_binary rule and deprecate output_dir (#160) 2022-06-16 16:26:29 -07:00
Derek Cormier 80603fb7eb fix: fix a bug where two copy_to_bin actions couldn't copy the same file 2022-06-16 11:49:09 -07:00
Greg Magolan 6ba7c64c8d
feat: add allow_overwrites attribute to copy_to_directory and disable overwrites as the default behavior on linux and macos (#153) 2022-06-14 10:52:40 -07:00
Greg Magolan 63014de382 chore: cleanup fail msgs with substitutions for cleaner error logs 2022-06-14 06:46:34 -07:00
Alex Eagle 5a39b1fdab chore: warn when copy_to_bin reads from bazel-out 2022-06-13 19:07:40 -07:00
Alex Eagle 562c4b231d feat: add to_output_relative_path
This is useful in rules_js ecosystem where the working directory is bazel-out/arch/bin so many paths need to be relative to there.
2022-06-13 12:55:22 -07:00
Alex Eagle 695a8c4ad4
fix: copy_to_directory repairs read-only file permissions (#134)
When two srcs have the same nested folder, we need to correct the permissions like bazel's sandbox would.

Fixes #133
2022-06-08 15:41:54 -07:00
Greg Magolan 128f7c63fb
fix: improve error message when an invalid label or a file that is not a directory is passed to directory_path (#127) 2022-06-03 00:39:35 -07:00
Derek Cormier 9162a3f552 fix: buildifier lint errors 2022-06-02 18:15:24 -07:00
Alex Eagle f11dea1b7a
chore: nit on error message (#125) 2022-06-01 18:01:15 -07:00
= 7017045707 fix: fix yq windows issues by bumping version 2022-05-31 11:07:14 -07:00
Greg Magolan 9a1edce1aa
fix: set correct suggested_update_target for write_source_files macros with multiple files (#120) 2022-05-25 18:47:32 -07:00
Derek Cormier faba95385d fix: fix a bug where copy_to_directory wouldn't copy hidden files inside
of folders
2022-05-19 20:50:43 -07:00
Derek Cormier 147a373568 fix: add mandatory provider for write_source_files
additional_update_targets
2022-05-18 10:50:09 -07:00
Sahin Yort a699ccd4eb
fix: add mnemonic to jq and yq (#106) 2022-05-06 21:01:27 +03:00
Greg Magolan 47114fd4f9
fix: only use ctx.attr.patches if patches param is not specified (#105)
The currently implementation differs from the docstring here and in upstream skylib:

This rule is intended to be used in the implementation function of
a repository rule. If the parameters "patches", "patch_tool",
"patch_args", "patch_cmds" and "patch_cmds_win" are not specified
then they are taken from "ctx.attr".
2022-05-04 10:32:18 -07:00
Derek Cormier 2b50f99ab3 refactor: show a more helpful error message in copy_to_bin 2022-05-03 15:46:57 -07:00
Derek Cormier 400ff189b3 fix: fix a bug where yq failed to build in the root package 2022-05-02 20:35:59 -07:00
Greg Magolan 58b2c59bb0
refactor: export copy_to_directory_lib in the public API for use downstream in packaging rules (#96) 2022-04-29 15:26:24 -07:00
Greg Magolan 9a9a1888e1
chore: normalize @generated by comments (#93) 2022-04-29 00:49:15 -07:00
Greg Magolan f1e10df09c
chore: replace is_windows select pattern with target_platform_has_constraint pattern (#95) 2022-04-29 00:36:51 -07:00
Greg Magolan 67e1072e25
chore: use aspect_bazel_lib diff_test (#94) 2022-04-29 00:36:41 -07:00
Greg Magolan ec587d974e
chore: rename all instances of repository_ctx to the preferred rctx (#92) 2022-04-29 00:36:25 -07:00
Derek Cormier 6743c0cbcf feat: make it easier to resolve jq/yq toolchains from a repository rule 2022-04-28 16:30:24 -07:00