Commit Graph

188 Commits

Author SHA1 Message Date
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
Greg Magolan 0fd56dc59d
feat: add directory_path rule and DirectoryPathInfo for specifying files within tree artifacts (#42) 2022-03-03 16:40:32 -08:00
Derek Cormier f788d286d0
feat: write to source folders (#41) 2022-03-02 12:58:36 -08:00
Derek Cormier 71c1b893d6
feat: bulk updates for write_source_files (#40) 2022-02-28 15:42:20 -08:00
Derek Cormier ca4a9f8c23
fix: fix buildifier 5.0.0 errors (#35) 2022-02-11 07:52:01 -08:00
Derek Cormier 8e6a15ceae feat: write_source_files 2022-02-07 10:00:35 -08:00
Derek Cormier 8a287def7c fix: improve jq usage docs 2022-02-07 09:45:02 -08:00
Greg Magolan 3bce8db100 fix: add windows implementation of copy_to_directory 2021-12-21 16:12:05 -08:00
Derek Cormier e371656bc3 feat: load jq filter from file 2021-12-20 13:21:26 -08:00
Alex Eagle 87cecb51a2
fix: allow tags/visibility on jq rule (#19)
fixes #18
2021-12-17 16:55:00 -08:00
Greg Magolan 8dc3d2e52a feat: add include_external_repositories and exclude_prefixes attributes to copy_to_directory
Also change the default behavior such that files from external repositories are not included unless the external repository is listed in include_external_repositories
2021-12-16 17:37:54 -08:00
Derek Cormier c0121bdb32
docs: add jq usage examples (#16)
* docs: add jq usage examples

* (squash) use backticks for usage examples
2021-12-15 16:02:28 -08:00
Derek Cormier b8347b5f0a feat: add jq toolchain and rule 2021-12-14 17:59:52 -08:00
Greg Magolan 0d2981f288 feat: copy_to_directory copies files and directories to an output directory 2021-11-16 21:30:32 -08:00
Alex Eagle 2dfacb4d88
feat: expand_template does execpath and vars substitutions (#6) 2021-11-11 05:54:42 -08:00
Chaitanya Varier 6f7469dd03
feat: add doc helpers (#2)
* add stardoc helpers

* fix incorrect default template in stardoc_with_diff_test()

* add stardoc helpers

* fix failing build for docs.md; add templates; cleanup
2021-11-10 06:34:00 -08:00
Alex Eagle da6fb88da7
feat: add runfiles helpers needed for rules_js (#3)
* feat: add runfiles helpers needed for rules_js

* chore: code review feedback
2021-11-10 06:30:07 -08:00
Alex Eagle cb8c2bad22
feat: add some paths and utils (#1)
* feat: add some paths and utils

* test: exercise relative to_label

* chore: cleanup naming and rctx helper
2021-11-09 15:13:30 -08:00
Alex Eagle 03eaca91f1 Add unittest 2021-11-08 07:22:47 -08:00
Alex Eagle bf35529fc9 Initial commit 2021-11-08 06:46:16 -08:00
Alex Eagle 394f900560 Initial commit 2021-11-08 06:20:26 -08:00