WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 4b67d3a

Browse files
committed
crusader > copter
1 parent 80a4fcd commit 4b67d3a

File tree

12 files changed

+86
-86
lines changed

12 files changed

+86
-86
lines changed

.gitignore

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
.crusader
1+
.copter
22
target
33
*~
4-
crusader-report.html
5-
crusader-report.md.md
4+
copter-report.html
5+
copter-report.md.md

CLAUDE.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ AI assistant guidance for working with this codebase.
44

55
## Project
66

7-
Cargo Crusader tests downstream impact of Rust crate changes by building reverse dependencies against both published and work-in-progress versions.
7+
Cargo Copter tests downstream impact of Rust crate changes by building reverse dependencies against both published and work-in-progress versions.
88

99
**⚠️ SECURITY**: Executes arbitrary code from crates.io. Use sandboxed environments.
1010

@@ -13,8 +13,8 @@ Cargo Crusader tests downstream impact of Rust crate changes by building reverse
1313
```bash
1414
cargo build --release
1515
cargo test
16-
./target/release/cargo-crusader --path ~/rust-rgb --top-dependents 1
17-
./target/release/cargo-crusader --crate rgb --test-versions "0.8.50 0.8.51"
16+
./target/release/cargo-copter --path ~/rust-rgb --top-dependents 1
17+
./target/release/cargo-copter --crate rgb --test-versions "0.8.50 0.8.51"
1818
```
1919

2020
## Key Files
@@ -80,8 +80,8 @@ See **[CONSOLE-FORMAT.md](CONSOLE-FORMAT.md)** for complete specification with 9
8080

8181
## Caching
8282

83-
- `.crusader/staging/{crate}-{version}/` - Unpacked sources + build artifacts
84-
- `.crusader/crate-cache/` - Downloaded .crate files
83+
- `.copter/staging/{crate}-{version}/` - Unpacked sources + build artifacts
84+
- `.copter/crate-cache/` - Downloaded .crate files
8585
- Provides **10x speedup** on reruns
8686

8787
## CLI Flags (Updated)
@@ -96,27 +96,27 @@ See **[CONSOLE-FORMAT.md](CONSOLE-FORMAT.md)** for complete specification with 9
9696

9797
**Examples**:
9898
```bash
99-
cargo-crusader --test-versions "0.8.0 0.8.48" 0.8.91
100-
cargo-crusader --crate rgb --test-versions 0.8.50 --force-versions
101-
cargo-crusader --features "serde unstable" --jobs 4
99+
cargo-copter --test-versions "0.8.0 0.8.48" 0.8.91
100+
cargo-copter --crate rgb --test-versions 0.8.50 --force-versions
101+
cargo-copter --features "serde unstable" --jobs 4
102102
```
103103

104104
## Common Workflows
105105

106106
### Test local WIP against top dependents
107107
```bash
108108
cd ~/my-crate
109-
cargo-crusader --top-dependents 10 --jobs 4
109+
cargo-copter --top-dependents 10 --jobs 4
110110
```
111111

112112
### Test multiple versions of published crate
113113
```bash
114-
cargo-crusader --crate rgb --test-versions "0.8.48 0.8.50 0.8.51"
114+
cargo-copter --crate rgb --test-versions "0.8.48 0.8.50 0.8.51"
115115
```
116116

117117
### Force test incompatible version
118118
```bash
119-
cargo-crusader --test-versions 0.7.0 --force-versions
119+
cargo-copter --test-versions 0.7.0 --force-versions
120120
```
121121

122122
## Next Steps

README.md

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Cargo Crusader
1+
# Cargo Copter
22

33
> Test the downstream impact of crate changes before publishing to crates.io
44
5-
**Join the Cargo Crusade** and practice [responsible API evolution](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md).
5+
Test your crate changes with **Cargo Copter** and practice [responsible API evolution](https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md).
66

77
## ⚠️ Security Warning
88

@@ -14,14 +14,14 @@
1414

1515
```bash
1616
# Install
17-
git clone https://github.com/brson/cargo-crusader
18-
cd cargo-crusader
17+
git clone https://github.com/imazen/cargo-copter
18+
cd cargo-copter
1919
cargo build --release
2020
export PATH=$PATH:$(pwd)/target/release/
2121

2222
# Run
2323
cd /path/to/your/crate
24-
cargo-crusader
24+
cargo-copter
2525
```
2626

2727
**Output:**
@@ -46,8 +46,8 @@ Summary:
4646
✗ Regressed: 0
4747
⊘ Skipped: 0
4848
49-
HTML report: crusader-report.html
50-
Markdown report: crusader-report.md
49+
HTML report: copter-report.html
50+
Markdown report: copter-report.md
5151
```
5252

5353
---
@@ -56,31 +56,31 @@ Markdown report: crusader-report.md
5656

5757
```bash
5858
# Test top 10 dependents
59-
cargo-crusader --top-dependents 10
59+
cargo-copter --top-dependents 10
6060

6161
# Test specific crates (supports version pinning)
62-
cargo-crusader --dependents image:0.25.8 serde tokio
62+
cargo-copter --dependents image:0.25.8 serde tokio
6363

6464
# Parallel testing with a custom caching dir (10x faster)
65-
cargo-crusader --jobs 4 --staging-dir .crusader/staging
65+
cargo-copter --jobs 4 --staging-dir .copter/staging
6666

6767
# Fast check-only (skip tests)
68-
cargo-crusader --no-test --jobs 8
68+
cargo-copter --no-test --jobs 8
6969

7070
# Test against multiple crate versions
71-
cargo-crusader --test-versions "0.8.0 0.8.48" 0.8.91
71+
cargo-copter --test-versions "0.8.0 0.8.48" 0.8.91
7272

7373
# Force version testing (bypass semver)
74-
cargo-crusader --test-versions 0.9.0--force-versions 0.7.1
74+
cargo-copter --test-versions 0.9.0--force-versions 0.7.1
7575

7676
# Test with specific features enabled
77-
cargo-crusader --features "serde unstable"
77+
cargo-copter --features "serde unstable"
7878

7979
# Test different crate path
80-
cargo-crusader --path ~/my-crate
80+
cargo-copter --path ~/my-crate
8181

8282
# Test published crate without local source
83-
cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
83+
cargo-copter --crate rgb --test-versions 0.8.50 0.8.51
8484
```
8585

8686
---
@@ -95,8 +95,8 @@ cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
9595
--dependents <CRATE[:VER]>... Test specific crates (supports version pins)
9696
--dependent-paths <PATH>... Test local crates
9797
-j, --jobs <N> Parallel jobs [default: 1]
98-
--staging-dir <PATH> Cache directory [default: .crusader/staging]
99-
--output <PATH> HTML output [default: crusader-report.html]
98+
--staging-dir <PATH> Cache directory [default: .copter/staging]
99+
--output <PATH> HTML output [default: copter-report.html]
100100
--no-check Skip cargo check
101101
--no-test Skip cargo test
102102
--json JSON output
@@ -112,14 +112,14 @@ cargo-crusader --crate rgb --test-versions 0.8.50 0.8.51
112112
### Version Syntax
113113
```bash
114114
# Pin specific versions
115-
cargo-crusader --dependents image:0.25.8 serde:1.0.0
115+
cargo-copter --dependents image:0.25.8 serde:1.0.0
116116

117117
# Test multiple versions (space-delimited within args or across args)
118-
cargo-crusader --test-versions "0.8.0 0.8.48" 0.8.91
118+
cargo-copter --test-versions "0.8.0 0.8.48" 0.8.91
119119

120120

121121
# Pass feature flags to cargo
122-
cargo-crusader --features "default serde" --features rgb/unstable
122+
cargo-copter --features "default serde" --features rgb/unstable
123123
```
124124

125125
---
@@ -224,9 +224,9 @@ See [CONSOLE-FORMAT.md](CONSOLE-FORMAT.md) for complete format specification and
224224
5. **Reporting** - Generate console, HTML, and markdown reports
225225

226226
### Caching Strategy
227-
- **Source cache**: `.crusader/staging/{crate}-{version}/` (unpacked sources)
227+
- **Source cache**: `.copter/staging/{crate}-{version}/` (unpacked sources)
228228
- **Build artifacts**: Same location, includes `target/` directory
229-
- **Downloads**: `.crusader/crate-cache/` (original .crate files)
229+
- **Downloads**: `.copter/crate-cache/` (original .crate files)
230230

231231
### Override Mechanism
232232
**Current**: Uses `.cargo/config` with `paths = [...]`
@@ -261,7 +261,7 @@ All contributions welcome! Priority areas:
261261

262262
**Docker Example**:
263263
```bash
264-
docker run --rm -v $(pwd):/work crusader/cargo-crusader \
264+
docker run --rm -v $(pwd):/work imazen/cargo-copter \
265265
--path /work --top-dependents 5
266266
```
267267

@@ -276,7 +276,7 @@ docker run --rm -v $(pwd):/work crusader/cargo-crusader \
276276
→ Use `--top-dependents N`, `--dependents`, or `--dependent-paths`
277277

278278
**Disk space exhausted**
279-
→ Clear cache: `rm -rf .crusader/`
279+
→ Clear cache: `rm -rf .copter/`
280280

281281
**Compilation timeout**
282282
→ Use `--no-test` for faster check-only runs
@@ -299,7 +299,7 @@ cargo build --release
299299
cargo test
300300

301301
# Test against real crate
302-
RUST_LOG=debug ./target/release/cargo-crusader --path ~/rust-rgb --top-dependents 1
302+
RUST_LOG=debug ./target/release/cargo-copter --path ~/rust-rgb --top-dependents 1
303303
```
304304

305305
**Project Structure**:
@@ -332,34 +332,34 @@ test-crates/integration-fixtures/ # Test fixtures
332332
## CI/CD Integration
333333

334334
```yaml
335-
# .github/workflows/crusader.yml
335+
# .github/workflows/copter.yml
336336
name: Test Downstream Impact
337337
on: [pull_request]
338338

339339
jobs:
340-
crusader:
340+
copter:
341341
runs-on: ubuntu-latest
342342
steps:
343343
- uses: actions/checkout@v3
344344
- uses: actions-rs/toolchain@v1
345345
with:
346346
toolchain: stable
347347

348-
- name: Install cargo-crusader
348+
- name: Install cargo-copter
349349
run: |
350-
git clone https://github.com/brson/cargo-crusader
351-
cd cargo-crusader
350+
git clone https://github.com/imazen/cargo-copter
351+
cd cargo-copter
352352
cargo install --path .
353353
354354
- name: Test top 10 dependents
355-
run: cargo-crusader --top-dependents 10 --jobs 4
355+
run: cargo-copter --top-dependents 10 --jobs 4
356356

357357
- name: Upload report
358358
if: always()
359359
uses: actions/upload-artifact@v3
360360
with:
361-
name: crusader-report
362-
path: crusader-report.html
361+
name: copter-report
362+
path: copter-report.html
363363
```
364364
365365
---
@@ -388,17 +388,17 @@ Recently updated from 7-year-old dependencies:
388388

389389
MIT/Apache-2.0
390390

391-
This is the official license of The Rust Project and The Cargo Crusade.
391+
This is the standard license for Rust projects.
392392

393393
---
394394

395395
## Links
396396

397-
- **GitHub**: https://github.com/brson/cargo-crusader
397+
- **GitHub**: https://github.com/imazen/cargo-copter
398398
- **crates.io**: https://crates.io
399399
- **Rust API Evolution RFC**: https://github.com/rust-lang/rfcs/blob/master/text/1105-api-evolution.md
400400
- **Development Roadmap**: [PLAN.md](PLAN.md)
401401

402402
---
403403

404-
**Ready to crusade?** Run `cargo-crusader` in your crate and ensure your changes don't break the ecosystem! 🛡️
404+
**Ready to take flight?** Run `cargo-copter` in your crate and ensure your changes don't break the ecosystem! 🚁

src/api.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use std::io::Read;
99
use std::time::Duration;
1010
use log::debug;
1111

12-
const USER_AGENT: &str = "cargo-crusader/0.1.1 (https://github.com/brson/cargo-crusader)";
12+
const USER_AGENT: &str = "cargo-copter/0.1.1 (https://github.com/imazen/cargo-copter)";
1313

1414
lazy_static::lazy_static! {
1515
static ref CRATES_IO_CLIENT: SyncClient = {

src/cli.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use clap::Parser;
22
use std::path::PathBuf;
33

44
#[derive(Parser, Debug, Clone)]
5-
#[command(name = "cargo-crusader")]
5+
#[command(name = "cargo-copter")]
66
#[command(about = "Test the downstream impact of crate changes before publishing")]
77
#[command(version)]
88
pub struct CliArgs {
@@ -40,11 +40,11 @@ pub struct CliArgs {
4040
pub jobs: usize,
4141

4242
/// HTML report output path
43-
#[arg(long, default_value = "crusader-report.html")]
43+
#[arg(long, default_value = "copter-report.html")]
4444
pub output: PathBuf,
4545

4646
/// Directory for staging unpacked crates (enables caching across runs)
47-
#[arg(long, default_value = ".crusader/staging")]
47+
#[arg(long, default_value = ".copter/staging")]
4848
pub staging_dir: PathBuf,
4949

5050
/// Skip cargo check (only run tests)
@@ -145,7 +145,7 @@ mod tests {
145145
force_versions: vec![],
146146
jobs: 1,
147147
output: PathBuf::from("report.html"),
148-
staging_dir: PathBuf::from(".crusader/staging"),
148+
staging_dir: PathBuf::from(".copter/staging"),
149149
no_check: true,
150150
no_test: true,
151151
json: false,
@@ -165,7 +165,7 @@ mod tests {
165165
force_versions: vec![],
166166
jobs: 0,
167167
output: PathBuf::from("report.html"),
168-
staging_dir: PathBuf::from(".crusader/staging"),
168+
staging_dir: PathBuf::from(".copter/staging"),
169169
no_check: false,
170170
no_test: false,
171171
json: false,
@@ -188,7 +188,7 @@ mod tests {
188188
force_versions: vec![],
189189
jobs: 1,
190190
output: PathBuf::from("report.html"),
191-
staging_dir: PathBuf::from(".crusader/staging"),
191+
staging_dir: PathBuf::from(".copter/staging"),
192192
no_check: false,
193193
no_test: false,
194194
json: false,
@@ -210,7 +210,7 @@ mod tests {
210210
force_versions: vec![],
211211
jobs: 1,
212212
output: PathBuf::from("report.html"),
213-
staging_dir: PathBuf::from(".crusader/staging"),
213+
staging_dir: PathBuf::from(".copter/staging"),
214214
no_check: false,
215215
no_test: false,
216216
json: false,
@@ -230,7 +230,7 @@ mod tests {
230230
force_versions: vec![],
231231
jobs: 1,
232232
output: PathBuf::from("report.html"),
233-
staging_dir: PathBuf::from(".crusader/staging"),
233+
staging_dir: PathBuf::from(".copter/staging"),
234234
no_check: false,
235235
no_test: false,
236236
json: false,

src/compile.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ fn emit_cargo_override_path(source_dir: &Path, override_path: &Path) -> Result<(
481481

482482
let config_content = format!(
483483
r#"[patch.crates-io]
484-
# This is a temporary override for cargo-crusader testing
484+
# This is a temporary override for cargo-copter testing
485485
# Any crate at this path will override the published version
486486
paths = ["{}"]
487487
"#,

0 commit comments

Comments
 (0)