* feat: add an option to not include copy_to_directory output in runfiles
* chore: docs update
* chore: don't repeat default
---------
Co-authored-by: Alex Eagle <alex@aspect.dev>
* Fix: Moving the preserve mtiem test logic to Go for portability
* add tags to disable remote caching, execution and force the test to always re-run
* include docs
* use the runfiles library for windows compatability
* mark the test as manual
* remove duplicate word in comment
* chore: reduce duplication of the long caveats text
---------
Co-authored-by: Alex Eagle <alex@aspect.dev>
* chore(deps): upgrade stardoc
This uses the Bazel 7 'starlark_doc_extract' rule which our docsite expects for slurping data.
* chore: stardoc setup in WORKSPACE too
* chore: skip stardoc on bazel 6 in cases where the legacy extractor produces different docstrings
* fix: always include files from the same workspace as the build target in `copy_to_directory`
Fixes #359.
This updates the `copy_to_directory` tool to accept a workspace name representing the workspace of the target it is executing under. Any files in this workspace are automatically included, regardless of the `include_external_repositories` option. This makes it support usage within an external target (such as `@wksp//:dir`).
* test: add e2e test which uses `copy_to_directory` within an external workspace
Refs #359.
This should catch regressions where no files are copied when built within an external workspace and not using `include_external_repositories`.
* ci: fix stray workspace refs
---------
Co-authored-by: Alex Eagle <alex@aspect.dev>
* feat: expose a config_setting for copy execution_requirements
Fixes #604
* chore: add user docs
* chore: improve docs
* chore: better link to copy_file
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
* 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()
Also change the default behavior such that files from external repositories are not included unless the external repository is listed in include_external_repositories