Skip to content

Commit 905b484

Browse files
authored
refactor: move async-compression to crates/ (#379)
1 parent ccefbeb commit 905b484

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+346
-294
lines changed

.github/workflows/exhaustive.yml

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -76,51 +76,33 @@ jobs:
7676
strategy:
7777
matrix:
7878
async_runtime: [tokio, futures-io]
79-
name: cargo hack check --feature-powerset --features ${{ matrix.async_runtime }}
79+
name: check-features ${{ matrix.async_runtime }}
8080
runs-on: ubuntu-latest
8181
env:
8282
RUSTFLAGS: -Dwarnings
8383
steps:
8484
- uses: actions/checkout@v5
8585
- uses: actions-rust-lang/setup-rust-toolchain@v1
8686
- uses: taiki-e/install-action@v2
87-
with: { tool: cargo-hack }
88-
- name: cargo-hack check
89-
run: |
90-
set -exuo pipefail
91-
skipped_features=$(echo 'futures-io,tokio,' | sed 's/${{ matrix.async_runtime }},//')
92-
cargo hack check \
93-
--feature-powerset \
94-
--features ${{ matrix.async_runtime }} \
95-
--no-dev-deps \
96-
--skip "all,all-algorithms,${skipped_features}all-implementations,xz-parallel,zstdmt" \
97-
--depth 4
98-
cargo check --features ${{ matrix.async_runtime }},xz-parallel,zstdmt
87+
with:
88+
tool: cargo-hack,just
89+
- run: just check-features ${{ matrix.async_runtime }}
9990
10091
check-test-features:
10192
strategy:
10293
matrix:
10394
async_runtime: [tokio, futures-io]
104-
name: cargo check --all-targets --feature-powerset --features ${{ matrix.async_runtime }}
95+
name: check-test-features ${{ matrix.async_runtime }}
10596
runs-on: ubuntu-latest
10697
env:
10798
RUSTFLAGS: -Dwarnings
10899
steps:
109100
- uses: actions/checkout@v5
110101
- uses: actions-rust-lang/setup-rust-toolchain@v1
111102
- uses: taiki-e/install-action@v2
112-
with: { tool: cargo-hack }
113-
- name: cargo-hack check
114-
run: |
115-
set -exuo pipefail
116-
skipped_features=$(echo 'futures-io,tokio,' | sed 's/${{ matrix.async_runtime }},//')
117-
cargo hack check \
118-
--feature-powerset \
119-
--features ${{ matrix.async_runtime }} \
120-
--all-targets \
121-
--skip "all,all-algorithms,${skipped_features}all-implementations,xz-parallel,zstdmt" \
122-
--depth 4
123-
cargo check --all-targets --features ${{ matrix.async_runtime }},xz-parallel,zstdmt
103+
with:
104+
tool: cargo-hack,just
105+
- run: just check-test-features ${{ matrix.async_runtime }}
124106
125107
# Dummy job to have a stable name for the "all tests pass" requirement
126108
tests-pass:

Cargo.toml

Lines changed: 4 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -16,145 +16,7 @@ futures-core = { version = "0.3", default-features = false }
1616
memchr = "2"
1717
pin-project-lite = "0.2"
1818

19-
[package]
20-
name = "async-compression"
21-
description = """
22-
Adaptors between compression crates and Rust's modern asynchronous IO types.
23-
"""
24-
authors.workspace = true
25-
license.workspace = true
26-
categories.workspace = true
27-
edition.workspace = true
28-
version = "0.4.28"
29-
30-
[package.metadata.docs.rs]
31-
all-features = true
32-
rustdoc-args = ["--cfg", "docsrs"]
33-
34-
[features]
35-
# groups
36-
all = ["all-implementations", "all-algorithms"]
37-
all-implementations = ["futures-io", "tokio"]
38-
all-algorithms = [
39-
"brotli",
40-
"bzip2",
41-
"deflate",
42-
"deflate64",
43-
"gzip",
44-
"lz4",
45-
"lzma",
46-
"xz",
47-
"xz-parallel",
48-
"zlib",
49-
"zstd",
50-
]
51-
52-
# algorithms
53-
brotli = ["compression-codecs/brotli", "dep:brotli"]
54-
bzip2 = ["compression-codecs/bzip2", "dep:bzip2"]
55-
deflate = ["compression-codecs/deflate", "flate2"]
56-
deflate64 = ["compression-codecs/deflate64", "dep:deflate64"]
57-
gzip = ["compression-codecs/gzip", "flate2"]
58-
lz4 = ["compression-codecs/lz4", "dep:lz4"]
59-
lzma = ["compression-codecs/lzma", "liblzma"]
60-
xz = ["compression-codecs/xz", "lzma"]
61-
xz-parallel = ["compression-codecs/xz-parallel", "xz", "liblzma/parallel"]
62-
xz2 = ["compression-codecs/xz2", "xz"]
63-
zlib = ["compression-codecs/zlib", "flate2"]
64-
zstd = ["compression-codecs/zstd", "libzstd", "zstd-safe"]
65-
zstdmt = ["compression-codecs/zstdmt", "zstd", "zstd-safe/zstdmt"]
66-
67-
68-
[dependencies]
69-
# core dependencies
70-
futures-core.workspace = true
71-
memchr.workspace = true
72-
pin-project-lite.workspace = true
73-
compression-codecs.workspace = true
74-
compression-core.workspace = true
75-
# optionals deps
76-
brotli = { version = "8", optional = true }
77-
bzip2 = { version = "0.6", optional = true }
78-
flate2 = { version = "1.0.13", optional = true }
79-
futures-io = { version = "0.3", default-features = false, features = [
80-
"std",
81-
], optional = true }
82-
libzstd = { package = "zstd", version = "0.13.1", optional = true, default-features = false }
83-
lz4 = { version = "1.28.1", optional = true }
84-
tokio = { version = "1.24.2", optional = true, default-features = false }
85-
liblzma = { version = "0.4.2", optional = true }
86-
zstd-safe = { version = "7", optional = true, default-features = false }
87-
deflate64 = { version = "0.1.5", optional = true }
88-
89-
[dev-dependencies]
90-
bytes = "1"
91-
futures = "0.3.5"
92-
futures-test = "0.3.5"
93-
ntest = "0.9"
94-
proptest = "1"
95-
proptest-derive = "0.6"
96-
rand = "0.9"
97-
tokio = { version = "1.38.2", default-features = false, features = [
98-
"io-util",
99-
"macros",
100-
"rt-multi-thread",
101-
"io-std",
102-
] }
103-
tokio-util = { version = "0.7", default-features = false, features = ["io"] }
104-
105-
[[test]]
106-
name = "brotli"
107-
required-features = ["brotli"]
108-
109-
[[test]]
110-
name = "bzip2"
111-
required-features = ["bzip2"]
112-
113-
[[test]]
114-
name = "deflate"
115-
required-features = ["deflate"]
116-
117-
[[test]]
118-
name = "gzip"
119-
required-features = ["gzip"]
120-
121-
[[test]]
122-
name = "lz4"
123-
required-features = ["lz4"]
124-
125-
[[test]]
126-
name = "lzma"
127-
required-features = ["lzma"]
128-
129-
[[test]]
130-
name = "xz"
131-
required-features = ["xz"]
132-
133-
[[test]]
134-
name = "zlib"
135-
required-features = ["zlib"]
136-
137-
[[test]]
138-
name = "zstd"
139-
required-features = ["zstd"]
140-
141-
[[test]]
142-
name = "zstd-dict"
143-
required-features = ["zstd", "tokio"]
144-
145-
[[test]]
146-
name = "zstd-window-size"
147-
required-features = ["zstd", "tokio"]
148-
149-
[[example]]
150-
name = "zlib_tokio_write"
151-
required-features = ["zlib", "tokio"]
152-
153-
[[example]]
154-
name = "zstd_gzip"
155-
required-features = ["zstd", "gzip", "tokio"]
156-
157-
158-
[[example]]
159-
name = "lzma_filters"
160-
required-features = ["xz", "tokio"]
19+
[workspace.lints.rust]
20+
rust_2018_idioms = "deny"
21+
missing_debug_implementations = { level = "deny", priority = -1 }
22+
# missing_docs = { level = "deny", priority = -1 }

README.md

Lines changed: 0 additions & 88 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
crates/async-compression/README.md
File renamed without changes.

0 commit comments

Comments
 (0)