Auto merge of #13311 - weihanglo:pkgid-json-message, r=epage

fix(json-msg): use pkgid spec in in JSON messages
This commit is contained in:
bors 2024-01-17 17:26:41 +00:00
commit 1ae631085f
20 changed files with 83 additions and 56 deletions

View File

@ -229,7 +229,7 @@ fn emit_build_output(
.collect::<Vec<_>>(); .collect::<Vec<_>>();
let msg = machine_message::BuildScript { let msg = machine_message::BuildScript {
package_id, package_id: package_id.to_spec(),
linked_libs: &output.library_links, linked_libs: &output.library_links,
linked_paths: &library_paths, linked_paths: &library_paths,
cfgs: &output.cfgs, cfgs: &output.cfgs,

View File

@ -578,7 +578,7 @@ fn link_targets(cx: &mut Context<'_, '_>, unit: &Unit, fresh: bool) -> CargoResu
}; };
let msg = machine_message::Artifact { let msg = machine_message::Artifact {
package_id, package_id: package_id.to_spec(),
manifest_path, manifest_path,
target: &target, target: &target,
profile: art_profile, profile: art_profile,
@ -1766,7 +1766,7 @@ fn on_stderr_line_inner(
} }
let msg = machine_message::FromCompiler { let msg = machine_message::FromCompiler {
package_id, package_id: package_id.to_spec(),
manifest_path, manifest_path,
target, target,
message: compiler_message, message: compiler_message,

View File

@ -222,7 +222,7 @@ impl<'cfg> Timings<'cfg> {
.extend(unlocked.iter().cloned().cloned()); .extend(unlocked.iter().cloned().cloned());
if self.report_json { if self.report_json {
let msg = machine_message::TimingInfo { let msg = machine_message::TimingInfo {
package_id: unit_time.unit.pkg.package_id(), package_id: unit_time.unit.pkg.package_id().to_spec(),
target: &unit_time.unit.target, target: &unit_time.unit.target,
mode: unit_time.unit.mode, mode: unit_time.unit.mode,
duration: unit_time.duration, duration: unit_time.duration,

View File

@ -1,10 +1,12 @@
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use cargo_util_schemas::core::PackageIdSpec;
use serde::ser; use serde::ser;
use serde::Serialize; use serde::Serialize;
use serde_json::{self, json, value::RawValue}; use serde_json::{self, json, value::RawValue};
use crate::core::{compiler::CompileMode, PackageId, Target}; use crate::core::compiler::CompileMode;
use crate::core::Target;
pub trait Message: ser::Serialize { pub trait Message: ser::Serialize {
fn reason(&self) -> &str; fn reason(&self) -> &str;
@ -19,7 +21,7 @@ pub trait Message: ser::Serialize {
#[derive(Serialize)] #[derive(Serialize)]
pub struct FromCompiler<'a> { pub struct FromCompiler<'a> {
pub package_id: PackageId, pub package_id: PackageIdSpec,
pub manifest_path: &'a Path, pub manifest_path: &'a Path,
pub target: &'a Target, pub target: &'a Target,
pub message: Box<RawValue>, pub message: Box<RawValue>,
@ -33,7 +35,7 @@ impl<'a> Message for FromCompiler<'a> {
#[derive(Serialize)] #[derive(Serialize)]
pub struct Artifact<'a> { pub struct Artifact<'a> {
pub package_id: PackageId, pub package_id: PackageIdSpec,
pub manifest_path: PathBuf, pub manifest_path: PathBuf,
pub target: &'a Target, pub target: &'a Target,
pub profile: ArtifactProfile, pub profile: ArtifactProfile,
@ -71,7 +73,7 @@ pub enum ArtifactDebuginfo {
#[derive(Serialize)] #[derive(Serialize)]
pub struct BuildScript<'a> { pub struct BuildScript<'a> {
pub package_id: PackageId, pub package_id: PackageIdSpec,
pub linked_libs: &'a [String], pub linked_libs: &'a [String],
pub linked_paths: &'a [String], pub linked_paths: &'a [String],
pub cfgs: &'a [String], pub cfgs: &'a [String],
@ -87,7 +89,7 @@ impl<'a> Message for BuildScript<'a> {
#[derive(Serialize)] #[derive(Serialize)]
pub struct TimingInfo<'a> { pub struct TimingInfo<'a> {
pub package_id: PackageId, pub package_id: PackageIdSpec,
pub target: &'a Target, pub target: &'a Target,
pub mode: CompileMode, pub mode: CompileMode,
pub duration: f64, pub duration: f64,

View File

@ -334,8 +334,6 @@ The JSON output has the following format:
Notes: Notes:
- For `"id"` field syntax, see [Package ID Specifications] in the reference. - For `"id"` field syntax, see [Package ID Specifications] in the reference.
[Package ID Specifications]: ../reference/pkgid-spec.html
## OPTIONS ## OPTIONS
### Output Options ### Output Options
@ -393,6 +391,8 @@ reproduction of the information within `Cargo.toml`.
cargo metadata --format-version=1 cargo metadata --format-version=1
## SEE ALSO ## SEE ALSO
{{man "cargo" 1}}, {{man "cargo-pkgid" 1}}, [Package ID Specifications]
{{man "cargo" 1}}, {{man "cargo-pkgid" 1}}, [Package ID Specifications], [JSON messages]
[Package ID Specifications]: ../reference/pkgid-spec.html [Package ID Specifications]: ../reference/pkgid-spec.html
[JSON messages]: ../reference/external-tools.html#json-messages

View File

@ -21,8 +21,10 @@ fetched.
A package specifier consists of a name, version, and source URL. You are A package specifier consists of a name, version, and source URL. You are
allowed to use partial specifiers to succinctly match a specific package as allowed to use partial specifiers to succinctly match a specific package as
long as it matches only one package. The format of a _spec_ can be one of the long as it matches only one package. This specifier is also used by other parts
following: in Cargo, such as {{man "cargo-metadata" 1}} and [JSON messages] emitted by Cargo.
The format of a _spec_ can be one of the following:
SPEC Structure | Example SPEC SPEC Structure | Example SPEC
---------------------------|-------------- ---------------------------|--------------
@ -88,6 +90,9 @@ Get the package ID for the given package instead of the current package.
cargo pkgid file:///path/to/local/package#foo cargo pkgid file:///path/to/local/package#foo
## SEE ALSO ## SEE ALSO
{{man "cargo" 1}}, {{man "cargo-generate-lockfile" 1}}, {{man "cargo-metadata" 1}}, [Package ID Specifications]
{{man "cargo" 1}}, {{man "cargo-generate-lockfile" 1}}, {{man "cargo-metadata" 1}},
[Package ID Specifications], [JSON messages]
[Package ID Specifications]: ../reference/pkgid-spec.html [Package ID Specifications]: ../reference/pkgid-spec.html
[JSON messages]: ../reference/external-tools.html#json-messages

View File

@ -483,5 +483,7 @@ EXAMPLES
SEE ALSO SEE ALSO
cargo(1), cargo-pkgid(1), Package ID Specifications cargo(1), cargo-pkgid(1), Package ID Specifications
<https://doc.rust-lang.org/cargo/reference/pkgid-spec.html> <https://doc.rust-lang.org/cargo/reference/pkgid-spec.html>, JSON
messages
<https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages>

View File

@ -18,8 +18,12 @@ DESCRIPTION
A package specifier consists of a name, version, and source URL. You are A package specifier consists of a name, version, and source URL. You are
allowed to use partial specifiers to succinctly match a specific package allowed to use partial specifiers to succinctly match a specific package
as long as it matches only one package. The format of a spec can be one as long as it matches only one package. This specifier is also used by
of the following: other parts in Cargo, such as cargo-metadata(1) and JSON messages
<https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages>
emitted by Cargo.
The format of a spec can be one of the following:
+-----------------+--------------------------------------------------+ +-----------------+--------------------------------------------------+
| SPEC Structure | Example SPEC | | SPEC Structure | Example SPEC |
@ -172,5 +176,7 @@ EXAMPLES
SEE ALSO SEE ALSO
cargo(1), cargo-generate-lockfile(1), cargo-metadata(1), Package ID cargo(1), cargo-generate-lockfile(1), cargo-metadata(1), Package ID
Specifications Specifications
<https://doc.rust-lang.org/cargo/reference/pkgid-spec.html> <https://doc.rust-lang.org/cargo/reference/pkgid-spec.html>, JSON
messages
<https://doc.rust-lang.org/cargo/reference/external-tools.html#json-messages>

View File

@ -334,8 +334,6 @@ The JSON output has the following format:
Notes: Notes:
- For `"id"` field syntax, see [Package ID Specifications] in the reference. - For `"id"` field syntax, see [Package ID Specifications] in the reference.
[Package ID Specifications]: ../reference/pkgid-spec.html
## OPTIONS ## OPTIONS
### Output Options ### Output Options
@ -512,6 +510,8 @@ details on environment variables that Cargo reads.
cargo metadata --format-version=1 cargo metadata --format-version=1
## SEE ALSO ## SEE ALSO
[cargo(1)](cargo.html), [cargo-pkgid(1)](cargo-pkgid.html), [Package ID Specifications]
[cargo(1)](cargo.html), [cargo-pkgid(1)](cargo-pkgid.html), [Package ID Specifications], [JSON messages]
[Package ID Specifications]: ../reference/pkgid-spec.html [Package ID Specifications]: ../reference/pkgid-spec.html
[JSON messages]: ../reference/external-tools.html#json-messages

View File

@ -21,8 +21,10 @@ fetched.
A package specifier consists of a name, version, and source URL. You are A package specifier consists of a name, version, and source URL. You are
allowed to use partial specifiers to succinctly match a specific package as allowed to use partial specifiers to succinctly match a specific package as
long as it matches only one package. The format of a _spec_ can be one of the long as it matches only one package. This specifier is also used by other parts
following: in Cargo, such as [cargo-metadata(1)](cargo-metadata.html) and [JSON messages] emitted by Cargo.
The format of a _spec_ can be one of the following:
SPEC Structure | Example SPEC SPEC Structure | Example SPEC
---------------------------|-------------- ---------------------------|--------------
@ -183,6 +185,9 @@ details on environment variables that Cargo reads.
cargo pkgid file:///path/to/local/package#foo cargo pkgid file:///path/to/local/package#foo
## SEE ALSO ## SEE ALSO
[cargo(1)](cargo.html), [cargo-generate-lockfile(1)](cargo-generate-lockfile.html), [cargo-metadata(1)](cargo-metadata.html), [Package ID Specifications]
[cargo(1)](cargo.html), [cargo-generate-lockfile(1)](cargo-generate-lockfile.html), [cargo-metadata(1)](cargo-metadata.html),
[Package ID Specifications], [JSON messages]
[Package ID Specifications]: ../reference/pkgid-spec.html [Package ID Specifications]: ../reference/pkgid-spec.html
[JSON messages]: ../reference/external-tools.html#json-messages

View File

@ -42,6 +42,9 @@ information during the build:
The output goes to stdout in the JSON object per line format. The `reason` field The output goes to stdout in the JSON object per line format. The `reason` field
distinguishes different kinds of messages. distinguishes different kinds of messages.
The `package_id` field is a unique identifier for referring to the package, and
as the `--package` argument to many commands. The syntax grammar can be found in
chapter [Package ID Specifications].
The `--message-format` option can also take additional formatting values which The `--message-format` option can also take additional formatting values which
alter the way the JSON messages are computed and rendered. See the description alter the way the JSON messages are computed and rendered. See the description
@ -53,6 +56,7 @@ messages.
[build command documentation]: ../commands/cargo-build.md [build command documentation]: ../commands/cargo-build.md
[cargo_metadata]: https://crates.io/crates/cargo_metadata [cargo_metadata]: https://crates.io/crates/cargo_metadata
[Package ID Specifications]: ./pkgid-spec.md
### Compiler messages ### Compiler messages
@ -66,7 +70,7 @@ structure:
/* The "reason" indicates the kind of message. */ /* The "reason" indicates the kind of message. */
"reason": "compiler-message", "reason": "compiler-message",
/* The Package ID, a unique identifier for referring to the package. */ /* The Package ID, a unique identifier for referring to the package. */
"package_id": "my-package 0.1.0 (path+file:///path/to/my-package)", "package_id": "file:///path/to/my-package#0.1.0",
/* Absolute path to the package manifest. */ /* Absolute path to the package manifest. */
"manifest_path": "/path/to/my-package/Cargo.toml", "manifest_path": "/path/to/my-package/Cargo.toml",
/* The Cargo target (lib, bin, example, etc.) that generated the message. */ /* The Cargo target (lib, bin, example, etc.) that generated the message. */
@ -135,7 +139,7 @@ following structure:
/* The "reason" indicates the kind of message. */ /* The "reason" indicates the kind of message. */
"reason": "compiler-artifact", "reason": "compiler-artifact",
/* The Package ID, a unique identifier for referring to the package. */ /* The Package ID, a unique identifier for referring to the package. */
"package_id": "my-package 0.1.0 (path+file:///path/to/my-package)", "package_id": "file:///path/to/my-package#0.1.0",
/* Absolute path to the package manifest. */ /* Absolute path to the package manifest. */
"manifest_path": "/path/to/my-package/Cargo.toml", "manifest_path": "/path/to/my-package/Cargo.toml",
/* The Cargo target (lib, bin, example, etc.) that generated the artifacts. /* The Cargo target (lib, bin, example, etc.) that generated the artifacts.
@ -204,7 +208,7 @@ may be found in [the chapter on build scripts](build-scripts.md).
/* The "reason" indicates the kind of message. */ /* The "reason" indicates the kind of message. */
"reason": "build-script-executed", "reason": "build-script-executed",
/* The Package ID, a unique identifier for referring to the package. */ /* The Package ID, a unique identifier for referring to the package. */
"package_id": "my-package 0.1.0 (path+file:///path/to/my-package)", "package_id": "file:///path/to/my-package#0.1.0",
/* Array of libraries to link, as indicated by the `cargo::rustc-link-lib` /* Array of libraries to link, as indicated by the `cargo::rustc-link-lib`
instruction. Note that this may include a "KIND=" prefix in the string instruction. Note that this may include a "KIND=" prefix in the string
where KIND is the library kind. where KIND is the library kind.

View File

@ -55,8 +55,8 @@ The JSON output has the following format:
"name": "my\-package", "name": "my\-package",
/* The version of the package. */ /* The version of the package. */
"version": "0.1.0", "version": "0.1.0",
/* The Package ID, an opaque and unique identifier for referring to the /* The Package ID for referring to the
package. See "Compatibility" above for the stability guarantee. package within the document and as the `\-\-package` argument to many commands
*/ */
"id": "file:///path/to/my\-package#0.1.0", "id": "file:///path/to/my\-package#0.1.0",
/* The license value from the manifest, or null. */ /* The license value from the manifest, or null. */
@ -529,4 +529,4 @@ cargo metadata \-\-format\-version=1
.RE .RE
.RE .RE
.SH "SEE ALSO" .SH "SEE ALSO"
\fBcargo\fR(1), \fBcargo\-pkgid\fR(1), \fIPackage ID Specifications\fR <https://doc.rust\-lang.org/cargo/reference/pkgid\-spec.html> \fBcargo\fR(1), \fBcargo\-pkgid\fR(1), \fIPackage ID Specifications\fR <https://doc.rust\-lang.org/cargo/reference/pkgid\-spec.html>, \fIJSON messages\fR <https://doc.rust\-lang.org/cargo/reference/external\-tools.html#json\-messages>

View File

@ -19,8 +19,10 @@ fetched.
.sp .sp
A package specifier consists of a name, version, and source URL. You are A package specifier consists of a name, version, and source URL. You are
allowed to use partial specifiers to succinctly match a specific package as allowed to use partial specifiers to succinctly match a specific package as
long as it matches only one package. The format of a \fIspec\fR can be one of the long as it matches only one package. This specifier is also used by other parts
following: in Cargo, such as \fBcargo\-metadata\fR(1) and \fIJSON messages\fR <https://doc.rust\-lang.org/cargo/reference/external\-tools.html#json\-messages> emitted by Cargo.
.sp
The format of a \fIspec\fR can be one of the following:
.TS .TS
allbox tab(:); allbox tab(:);
@ -242,4 +244,5 @@ cargo pkgid file:///path/to/local/package#foo
.RE .RE
.RE .RE
.SH "SEE ALSO" .SH "SEE ALSO"
\fBcargo\fR(1), \fBcargo\-generate\-lockfile\fR(1), \fBcargo\-metadata\fR(1), \fIPackage ID Specifications\fR <https://doc.rust\-lang.org/cargo/reference/pkgid\-spec.html> \fBcargo\fR(1), \fBcargo\-generate\-lockfile\fR(1), \fBcargo\-metadata\fR(1),
\fIPackage ID Specifications\fR <https://doc.rust\-lang.org/cargo/reference/pkgid\-spec.html>, \fIJSON messages\fR <https://doc.rust\-lang.org/cargo/reference/external\-tools.html#json\-messages>

View File

@ -1649,7 +1649,7 @@ fn json_artifact_includes_executable_for_benchmark() {
"features": [], "features": [],
"filenames": "{...}", "filenames": "{...}",
"fresh": false, "fresh": false,
"package_id": "foo 0.0.1 ([..])", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"profile": "{...}", "profile": "{...}",
"reason": "compiler-artifact", "reason": "compiler-artifact",

View File

@ -280,7 +280,7 @@ fn check_msg_format_json() {
let output = r#" let output = r#"
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[CWD]/Cargo.toml", "manifest_path": "[CWD]/Cargo.toml",
"target": "{...}", "target": "{...}",
"profile": "{...}", "profile": "{...}",

View File

@ -4160,7 +4160,7 @@ fn compiler_json_error_format() {
r#" r#"
{ {
"reason":"compiler-artifact", "reason":"compiler-artifact",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["custom-build"], "kind":["custom-build"],
@ -4187,7 +4187,7 @@ fn compiler_json_error_format() {
{ {
"reason":"compiler-message", "reason":"compiler-message",
"package_id":"bar 0.5.0 ([..])", "package_id":"path+file:///[..]/bar#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["lib"], "kind":["lib"],
@ -4213,7 +4213,7 @@ fn compiler_json_error_format() {
}, },
"executable": null, "executable": null,
"features": [], "features": [],
"package_id":"bar 0.5.0 ([..])", "package_id":"path+file:///[..]/bar#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["lib"], "kind":["lib"],
@ -4234,7 +4234,7 @@ fn compiler_json_error_format() {
{ {
"reason":"build-script-executed", "reason":"build-script-executed",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"linked_libs":[], "linked_libs":[],
"linked_paths":[], "linked_paths":[],
"env":[], "env":[],
@ -4244,7 +4244,7 @@ fn compiler_json_error_format() {
{ {
"reason":"compiler-message", "reason":"compiler-message",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["bin"], "kind":["bin"],
@ -4261,7 +4261,7 @@ fn compiler_json_error_format() {
{ {
"reason":"compiler-artifact", "reason":"compiler-artifact",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["bin"], "kind":["bin"],
@ -4332,7 +4332,7 @@ fn message_format_json_forward_stderr() {
r#" r#"
{ {
"reason":"compiler-message", "reason":"compiler-message",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["bin"], "kind":["bin"],
@ -4349,7 +4349,7 @@ fn message_format_json_forward_stderr() {
{ {
"reason":"compiler-artifact", "reason":"compiler-artifact",
"package_id":"foo 0.5.0 ([..])", "package_id":"path+file:///[..]/foo#0.5.0",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["bin"], "kind":["bin"],

View File

@ -1706,7 +1706,7 @@ fn doc_message_format() {
"rendered": "{...}", "rendered": "{...}",
"spans": "{...}" "spans": "{...}"
}, },
"package_id": "foo [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"reason": "compiler-message", "reason": "compiler-message",
"target": "{...}" "target": "{...}"
@ -1729,7 +1729,7 @@ fn doc_json_artifacts() {
r#" r#"
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[ROOT]/foo/Cargo.toml", "manifest_path": "[ROOT]/foo/Cargo.toml",
"target": "target":
{ {
@ -1751,7 +1751,7 @@ fn doc_json_artifacts() {
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[ROOT]/foo/Cargo.toml", "manifest_path": "[ROOT]/foo/Cargo.toml",
"target": "target":
{ {
@ -1773,7 +1773,7 @@ fn doc_json_artifacts() {
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[ROOT]/foo/Cargo.toml", "manifest_path": "[ROOT]/foo/Cargo.toml",
"target": "target":
{ {

View File

@ -128,7 +128,7 @@ fn simple_with_message_format() {
r#" r#"
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 ([..])", "package_id": "registry+https://[..]#foo@0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"target": { "target": {
"kind": [ "kind": [
@ -153,7 +153,7 @@ fn simple_with_message_format() {
{ {
"reason": "compiler-artifact", "reason": "compiler-artifact",
"package_id": "foo 0.0.1 ([..])", "package_id": "registry+https://[..]#foo@0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"target": { "target": {
"kind": [ "kind": [

View File

@ -694,7 +694,7 @@ fn metabuild_json_artifact() {
"features": [], "features": [],
"filenames": "{...}", "filenames": "{...}",
"fresh": false, "fresh": false,
"package_id": "foo [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"profile": "{...}", "profile": "{...}",
"reason": "compiler-artifact", "reason": "compiler-artifact",
@ -719,7 +719,7 @@ fn metabuild_json_artifact() {
"env": [], "env": [],
"linked_libs": [], "linked_libs": [],
"linked_paths": [], "linked_paths": [],
"package_id": "foo [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"out_dir": "[..]", "out_dir": "[..]",
"reason": "build-script-executed" "reason": "build-script-executed"
} }
@ -748,7 +748,7 @@ fn metabuild_failed_build_json() {
"rendered": "{...}", "rendered": "{...}",
"spans": "{...}" "spans": "{...}"
}, },
"package_id": "foo [..]", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"reason": "compiler-message", "reason": "compiler-message",
"target": { "target": {

View File

@ -3925,7 +3925,7 @@ fn json_artifact_includes_test_flag() {
}, },
"executable": "[..]/foo-[..]", "executable": "[..]/foo-[..]",
"features": [], "features": [],
"package_id":"foo 0.0.1 ([..])", "package_id":"path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"target":{ "target":{
"kind":["lib"], "kind":["lib"],
@ -3962,7 +3962,7 @@ fn json_artifact_includes_executable_for_library_tests() {
"features": [], "features": [],
"filenames": "{...}", "filenames": "{...}",
"fresh": false, "fresh": false,
"package_id": "foo 0.0.1 ([..])", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"profile": "{...}", "profile": "{...}",
"reason": "compiler-artifact", "reason": "compiler-artifact",
@ -4001,7 +4001,7 @@ fn json_artifact_includes_executable_for_integration_tests() {
"features": [], "features": [],
"filenames": "{...}", "filenames": "{...}",
"fresh": false, "fresh": false,
"package_id": "foo 0.0.1 ([..])", "package_id": "path+file:///[..]/foo#0.0.1",
"manifest_path": "[..]", "manifest_path": "[..]",
"profile": "{...}", "profile": "{...}",
"reason": "compiler-artifact", "reason": "compiler-artifact",