@@ -276,26 +276,27 @@ impl flags::Lsif {
276
276
eprintln ! ( "Generating LSIF started..." ) ;
277
277
let now = Instant :: now ( ) ;
278
278
let cargo_config =
279
- CargoConfig { sysroot : Some ( RustLibSource :: Discover ) , ..Default :: default ( ) } ;
279
+ & CargoConfig { sysroot : Some ( RustLibSource :: Discover ) , ..Default :: default ( ) } ;
280
280
let no_progress = & |_| ( ) ;
281
281
let load_cargo_config = LoadCargoConfig {
282
282
load_out_dirs_from_check : true ,
283
283
with_proc_macro_server : ProcMacroServerChoice :: Sysroot ,
284
284
prefill_caches : false ,
285
285
} ;
286
286
let path = AbsPathBuf :: assert_utf8 ( env:: current_dir ( ) ?. join ( self . path ) ) ;
287
- let manifest = ProjectManifest :: discover_single ( & path) ?;
287
+ let root = ProjectManifest :: discover_single ( & path) ?;
288
+ let mut workspace = ProjectWorkspace :: load ( root, cargo_config, no_progress) ?;
288
289
289
- let workspace = ProjectWorkspace :: load ( manifest , & cargo_config, no_progress) ?;
290
- let root = workspace. workspace_root ( ) . to_owned ( ) ;
290
+ let build_scripts = workspace . run_build_scripts ( cargo_config, no_progress) ?;
291
+ workspace. set_build_scripts ( build_scripts ) ;
291
292
292
293
let ( db, vfs, _proc_macro) =
293
294
load_workspace ( workspace, & cargo_config. extra_env , & load_cargo_config) ?;
294
295
let host = AnalysisHost :: with_database ( db) ;
295
296
let db = host. raw_database ( ) ;
296
297
let analysis = host. analysis ( ) ;
297
298
298
- let si = StaticIndex :: compute ( & analysis, & root . into ( ) ) ;
299
+ let si = StaticIndex :: compute ( & analysis, & path . clone ( ) . into ( ) ) ;
299
300
300
301
let mut lsif = LsifManager :: new ( & analysis, db, & vfs) ;
301
302
lsif. add_vertex ( lsif:: Vertex :: MetaData ( lsif:: MetaData {
0 commit comments