Crates.io | cargo-pipe |
lib.rs | cargo-pipe |
version | 0.2.2 |
source | src |
created_at | 2021-08-04 02:36:57.57393 |
updated_at | 2022-02-26 21:41:35.667478 |
description | A command-line tool to generate and build data integration app using pipebase framework |
homepage | https://github.com/pipebase/pipebase |
repository | https://github.com/pipebase/pipebase |
max_upload_size | |
id | 431304 |
size | 54,474 |
cargo-pipe
is a clap
based command-line tool to generate and build pipebase
app with manifest
install Rust and Cargo (Minimum Supported Version of Rust 1.54.0)
curl https://sh.rustup.rs -sSf | sh
install rustfmt
rustup component add rustfmt
install cargo-pipe
CLI
cargo install cargo-pipe
cargo pipe --help
clone repository and go to resources
directory
git clone https://github.com/pipebase/pipebase.git && \
cd pipebase/cargo-pipe/resources && \
cargo pipe new && \
cargo pipe validate -o -p && \
cargo pipe generate && \
cargo pipe build -o timer -r
run app
./timer
note that, any change to pipe.yml
requires re-run validate
, generate
, build
steps
validate manifest only
cargo pipe validate -o -p
build with debug flag
cargo pipe build -d
...
Warning struct is never constructed: `Bar`
Warning 1 warning emitted
fix the warning by remove objects
section
@@ -23,13 +23,6 @@ pipes:
config:
ty: PrinterConfig
upstreams: [ "timer1", "timer2" ]
-objects:
- - ty: Bar
- fields:
- - name: bar1
- ty: Integer
- - name: bar2
- ty: String
since manifest changed, re-generate and build
cargo pipe generate && \
cargo pipe build -d
list all pipes and objects
cargo pipe describe -a
...
Describe pipes
Result pipe: timer1, printer, timer2
Describe objects
Result objects: Bar
describe a pipe
cargo pipe describe -p timer1
...
Describe pipe timer1
Result
Name: timer1
Type: poller
Config: { type: TimerConfig, path: catalogs/timer1.yml }
Upstream: []
describe an object
cargo pipe describe -o Bar
...
Describe object Bar
Result
Type: Bar
Type Metas:
Fields:
Name Type Metas
bar1 i32
bar2 String
describe pipelines cross a pipe
cargo pipe describe -l printer
...
Describe pipelines for printer
Result pipeline: timer2(u128) -> printer
Result pipeline: timer1(u128) -> printer