From 621ca984a9fc7281800cd8928c5ec977c3732cdf Mon Sep 17 00:00:00 2001 From: Eh2406 Date: Sat, 27 Jan 2018 23:26:59 -0500 Subject: [PATCH] Try to add links to the index --- src/controllers/krate/publish.rs | 2 ++ src/git.rs | 2 ++ src/tests/all.rs | 1 + src/tests/krate.rs | 1 + src/views/krate_publish.rs | 2 ++ 5 files changed, 8 insertions(+) diff --git a/src/controllers/krate/publish.rs b/src/controllers/krate/publish.rs index 9acaf6d8a3d..00b3968fb64 100644 --- a/src/controllers/krate/publish.rs +++ b/src/controllers/krate/publish.rs @@ -30,6 +30,7 @@ pub fn publish(req: &mut Request) -> CargoResult { let name = &*new_crate.name; let vers = &*new_crate.vers; + let links = new_crate.links.clone(); let repo = new_crate.repository.as_ref().map(|s| &**s); let features = new_crate .features @@ -147,6 +148,7 @@ pub fn publish(req: &mut Request) -> CargoResult { features: features, deps: git_deps, yanked: Some(false), + links, }; git::add_crate(&**req.app(), &git_crate).chain_error(|| { internal(&format_args!( diff --git a/src/git.rs b/src/git.rs index ce7585bb801..37ada9d918c 100644 --- a/src/git.rs +++ b/src/git.rs @@ -21,6 +21,8 @@ pub struct Crate { pub cksum: String, pub features: HashMap>, pub yanked: Option, + #[serde(default)] + pub links: Option, } #[derive(Serialize, Deserialize, Debug)] diff --git a/src/tests/all.rs b/src/tests/all.rs index 5726df5ba89..227b2dd2a0c 100644 --- a/src/tests/all.rs +++ b/src/tests/all.rs @@ -660,6 +660,7 @@ fn new_req_body( license_file: None, repository: krate.repository, badges: Some(badges), + links: None, }, &[], ) diff --git a/src/tests/krate.rs b/src/tests/krate.rs index 09d13a7389b..7e7d4d59570 100644 --- a/src/tests/krate.rs +++ b/src/tests/krate.rs @@ -81,6 +81,7 @@ fn new_crate(name: &str) -> u::NewCrate { license_file: None, repository: None, badges: None, + links: None, } } diff --git a/src/views/krate_publish.rs b/src/views/krate_publish.rs index 2572385b6fa..1eba88a858e 100644 --- a/src/views/krate_publish.rs +++ b/src/views/krate_publish.rs @@ -31,6 +31,8 @@ pub struct NewCrate { pub license_file: Option, pub repository: Option, pub badges: Option>>, + #[serde(default)] + pub links: Option, } #[derive(PartialEq, Eq, Hash, Serialize, Debug, Deref)]