File tree Expand file tree Collapse file tree 8 files changed +72
-7
lines changed Expand file tree Collapse file tree 8 files changed +72
-7
lines changed Original file line number Diff line number Diff line change 1+ [alias ]
2+ xtask = " run --package xtask --bin xtask --"
Original file line number Diff line number Diff line change 11[workspace ]
22resolver = " 2"
3- members = [" crates/*" ]
3+ members = [" crates/*" , " xtask " ]
44
55[workspace .package ]
66edition = " 2021"
@@ -16,5 +16,5 @@ paste = "^1.0"
1616regex = " ^1.6"
1717serde = " ^1.0"
1818serde_json = " ^1.0"
19- serde_valid_derive = { version = " 1.0.1 " , path = " crates/serde_valid_derive" }
20- serde_valid_literal = { version = " 1.0.1 " , path = " crates/serde_valid_literal" }
19+ serde_valid_derive = { path = " crates/serde_valid_derive" }
20+ serde_valid_literal = { path = " crates/serde_valid_literal" }
Original file line number Diff line number Diff line change 22
33set -e
44
5- cd " $( dirname " $0 " ) "
5+ cd " $( dirname " $0 " ) " /../
66
7- cd ../crates/serde_valid_derive
7+ cargo xtask upgate-tags
8+
9+ cd " $( dirname " $0 " ) " /../crates/serde_valid_derive
810cargo publish
911
10- cd ../crates/serde_valid_literal
12+ cd " $( dirname " $0 " ) " / ../crates/serde_valid_literal
1113cargo publish
1214
1315# wait tarball package publishment
1416sleep 20
1517
16- cd ../crates/serde_valid
18+ cd " $( dirname " $0 " ) " / ../crates/serde_valid
1719cargo publish
Original file line number Diff line number Diff line change 1+ [package ]
2+ name = " xtask"
3+ edition.workspace = true
4+ version.workspace = true
5+ license.workspace = true
6+ repository.workspace = true
7+ authors.workspace = true
8+ keywords.workspace = true
9+
10+ [dependencies ]
11+ clap = { version = " 4.5.23" , features = [" derive" ] }
12+ toml_edit = " 0.22.22"
Original file line number Diff line number Diff line change 1+ pub mod update_tags;
Original file line number Diff line number Diff line change 1+ use toml_edit:: DocumentMut ;
2+
3+ use crate :: utils;
4+
5+ #[ derive( clap:: Args , Debug ) ]
6+ pub struct Args { }
7+
8+ pub fn run ( _args : Args ) {
9+ let project_root = utils:: project_root ( ) ;
10+
11+ let cargo_toml = std:: fs:: read_to_string ( project_root. join ( "Cargo.toml" ) ) . unwrap ( ) ;
12+ let mut doc = cargo_toml. parse :: < DocumentMut > ( ) . unwrap ( ) ;
13+
14+ let version = doc[ "workspace" ] [ "package" ] [ "version" ]
15+ . clone ( )
16+ . into_value ( )
17+ . unwrap ( ) ;
18+ doc[ "workspace" ] [ "dependencies" ] [ "serde_valid_derive" ] [ "version" ] = version. clone ( ) . into ( ) ;
19+ doc[ "workspace" ] [ "dependencies" ] [ "serde_valid_literal" ] [ "version" ] = version. into ( ) ;
20+
21+ std:: fs:: write ( project_root. join ( "Cargo.toml" ) , doc. to_string ( ) ) . unwrap ( ) ;
22+ }
Original file line number Diff line number Diff line change 1+ mod commands;
2+ mod utils;
3+
4+ use clap:: Parser ;
5+
6+ #[ derive( Debug , clap:: Parser ) ]
7+ enum Args {
8+ UpdateTags ( commands:: update_tags:: Args ) ,
9+ }
10+
11+ fn main ( ) {
12+ let args = Args :: parse ( ) ;
13+ match args {
14+ Args :: UpdateTags ( args) => {
15+ commands:: update_tags:: run ( args) ;
16+ }
17+ }
18+ }
Original file line number Diff line number Diff line change 1+ use std:: path:: PathBuf ;
2+
3+ /// Returns the path to the root directory of `tombi` project.
4+ pub fn project_root ( ) -> PathBuf {
5+ let dir = std:: env:: var ( "CARGO_MANIFEST_DIR" )
6+ . unwrap_or_else ( |_| env ! ( "CARGO_MANIFEST_DIR" ) . to_owned ( ) ) ;
7+ PathBuf :: from ( dir) . parent ( ) . unwrap ( ) . to_owned ( )
8+ }
You can’t perform that action at this time.
0 commit comments