@@ -74,45 +74,54 @@ struct Args {
74
74
}
75
75
76
76
fn 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
+
77
83
let version_locs = vec ! [
78
84
Location :: new(
79
- "../../ Cargo.toml" ,
85
+ "Cargo.toml" ,
80
86
r#"name = "mongodb"\nversion = "(?<target>.*?)"\n"# ,
81
87
) ,
82
- Location :: new( "../../README.md" , r#"mongodb = "(?<target>.*?)"\n"# ) ,
83
88
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"# ,
86
91
) ,
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"# ) ,
89
93
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 "# ,
92
96
) ,
93
97
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>.*?)""# ,
96
100
) ,
97
101
] ;
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"# ,
103
105
) ;
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"# ) ;
104
109
105
110
let args: Args = argh:: from_env ( ) ;
106
111
107
112
let mut pending = PendingUpdates :: new ( ) ;
108
113
for loc in & version_locs {
109
114
pending. apply ( loc, & args. version ) ;
110
115
}
116
+ pending. apply ( & quote_version_loc, & format ! ( "{:?}" , args. version) ) ;
111
117
if let Some ( bson) = args. bson {
112
118
pending. apply ( & bson_version_loc, & format ! ( "{:?}" , bson) ) ;
113
119
}
114
120
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
+ ) ;
116
125
}
117
126
pending. write ( ) ;
118
127
}
0 commit comments