@@ -58,24 +58,24 @@ impl PackageRoot {
58
58
}
59
59
60
60
#[ derive( Debug , Clone , PartialEq , Eq , Hash , Ord , PartialOrd ) ]
61
- pub enum ProjectRoot {
61
+ pub enum ProjectManifest {
62
62
ProjectJson ( PathBuf ) ,
63
63
CargoToml ( PathBuf ) ,
64
64
}
65
65
66
- impl ProjectRoot {
67
- pub fn from_manifest_file ( path : PathBuf ) -> Result < ProjectRoot > {
66
+ impl ProjectManifest {
67
+ pub fn from_manifest_file ( path : PathBuf ) -> Result < ProjectManifest > {
68
68
if path. ends_with ( "rust-project.json" ) {
69
- return Ok ( ProjectRoot :: ProjectJson ( path) ) ;
69
+ return Ok ( ProjectManifest :: ProjectJson ( path) ) ;
70
70
}
71
71
if path. ends_with ( "Cargo.toml" ) {
72
- return Ok ( ProjectRoot :: CargoToml ( path) ) ;
72
+ return Ok ( ProjectManifest :: CargoToml ( path) ) ;
73
73
}
74
74
bail ! ( "project root must point to Cargo.toml or rust-project.json: {}" , path. display( ) )
75
75
}
76
76
77
- pub fn discover_single ( path : & Path ) -> Result < ProjectRoot > {
78
- let mut candidates = ProjectRoot :: discover ( path) ?;
77
+ pub fn discover_single ( path : & Path ) -> Result < ProjectManifest > {
78
+ let mut candidates = ProjectManifest :: discover ( path) ?;
79
79
let res = match candidates. pop ( ) {
80
80
None => bail ! ( "no projects" ) ,
81
81
Some ( it) => it,
@@ -87,12 +87,12 @@ impl ProjectRoot {
87
87
Ok ( res)
88
88
}
89
89
90
- pub fn discover ( path : & Path ) -> io:: Result < Vec < ProjectRoot > > {
90
+ pub fn discover ( path : & Path ) -> io:: Result < Vec < ProjectManifest > > {
91
91
if let Some ( project_json) = find_in_parent_dirs ( path, "rust-project.json" ) {
92
- return Ok ( vec ! [ ProjectRoot :: ProjectJson ( project_json) ] ) ;
92
+ return Ok ( vec ! [ ProjectManifest :: ProjectJson ( project_json) ] ) ;
93
93
}
94
94
return find_cargo_toml ( path)
95
- . map ( |paths| paths. into_iter ( ) . map ( ProjectRoot :: CargoToml ) . collect ( ) ) ;
95
+ . map ( |paths| paths. into_iter ( ) . map ( ProjectManifest :: CargoToml ) . collect ( ) ) ;
96
96
97
97
fn find_cargo_toml ( path : & Path ) -> io:: Result < Vec < PathBuf > > {
98
98
match find_in_parent_dirs ( path, "Cargo.toml" ) {
@@ -129,10 +129,10 @@ impl ProjectRoot {
129
129
}
130
130
}
131
131
132
- pub fn discover_all ( paths : & [ impl AsRef < Path > ] ) -> Vec < ProjectRoot > {
132
+ pub fn discover_all ( paths : & [ impl AsRef < Path > ] ) -> Vec < ProjectManifest > {
133
133
let mut res = paths
134
134
. iter ( )
135
- . filter_map ( |it| ProjectRoot :: discover ( it. as_ref ( ) ) . ok ( ) )
135
+ . filter_map ( |it| ProjectManifest :: discover ( it. as_ref ( ) ) . ok ( ) )
136
136
. flatten ( )
137
137
. collect :: < FxHashSet < _ > > ( )
138
138
. into_iter ( )
@@ -144,12 +144,12 @@ impl ProjectRoot {
144
144
145
145
impl ProjectWorkspace {
146
146
pub fn load (
147
- root : ProjectRoot ,
147
+ root : ProjectManifest ,
148
148
cargo_features : & CargoConfig ,
149
149
with_sysroot : bool ,
150
150
) -> Result < ProjectWorkspace > {
151
151
let res = match root {
152
- ProjectRoot :: ProjectJson ( project_json) => {
152
+ ProjectManifest :: ProjectJson ( project_json) => {
153
153
let file = File :: open ( & project_json) . with_context ( || {
154
154
format ! ( "Failed to open json file {}" , project_json. display( ) )
155
155
} ) ?;
@@ -160,7 +160,7 @@ impl ProjectWorkspace {
160
160
} ) ?,
161
161
}
162
162
}
163
- ProjectRoot :: CargoToml ( cargo_toml) => {
163
+ ProjectManifest :: CargoToml ( cargo_toml) => {
164
164
let cargo = CargoWorkspace :: from_cargo_metadata ( & cargo_toml, cargo_features)
165
165
. with_context ( || {
166
166
format ! (
0 commit comments