@@ -185,32 +185,39 @@ install!((self, builder, _config),
185
185
install_std( builder, self . stage, * target) ;
186
186
}
187
187
} ;
188
- Cargo , "cargo" , _config. extended, only_hosts: true , {
188
+ Cargo , "cargo" , _config. extended &&
189
+ _config. tools. as_ref( ) . map_or( true , |t| t. contains( "cargo" ) ) , only_hosts: true , {
189
190
builder. ensure( dist:: Cargo { stage: self . stage, target: self . target } ) ;
190
191
install_cargo( builder, self . stage, self . target) ;
191
192
} ;
192
- Rls , "rls" , _config. extended, only_hosts: true , {
193
- if builder. ensure( dist:: Rls { stage: self . stage, target: self . target } ) . is_some( ) {
193
+ Rls , "rls" , _config. extended &&
194
+ _config. tools. as_ref( ) . map_or( true , |t| t. contains( "rls" ) ) , only_hosts: true , {
195
+ if builder. ensure( dist:: Rls { stage: self . stage, target: self . target } ) . is_some( ) ||
196
+ builder. config. tools. as_ref( ) . map_or( false , |t| t. contains( "rls" ) ) {
194
197
install_rls( builder, self . stage, self . target) ;
195
198
} else {
196
199
println!( "skipping Install RLS stage{} ({})" , self . stage, self . target) ;
197
200
}
198
201
} ;
199
- Rustfmt , "rustfmt" , _config. extended, only_hosts: true , {
200
- if builder. ensure( dist:: Rustfmt { stage: self . stage, target: self . target } ) . is_some( ) {
202
+ Rustfmt , "rustfmt" , _config. extended &&
203
+ _config. tools. as_ref( ) . map_or( true , |t| t. contains( "rustfmt" ) ) , only_hosts: true , {
204
+ if builder. ensure( dist:: Rustfmt { stage: self . stage, target: self . target } ) . is_some( ) ||
205
+ builder. config. tools. as_ref( ) . map_or( false , |t| t. contains( "rustfmt" ) ) {
201
206
install_rustfmt( builder, self . stage, self . target) ;
202
207
} else {
203
208
println!( "skipping Install Rustfmt stage{} ({})" , self . stage, self . target) ;
204
209
}
205
210
} ;
206
- Analysis , "analysis" , _config. extended, only_hosts: false , {
211
+ Analysis , "analysis" , _config. extended &&
212
+ _config. tools. as_ref( ) . map_or( true , |t| t. contains( "analysis" ) ) , only_hosts: false , {
207
213
builder. ensure( dist:: Analysis {
208
214
compiler: builder. compiler( self . stage, self . host) ,
209
215
target: self . target
210
216
} ) ;
211
217
install_analysis( builder, self . stage, self . target) ;
212
218
} ;
213
- Src , "src" , _config. extended, only_hosts: true , {
219
+ Src , "src" , _config. extended &&
220
+ _config. tools. as_ref( ) . map_or( true , |t| t. contains( "src" ) ) , only_hosts: true , {
214
221
builder. ensure( dist:: Src ) ;
215
222
install_src( builder, self . stage) ;
216
223
} , ONLY_BUILD ;
0 commit comments