Commits on Source (18)
-
Matthew Clarkson authored
-
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
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 `ReadCloser` interface for input files with transparent decompression.
-
Matthew Clarkson authored
Provides `WriteCloser` interface for output files with transparent decompression.
-
Matthew Clarkson authored
Provides a `duplicate.Flag` implementation to determine what to do with duplicate members.
-
Matthew Clarkson authored
Provides glob matching for multiple patterns.
-
Matthew Clarkson authored
API to seek until the start of the next tape archive in a stream of bytes.
-
Matthew Clarkson authored
A generic Go binary that provides concatenation and filtering of tape archives.
-
Matthew Clarkson authored
-
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
-
Matthew Clarkson authored
These were used to test projects before they were upstreamed to BCR. We can remove them now.
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Matthew Clarkson authored
-
Bot authored
# [1.0.0-beta.6](https://git.gitlab.arm.com/bazel/rules_tar/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2025-01-09) ### Bug Fixes * switch to `//tar/tool` ([398aba37](https://git.gitlab.arm.com/bazel/rules_tar/commit/398aba37d3957f6d7cf84bc8fb2aa72ce603c6da)) ### Features * add `//tar/tool` ([dd68a659](https://git.gitlab.arm.com/bazel/rules_tar/commit/dd68a659de2ca27a26ecb6c685a437e7d9c9357c)) ### BREAKING CHANGES * `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 ], ) ```
Showing
- .bazelrc 3 additions, 7 deletions.bazelrc
- .bazelversion 1 addition, 1 deletion.bazelversion
- .gitlab-ci.yml 8 additions, 81 deletions.gitlab-ci.yml
- CHANGELOG.md 26 additions, 0 deletionsCHANGELOG.md
- MODULE.bazel 5 additions, 1 deletionMODULE.bazel
- MODULE.bazel.lock 352 additions, 1817 deletionsMODULE.bazel.lock
- README.md 20 additions, 1 deletionREADME.md
- WORKSPACE 0 additions, 0 deletionsWORKSPACE
- e2e/.bazelrc 3 additions, 8 deletionse2e/.bazelrc
- e2e/.bazelversion 1 addition, 1 deletione2e/.bazelversion
- e2e/MODULE.bazel.lock 352 additions, 1824 deletionse2e/MODULE.bazel.lock
- e2e/concatenate/bzip2/BUILD.bazel 0 additions, 1 deletione2e/concatenate/bzip2/BUILD.bazel
- e2e/concatenate/compress/bzip2/BUILD.bazel 24 additions, 0 deletionse2e/concatenate/compress/bzip2/BUILD.bazel
- e2e/concatenate/compress/gzip/BUILD.bazel 24 additions, 0 deletionse2e/concatenate/compress/gzip/BUILD.bazel
- e2e/concatenate/compress/xz/BUILD.bazel 24 additions, 0 deletionse2e/concatenate/compress/xz/BUILD.bazel
- e2e/concatenate/compress/zstd/BUILD.bazel 24 additions, 0 deletionse2e/concatenate/compress/zstd/BUILD.bazel
- e2e/concatenate/gzip/BUILD.bazel 0 additions, 1 deletione2e/concatenate/gzip/BUILD.bazel
- e2e/concatenate/xz/BUILD.bazel 0 additions, 1 deletione2e/concatenate/xz/BUILD.bazel
- e2e/concatenate/zstd/BUILD.bazel 0 additions, 3 deletionse2e/concatenate/zstd/BUILD.bazel
- e2e/filter/BUILD.bazel 1 addition, 1 deletione2e/filter/BUILD.bazel
This diff is collapsed.
WORKSPACE
deleted
100644 → 0
This diff is collapsed.
e2e/concatenate/compress/bzip2/BUILD.bazel
0 → 100644
e2e/concatenate/compress/gzip/BUILD.bazel
0 → 100644
e2e/concatenate/compress/xz/BUILD.bazel
0 → 100644
e2e/concatenate/compress/zstd/BUILD.bazel
0 → 100644