cargo-equip
A Cargo subcommand to bundle your code into one .rs file for competitive programming.
Example
[]
= "solve"
= "0.0.0"
= "2018"
[]
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "https://github.com/qryxip/ac-library-rs", = "split-into-separate-crates" }
= { = "/path/to/input" }
= { = "/path/to/output" }
= { = "/path/to/tonelli_shanks" }
= { = "/path/to/xorshift" }
# ...
extern crate input as _;
use ModInt;
use Write as _;
use ModIntBaseExt as _;
↓
❯ cargo equip --resolve-cfgs --remove docs --minify libs --rustfmt --check -o ./bundled.rs
Running `/home/ryo/.cargo/bin/rustup run nightly cargo udeps --output json -p solve --bin solve`
Checking solve v0.0.0 (/home/ryo/src/local/a/solve)
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
info: Loading save analysis from "/home/ryo/src/local/a/solve/target/debug/deps/save-analysis/solve-4eea33c8603d6001.json"
Bundling the code
Checking cargo-equip-check-output-do7dy7m13pba4nbx v0.1.0 (/tmp/cargo-equip-check-output-do7dy7m13pba4nbx)
Finished dev [unoptimized + debuginfo] target(s) in 0.35s
Submit Info #28576 - Library-Checker
Installation
Install a nightly toolchain and cargo-udeps first.
❯ rustup update nightly
❯ cargo install --git https://github.com/est31/cargo-udeps # for est31/cargo-udeps#80
Crates.io
❯ cargo install cargo-equip
master
❯ cargo install --git https://github.com/qryxip/cargo-equip
GitHub Releases
Usage
TODO (Japanese)
License
Dual-licensed under MIT or Apache-2.0.