@@ -2,7 +2,7 @@ use glob::glob;
22use std:: {
33 fs:: { self , File } ,
44 io:: { self , Write } ,
5- path:: PathBuf ,
5+ path:: { Path , PathBuf } ,
66 process,
77} ;
88
@@ -29,24 +29,23 @@ fn apache_v2(year: u32, owner: &str) -> String {
2929}
3030
3131fn collect_protos (
32- out_dir : & PathBuf ,
32+ out_dir : & Path ,
3333 repo : & str ,
3434 glob_patterns : Vec < & str > ,
3535 add_license : Option < & String > ,
3636) {
37- let repo = PathBuf :: from ( std:: env!( "CARGO_MANIFEST_DIR" ) )
38- . join ( "submodules" )
39- . join ( repo) ;
37+ let manifest_dir = std:: env!( "CARGO_MANIFEST_DIR" ) ;
38+ let repo_dir = Path :: new ( manifest_dir) . join ( "submodules" ) . join ( repo) ;
4039
41- if !repo . is_dir ( ) {
40+ if !repo_dir . is_dir ( ) {
4241 eprintln ! ( "Error: submodule repo {:?} not found." , repo) ;
4342 process:: exit ( 1 ) ;
4443 }
4544
4645 let mut source_protos: Vec < PathBuf > = Vec :: new ( ) ;
4746
4847 for pattern in glob_patterns {
49- let mut matches: Vec < PathBuf > = glob ( repo . join ( pattern) . to_str ( ) . unwrap ( ) )
48+ let mut matches: Vec < PathBuf > = glob ( repo_dir . join ( pattern) . to_str ( ) . unwrap ( ) )
5049 . unwrap ( )
5150 . filter_map ( Result :: ok)
5251 . collect ( ) ;
@@ -59,7 +58,7 @@ fn collect_protos(
5958
6059 let target_name = out_dir. join (
6160 proto
62- . strip_prefix ( repo . parent ( ) . expect ( "repo has parent" ) )
61+ . strip_prefix ( repo_dir . parent ( ) . expect ( "repo has parent" ) )
6362 . expect ( "base is a prefix of proto" ) ,
6463 ) ;
6564
@@ -84,7 +83,8 @@ fn collect_protos(
8483}
8584
8685fn main ( ) {
87- let out_dir = PathBuf :: from ( std:: env!( "CARGO_MANIFEST_DIR" ) )
86+ let manifest_dir = std:: env!( "CARGO_MANIFEST_DIR" ) ;
87+ let out_dir = Path :: new ( manifest_dir)
8888 . parent ( )
8989 . expect ( "envoy-proto-collect is inside a workspace" )
9090 . join ( "envoy-types" )
0 commit comments