Derek Cormier
2689a48940
fix: fix a bug where transition tests required cpp toolchain on osx ( #299 )
2022-12-14 18:49:45 -08:00
Derek Cormier
72a26212f2
Add platform_transition_binary rule ( #289 )
...
* feat: add platform_transition_binary rule
2022-12-14 11:21:08 -08:00
Greg Magolan
35b7662e55
fix: write_source_files should use target platform for additional_update_targets ( #297 )
2022-12-03 15:02:33 -08:00
Greg Magolan
9059f8fa5e
feat: add executable attribute to write_source_files
2022-12-03 10:46:08 -08:00
Greg Magolan
3d73637ee5
feat: add base64 encode & decode utility functions ( #292 )
2022-11-25 17:00:02 -08:00
Greg Magolan
9077a147c0
fix: fix copy_to_directory flattening with root_paths = ['**'] ( #277 )
2022-11-07 18:28:04 -08:00
Jason Bedard
350408b93d
perf: do not execute glob for non-glob copy_to_directory root_paths/replace_prefix params ( #274 )
...
* glob: add is_glob util method
* perf: do not execute glob for non-glob copy_to_directory root_paths/replace_prefix params
* perf: add common path matching shortcuts
* fix: disallow invalid empty glob expressions
2022-11-02 18:44:42 -07:00
Alex Eagle
a9dc052c8b
feat: add assert_outputs
...
It's a simple way to make an executable example demonstrate what outputs a rule produces.
See https://github.com/aspect-build/rules_ts/pull/214 for an example usage in the real world.
2022-10-31 15:25:12 -07:00
Greg Magolan
21873d57b7
fix: use bzlmod @@ in to_label if Bazel version is 6 or greater ( #265 )
2022-10-26 15:46:39 -07:00
Alex Eagle
1ec71cdcb5
fix: @@//label is not external
...
Workaround https://github.com/bazelbuild/bazel/issues/16528
2022-10-21 14:42:37 -07:00
Jason Bedard
475015bee0
refactor: give internal impl methods meaningful names ( #252 )
2022-09-20 15:23:56 -07:00
Greg Magolan
bbfb74c8e6
fix: fix host platform detection on all copy actions which always run locally ( #241 )
2022-09-12 20:45:48 -07:00
Alex Eagle
f688d17cfb
feat: jq supports stamping
...
Fixes #223
2022-08-22 12:39:54 -07:00
Alex Eagle
896ee0c1f0
chore: set test timeouts to short
...
I recently enabled --test_verbose_timeout_warnings and that caused a bunch of warnings in our build.
This fixes it, and adds a utility for us or others to make test-wrapping macros that set to short by default.
2022-08-20 13:58:43 -07:00
Derek Cormier
889e736476
fix: fix a bug where the same file couldn't be copied to the same output
...
dir twice on Windows
2022-08-20 11:31:56 -07:00
Alex Eagle
15ec78eb73
ci: enable engflow RBE for github actions
2022-08-19 08:42:00 -07:00
Twan Koolen
e446a3d8e7
Add failing test case demonstrating issue with root_paths in the presence of globs in dependencies.
2022-08-18 21:14:12 -07:00
Greg Magolan
c867e37856
fix: fix make var expansion in expand_template ( #213 )
2022-08-11 19:30:45 -07:00
Alex Eagle
20d759f669
feat: add utility for asserting that a file contains a string
...
Useful for basic smoke tests of bazel outputs
2022-08-04 18:02:29 -07:00
Greg Magolan
06d54eef4c
fix: improve handling of duplicate files in copy_to_directory ( #205 )
2022-08-01 09:56:52 -07:00
Greg Magolan
c4f6fcff42
fix: add missing convienence aliases to exclude_srcs_packages
2022-07-29 18:52:54 -07:00
Greg Magolan
01da4db80c
fix: add missing convienence aliases to include_srcs_packages
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
a5e61b3961
fix: dedup additional files in copy_to_directory_action ( #200 )
2022-07-28 20:39:12 -07:00
Greg Magolan
e4399557d7
chore: add '?' pattern to test cases of copy_to_directory ( #199 )
2022-07-28 12:59:30 -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
fd03cf0ecb
feat: add glob_match starlark utility function that support "*", "**" and "?" expressions as well as optionally allow for "*" and "?" to match of path separators ( #194 )
2022-07-27 18:48:02 -07:00
Greg Magolan
61c7cc209b
feat: add include_prefixes to copy_to_directory ( #193 )
2022-07-27 15:15:42 -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
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
Greg Magolan
d4f6524fbd
feat: add copy_to_directory_action
2022-06-28 09:08:45 -07: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
Derek Cormier
3ff61c57e9
fix: fix a bug where write_source_files diff_test fails on windows when
...
a source is from an external repository
2022-06-16 09:10:30 -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
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
=
7017045707
fix: fix yq windows issues by bumping version
2022-05-31 11:07:14 -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
400ff189b3
fix: fix a bug where yq failed to build in the root package
2022-05-02 20:35:59 -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
Derek Cormier
3e4024c785
feat: yq ( #80 )
2022-04-19 21:45:06 -07:00