Skip to content

Commit a367875

Browse files
committed
Expose the target directory in cargo metadata
Closes #4017
1 parent 80f19a8 commit a367875

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/cargo/ops/cargo_output_metadata.rs

+3
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ fn metadata_no_deps(ws: &Workspace,
3737
packages: ws.members().cloned().collect(),
3838
workspace_members: ws.members().map(|pkg| pkg.package_id().clone()).collect(),
3939
resolve: None,
40+
target_directory: ws.target_dir().display().to_string(),
4041
version: VERSION,
4142
})
4243
}
@@ -63,6 +64,7 @@ fn metadata_full(ws: &Workspace,
6364
resolve: resolve,
6465
root: ws.current_opt().map(|pkg| pkg.package_id().clone()),
6566
}),
67+
target_directory: ws.target_dir().display().to_string(),
6668
version: VERSION,
6769
})
6870
}
@@ -72,6 +74,7 @@ pub struct ExportInfo {
7274
packages: Vec<Package>,
7375
workspace_members: Vec<PackageId>,
7476
resolve: Option<MetadataResolve>,
77+
target_directory: String,
7578
version: u32,
7679
}
7780

tests/metadata.rs

+8
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ fn cargo_metadata_simple() {
4949
],
5050
"root": "foo 0.5.0 (path+file:[..]foo)"
5151
},
52+
"target_directory": "[..]foo[/]target",
5253
"version": 1
5354
}"#));
5455
}
@@ -121,6 +122,7 @@ crate-type = ["lib", "staticlib"]
121122
],
122123
"root": "foo 0.5.0 (path+file:[..]foo)"
123124
},
125+
"target_directory": "[..]foo[/]target",
124126
"version": 1
125127
}"#));
126128
}
@@ -269,6 +271,7 @@ fn cargo_metadata_with_deps_and_version() {
269271
],
270272
"root": "foo 0.5.0 (path+file:[..]foo)"
271273
},
274+
"target_directory": "[..]foo[/]target",
272275
"version": 1
273276
}"#));
274277
}
@@ -329,6 +332,7 @@ name = "ex"
329332
}
330333
]
331334
},
335+
"target_directory": "[..]foo[/]target",
332336
"version": 1
333337
}"#));
334338
}
@@ -390,6 +394,7 @@ crate-type = ["rlib", "dylib"]
390394
}
391395
]
392396
},
397+
"target_directory": "[..]foo[/]target",
393398
"version": 1
394399
}"#));
395400
}
@@ -464,6 +469,7 @@ fn workspace_metadata() {
464469
],
465470
"root": null
466471
},
472+
"target_directory": "[..]foo[/]target",
467473
"version": 1
468474
}"#))
469475
}
@@ -526,6 +532,7 @@ fn workspace_metadata_no_deps() {
526532
],
527533
"workspace_members": ["baz 0.5.0 (path+file:[..]baz)", "bar 0.5.0 (path+file:[..]bar)"],
528534
"resolve": null,
535+
"target_directory": "[..]foo[/]target",
529536
"version": 1
530537
}"#))
531538
}
@@ -566,6 +573,7 @@ const MANIFEST_OUTPUT: &'static str=
566573
}],
567574
"workspace_members": [ "foo 0.5.0 (path+file:[..]foo)" ],
568575
"resolve": null,
576+
"target_directory": "[..]foo[/]target",
569577
"version": 1
570578
}"#;
571579

0 commit comments

Comments
 (0)