- Dec 10, 2024
-
-
Matthew Clarkson authored
Changes both `tar_filter`/`tar_concatenate` to use `//tar/tool` rather than individidual toolchains. This change brings significant features: - Inputs are transparently decompressed using file magic markers - Data on `stdin` is decompressed correctly now - Outputs are trasparently compressed using the file extension - (De)compression is all performed in-process removing the need for Shell pipes - Many bug fixes are squashed during the refactor in the Go code A huge footgun has been removed where the extension were not respected: ```py # Without the `compress` attribute, this creates a `archive.tar.gz` that # is actually a tape archive that is _not_ compressed tar_concatenate( name = "archive.tar.gz", # compress = "@rules_tar//tar/compress:gzip", srcs = ["archive.tar.xz", "something.tar.gz"], ) # With this patch it is now correctly compressed with `gzip` ``` BREAKING CHANGE: `tar_filter#patterns` is now a list of globs to remove from the tape archive. The filters can still be negated: ```py tar_filter( name = "filter.tar.xz", src = "archive.tar.zst", patterns = [ "!**/*.md", # Keep Markdown files "**/*", # Remove all other members ], ) ```
-
Matthew Clarkson authored
-
Matthew Clarkson authored
A generic Go binary that provides concatenation and filtering of tape archives.
-
Matthew Clarkson authored
API to seek until the start of the next tape archive in a stream of bytes.
-
Matthew Clarkson authored
Provides glob matching for multiple patterns.
-
Matthew Clarkson authored
Provides a `duplicate.Flag` implementation to determine what to do with duplicate members.
-
Matthew Clarkson authored
Provides `WriteCloser` interface for output files with transparent decompression.
-
Matthew Clarkson authored
Provides `ReadCloser` interface for input files with transparent decompression.
-
Matthew Clarkson authored
Provides `ReadCloser` interfaces to decompress incoming data. Determines the correct decompression algorithm by reading the file magic markers in the incoming data.
-
Matthew Clarkson authored
Provides `WriteCloser` wrappers that compress the written data. Can determine the compression needed from the file extension _or_ can start a subprocess that performs the compression.
-
Matthew Clarkson authored
-
- Nov 27, 2024
-
-
Matthew Clarkson authored
When using `3.1.1` and Bazel `8.0.0rc4` the toolchains do not get registered. This is due to an upstream [issue] that was resolved with a [PR] to disable the default registration in this [commit]. To upgrade past `3.1.0`, we will need to register specific toolchains. [issue]: https://github.com/uber/hermetic_cc_toolchain/issues/181 [pr]: https://github.com/uber/hermetic_cc_toolchain/pull/190 [commit]: https://github.com/uber/hermetic_cc_toolchain/commit/f8c17de30fbf185cc5c2f61b2b508aa3b3d294a1
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
- Nov 26, 2024
-
-
Matthew Clarkson authored
Includes breaking change to `toolchain_local_select` which does not affect this module but is a needed updated for Bazel 8
-
Matthew Clarkson authored
-
- Oct 30, 2024
-
-
Matthew Clarkson authored
-
- Sep 05, 2024
-
-
Matthew Clarkson authored
Allows projects to customise the compressor used with toolchains. This is especially useful with the built toolchains: ``` --extra_toolchains=@rules_zstd//zstd/toolchain/zstd:built ```
-
Matthew Clarkson authored
-
- Aug 31, 2024
-
-
Matthew Clarkson authored
-
- Aug 30, 2024
-
-
Matthew Clarkson authored
Avoids need for C/C++ compilation.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
```sh (12:23:45) ERROR: /root/.cache/bazel/_bazel_root/56129bc94d6ea8f48f3a0d33698e7cb3/external/ape~1.0.0-beta.12/ape/assimilate/BUILD.bazel:5:19: assimilating external/ape~1.0.0-beta.12~_repo_rules~cosmos-assimilate/assimilate [for tool] failed: (Exit 1): ape failed: error executing ApeAssimilate command (from target @@ape~1.0.0-beta.12//ape/assimilate:tar) (cd /root/.cache/bazel/_bazel_root/56129bc94d6ea8f48f3a0d33698e7cb3/execroot/_main && \ exec env - \ external/ape~1.0.0-beta.12~_repo_rules~ape-arm64.elf/ape external/ape~1.0.0-beta.12~_repo_rules~cosmos-assimilate/assimilate -e -a -o bazel-out/aarch64-opt-exec-ST-13d3ddad9198/bin/external/ape~1.0.0-beta.12/ape/assimilate/tar.ape/tar external/ape~1.0.0-beta.12~_repo_rules~cosmos-tar/tar) {"msg":"exec container process `/buildbuddy/remotebuilds/b383a216-29ef-4917-b860-092ccaae15fa/external/ape~1.0.0-beta.12~_repo_rules~ape-arm64.elf/ape`: Exec format error","level":"error","time":"2024-08-30T12:23:44.665869Z"} ``` Assume the remote executor is `amd64` and `@ape` is assimilating for `arm64`. Not sure why this is occuring and needs debugging.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
- Aug 29, 2024
-
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
- Aug 12, 2024
-
-
Matthew Clarkson authored
-
- Jul 31, 2024
-
-
Matthew Clarkson authored
`@ape//:tar` is deprecated.
-
- Jun 26, 2024
-
-
Matthew Clarkson authored
-