@@ -74,45 +74,54 @@ struct Args {
7474}
7575
7676fn main ( ) {
77+ // nosemgrep: current-exe
78+ let zero = std:: env:: current_exe ( ) . unwrap ( ) ;
79+ let self_dir = zero. parent ( ) . unwrap ( ) ;
80+ let main_dir = self_dir. join ( "../../../.." ) ;
81+ std:: env:: set_current_dir ( main_dir) . unwrap ( ) ;
82+
7783 let version_locs = vec ! [
7884 Location :: new(
79- "../../ Cargo.toml" ,
85+ "Cargo.toml" ,
8086 r#"name = "mongodb"\nversion = "(?<target>.*?)"\n"# ,
8187 ) ,
82- Location :: new( "../../README.md" , r#"mongodb = "(?<target>.*?)"\n"# ) ,
8388 Location :: new(
84- "../../README.md " ,
85- r#"\[dependencies. mongodb\] \nversion = "(?<target>.*?)"\n"# ,
89+ "macros/Cargo.toml " ,
90+ r#"name = " mongodb-internal-macros" \nversion = "(?<target>.*?)"\n"# ,
8691 ) ,
87- Location :: new( "../../src/lib.rs" , r#"//! mongodb = "(?<target>.*?)"\n"# ) ,
88- Location :: new( "../../src/lib.rs" , r#"//! version = "(?<target>.*?)"\n"# ) ,
92+ Location :: new( "README.md" , r#"mongodb = "(?<target>.*?)"\n"# ) ,
8993 Location :: new(
90- "../../src/lib.rs " ,
91- r#"html_root_url = "https://docs.rs/mongodb/ (?<target>.*?)""# ,
94+ "README.md " ,
95+ r#"\[dependencies.mongodb\]\nversion = "(?<target>.*?)"\n "# ,
9296 ) ,
9397 Location :: new(
94- "../../manual/ src/installation_features.md " ,
95- r#"\[dependencies.mongodb\]\nversion = "(?<target>.*?)"\n "# ,
98+ "src/lib.rs " ,
99+ r#"html_root_url = "https://docs.rs/mongodb/ (?<target>.*?)""# ,
96100 ) ,
97101 ] ;
98- let bson_version_loc =
99- Location :: new ( "../../Cargo.toml" , r#"bson = (?<target>\{ git = .*? \})\n"# ) ;
100- let mongocrypt_version_loc = Location :: new (
101- "../../Cargo.toml" ,
102- r#"mongocrypt = (?<target>\{ git = .*? \})\n"# ,
102+ let quote_version_loc = Location :: new (
103+ "Cargo.toml" ,
104+ r#"mongodb-internal-macros = (?<target>\{ path = .* \})\n"# ,
103105 ) ;
106+ let bson_version_loc = Location :: new ( "Cargo.toml" , r#"bson = (?<target>\{ git = .*? \})\n"# ) ;
107+ let mongocrypt_version_loc =
108+ Location :: new ( "Cargo.toml" , r#"mongocrypt = (?<target>\{ git = .*? \})\n"# ) ;
104109
105110 let args: Args = argh:: from_env ( ) ;
106111
107112 let mut pending = PendingUpdates :: new ( ) ;
108113 for loc in & version_locs {
109114 pending. apply ( loc, & args. version ) ;
110115 }
116+ pending. apply ( & quote_version_loc, & format ! ( "{:?}" , args. version) ) ;
111117 if let Some ( bson) = args. bson {
112118 pending. apply ( & bson_version_loc, & format ! ( "{:?}" , bson) ) ;
113119 }
114120 if let Some ( mongocrypt) = args. mongocrypt {
115- pending. apply ( & mongocrypt_version_loc, & format ! ( "{{ version = {:?}, optional = true }}" , mongocrypt) ) ;
121+ pending. apply (
122+ & mongocrypt_version_loc,
123+ & format ! ( "{{ version = {:?}, optional = true }}" , mongocrypt) ,
124+ ) ;
116125 }
117126 pending. write ( ) ;
118127}
0 commit comments