Greg Magolan
76ef6c8988
chore: add test coverage for run_binary & expand_variables makevars ( #504 )
2023-08-26 13:59:48 -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
Alex Eagle
c6e9fa0e62
chore: document JQ_BIN make var
2023-07-26 13:18:31 -07:00
Alex Eagle
5ecaeb5c53
chore: update docs
2023-07-18 11:01:26 -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
Alex Eagle
c89ec6a554
docs: clarify rlocationpath
2023-05-24 17:16:00 -07:00
Sahin Yort
6af964f261
feat: support stamp substituions ( #435 )
2023-05-16 16:14:50 -07:00
Sahin Yort
781d1cbebf
feat: implement chr, ord, and hex ( #425 )
2023-05-15 12:15:55 -07:00
Alex Eagle
347cdac300
update docs
2023-05-08 07:49:24 -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
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
5162ae4d8c
feat: detect bzlmod automatically rather than requiring the user sets the flag.
...
Thanks to @aherrmann for pointing out this is possible: https://github.com/aherrmann/demo-bazel-detect-bzlmod-config-setting
2023-03-31 14:56:22 -07:00
Gary Miguel
e872660dbc
Update link to example from angular ( #388 )
...
* Update link to example from angular
Previous target was deleted or renamed. Now use a permalink.
* bazel run @//docs:update
2023-03-07 15:42:16 -08:00
Greg Magolan
8c58935da1
feat: add label_str utility to generate consistent label strings for all Bazel versions ( #386 )
2023-03-03 18:23:17 -08:00
Greg Magolan
1fdfd6e831
fix: add missing **kwargs to write_aspect_bazelrc_presets ( #379 )
2023-02-22 12:17:00 -08:00
Derek Cormier
83fb3050c2
feat: allow additional common args to be passed to update_docs
2023-02-21 10:49:06 -08:00
Greg Magolan
569fa374ef
feat: add write_aspect_bazelrc_presets macro ( #370 )
2023-02-17 14:34:06 -08:00
Alex Eagle
1df2becc7a
chore: turn on more basic precommit checks
...
In particular this makes our bazelrc presets more compliant with client codebases, ensuring they can copy these files and not trip on their own pre-commit check
2023-02-17 11:00:00 -08:00
Alex Eagle
bda8e69ea0
chore: fix spelling
2023-02-15 09:08:46 -08:00
Greg Magolan
8f02b3364e
feat: add to_rlocation_path and to_repository_relative_path functions to paths.bzl ( #362 )
2023-02-11 12:36:49 -08:00
Derek Cormier
096805f0ce
enhancement: allow additional attributes to be passed to assert_* tests
2023-02-10 07:14:05 -08:00
Alex Eagle
2cb6c7ac4f
chore: also accept expected as a list of entries
2023-01-20 16:16:42 -08:00
Alex Eagle
19dcea9828
refactor: infer the archive type from the filename
2023-01-20 16:16:42 -08:00
Alex Eagle
083ff26ced
feat: add assert helper for zip contents
...
Helps to make sure that Python wheels are correctly constructed, as one example.
2023-01-20 16:16:42 -08:00
Greg Magolan
63f5aff803
feat: hardlink generated files in copy_to_directory and copy_directory instead of copying ( #321 )
2023-01-16 17:19:13 -08:00
Sahin Yort
4dc36a97f2
feat: add coreutils toolchain ( #332 )
2023-01-16 21:02:17 +03:00
Greg Magolan
1d3f04f7b9
chore: cleanup copy_to_directory docs and expose attr docstrings via lib for use downstream ( #330 )
2023-01-15 13:24:15 -08:00
Greg Magolan
7b6c814e27
Add copy_directory binary tool ( #324 )
2023-01-14 15:51:01 -08:00
Alex Eagle
14b8ec7a7b
refactor: just point to jq doc
2023-01-09 11:31:15 -08:00
Derek Cormier
0df23e54db
feat: modify assert_json_matches api before release
2023-01-09 11:31:15 -08:00
Alex Eagle
fe867981ee
feat(jq): add a diff_test helper
...
This is useful in rules_swc where we want to check that tsconfig.json and .swcrc have matching paths, and most users will want that too
2023-01-07 13:10:28 -08:00
Greg Magolan
fb3ef6e45d
feat: improved copy_to_directory performance & globbing support using copy_to_directory_bin_action ( #311 )
2023-01-07 11:26:27 -08:00
Greg Magolan
ec13ec9a69
feat: improve performance of copy_to_directory by moving glob match & copying to a golang binary ( #308 )
2023-01-03 09:42:20 -08:00
Greg Magolan
0d456be3c6
fix: formatting for new docsite ( #302 )
2022-12-28 08:03:18 -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
68aee64093
feat: add write_source_file to public API ( #295 )
2022-12-03 14:57:28 -08:00
Greg Magolan
421cf266bc
fix: add diff_test to docs ( #296 )
2022-12-03 11:32:37 -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
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
f030847908
feat: add maybe_http_archive ( #270 )
2022-10-27 15:55:57 -07:00
Greg Magolan
35623e23fe
feat: add is_bazel_6_or_greater utility function ( #264 )
2022-10-26 12:30:08 -07:00
Thulio Ferraz Assis
951e1ec9ad
fix: update doc
...
Signed-off-by: Thulio Ferraz Assis <3149049+f0rmiga@users.noreply.github.com>
2022-09-29 09:54:09 -07:00
Greg Magolan
65e852f774
fix: don't generate @aspect_bazel_lib_local_config_platform repository as it is a leaky abstraction for rule consumers and not just rule authors ( #243 )
2022-09-13 21:58:08 -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
Jason Bedard
803dbf815e
copy_to_directory performance improvements ( #236 )
...
* reduce use of depset.to_list()
* avoid copying arrays when invoking copy_file
* fixup! reduce use of depset.to_list()
* fixup! reduce use of depset.to_list()
2022-09-12 18:01:25 -07:00
Alex Eagle
b5653b6037
fix: TARGET make variable expansion: no extra leading @
...
Part of https://github.com/aspect-build/rules_js/issues/406
2022-08-29 07:45:00 -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
Greg Magolan
c867e37856
fix: fix make var expansion in expand_template ( #213 )
2022-08-11 19:30:45 -07:00
Greg Magolan
3caff577b9
fix: handle copy_to_directory '.' and './**' special patterns correctly when in the root package ( #212 )
2022-08-11 16:25:51 -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
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
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
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
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
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
Derek Cormier
77474915d8
docs: encourage use of latest yq/jq in docs
2022-07-02 10:00:23 -07:00
Greg Magolan
d4f6524fbd
feat: add copy_to_directory_action
2022-06-28 09:08:45 -07:00
David
f08952a8a6
docs: add a note about excluding from linters/formatters ( #156 )
2022-06-24 12:30:08 -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
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
d8ec2bc0db
chore: update generated docs
2022-06-10 13:14:02 -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
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
ec587d974e
chore: rename all instances of repository_ctx to the preferred rctx ( #92 )
2022-04-29 00:36:25 -07:00
Greg Magolan
41ce34470f
feat: add @aspect_bazel_lib_host repository and normalize function names in repo_utils ( #90 )
2022-04-28 14:18:06 -07:00
Alex Eagle
626af72fe8
test: add test coverage for docs rules
2022-04-27 17:34:45 -07:00
Derek Cormier
cf7b195031
fix: minor yq docs updates and fixes
2022-04-22 13:21:57 -07:00
Greg Magolan
207d219a88
feat: add os_arch_name() function to repo_utils and cleanup yq & jq toolchains for repository names follow this convention ( #82 )
2022-04-21 17:45:33 -07:00
Derek Cormier
3e4024c785
feat: yq ( #80 )
2022-04-19 21:45:06 -07:00
Greg Magolan
b9bc7a4cea
fix: add copy_file_to_bin_action and copy_files_to_bin_actions to //lib:copy_to_bin.bzl ( #72 )
2022-04-13 13:55:41 -07:00
Greg Magolan
62bb04db30
feat: add copy_to_bin_action for use in other rules ( #70 )
2022-04-13 12:40:07 -07:00
Greg Magolan
b2955dcb05
feat: add copy_to_bin rule ( #69 )
2022-04-12 16:31:04 -07:00
Greg Magolan
6e653ca787
feat: add copy_file_action helper function to the public API ( #68 )
2022-04-12 13:58:30 -07:00
Greg Magolan
2e213c2029
feat: add copy_directory_action help to the public API ( #67 )
2022-04-12 03:34:51 -07:00
Greg Magolan
322bbc92df
feat: add repo_utils with fork of @bazel_tools patch function that takes a working_directory argument
2022-04-11 18:15:32 -07:00
Derek Cormier
35b8fd3425
refactor: remove directory functionality from copy_file ( #64 )
2022-04-05 13:38:54 -07:00
Derek Cormier
a23d1b03f7
feat: add copy_directory ( #63 )
2022-04-03 17:52:03 -07:00
Greg Magolan
e30e89fa3d
feat: add run_binary with output directory support & improved makevar expansion ( #57 )
2022-03-31 20:04:35 -07:00
Alex Eagle
096133e5d2
feat: platform_transition_filegroup ( #55 )
...
* feat: platform_transition_filegroup
Lifted from https://github.com/aspect-build/gcc-toolchain/pull/8/files
See also https://github.com/fmeum/rules_meta/blob/main/meta/internal/meta.bzl#L4
* test: add tests for transition filegroup
2022-03-30 21:04:14 -07:00
Greg Magolan
3599515632
fix: ensure out_file does not show up in source file query of write_source_file so that it can be used with ibazel ( #52 )
2022-03-28 14:53:58 -07:00
Greg Magolan
bda5c632be
feat: replace default_info_files with output_files which adds output_group attribute ( #50 )
2022-03-15 17:36:22 -07:00
Greg Magolan
3b93ee0baa
Add DefaultOutputPathInfo provider and update write_source_files to accept it ( #48 )
...
Also update write_source_files to accept DirectoryPathInfo
2022-03-14 17:33:52 -07:00
Derek Cormier
7f2641cd07
reimplement stardoc_with_diff_test to use write_source_files
2022-03-11 09:50:55 -08:00