From f49ed96524960f64b81faf62a72edc163903805f Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Wed, 20 Mar 2019 20:05:33 -0400 Subject: [PATCH 1/3] Propagate 'public' field on dependencies to the index This implements the crates.io side of https://github.com/rust-lang/rust/issues/44663 This is fully backwards-compatible - 'public' will default to 'false' for old versions of Cargo that don't include it in their manifest --- src/git.rs | 1 + src/models/dependency.rs | 1 + src/views/krate_publish.rs | 1 + 3 files changed, 3 insertions(+) diff --git a/src/git.rs b/src/git.rs index 07f454c85a9..6133d5c5c56 100644 --- a/src/git.rs +++ b/src/git.rs @@ -37,6 +37,7 @@ pub struct Dependency { pub kind: Option, #[serde(skip_serializing_if = "Option::is_none")] pub package: Option, + pub public: bool } pub struct Repository { diff --git a/src/models/dependency.rs b/src/models/dependency.rs index 10b43576a54..38efaca14b9 100644 --- a/src/models/dependency.rs +++ b/src/models/dependency.rs @@ -119,6 +119,7 @@ pub fn add_dependencies( target: dep.target.clone(), kind: dep.kind.or(Some(DependencyKind::Normal)), package, + public: dep.public.unwrap_or(false) }, ( version_id.eq(target_version_id), diff --git a/src/views/krate_publish.rs b/src/views/krate_publish.rs index 0fb3c496ce9..427480c2431 100644 --- a/src/views/krate_publish.rs +++ b/src/views/krate_publish.rs @@ -64,6 +64,7 @@ pub struct EncodableCrateDependency { pub kind: Option, pub explicit_name_in_toml: Option, pub registry: Option, + pub public: Option } impl<'de> Deserialize<'de> for EncodableCrateName { From 8e85e0d6cd42d16edf26abf47de8f05e338aa2ec Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Thu, 21 Mar 2019 01:31:50 -0400 Subject: [PATCH 2/3] Fix failing test --- src/tests/builders.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tests/builders.rs b/src/tests/builders.rs index 6dac66c995d..7d2ef6b875e 100644 --- a/src/tests/builders.rs +++ b/src/tests/builders.rs @@ -588,6 +588,7 @@ impl DependencyBuilder { kind: None, explicit_name_in_toml: self.explicit_name_in_toml, registry: self.registry, + public: Some(false) } } } From 903e6be4db063c69a768307ee023a785b49db738 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Thu, 21 Mar 2019 01:57:53 -0400 Subject: [PATCH 3/3] Run 'cargo fmt' --- src/git.rs | 2 +- src/tests/builders.rs | 2 +- src/views/krate_publish.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/git.rs b/src/git.rs index 6133d5c5c56..4a5a6c7f015 100644 --- a/src/git.rs +++ b/src/git.rs @@ -37,7 +37,7 @@ pub struct Dependency { pub kind: Option, #[serde(skip_serializing_if = "Option::is_none")] pub package: Option, - pub public: bool + pub public: bool, } pub struct Repository { diff --git a/src/tests/builders.rs b/src/tests/builders.rs index 7d2ef6b875e..33fa697e636 100644 --- a/src/tests/builders.rs +++ b/src/tests/builders.rs @@ -588,7 +588,7 @@ impl DependencyBuilder { kind: None, explicit_name_in_toml: self.explicit_name_in_toml, registry: self.registry, - public: Some(false) + public: Some(false), } } } diff --git a/src/views/krate_publish.rs b/src/views/krate_publish.rs index 427480c2431..8a44cd53241 100644 --- a/src/views/krate_publish.rs +++ b/src/views/krate_publish.rs @@ -64,7 +64,7 @@ pub struct EncodableCrateDependency { pub kind: Option, pub explicit_name_in_toml: Option, pub registry: Option, - pub public: Option + pub public: Option, } impl<'de> Deserialize<'de> for EncodableCrateName {