Skip to content

Commit

Permalink
build: export repository information
Browse files Browse the repository at this point in the history
The repository string is made available via the `CARGO_PKG_REPOSITORY`
environment variable similar to other metadata.
  • Loading branch information
mathstuf committed Sep 25, 2018
1 parent e6c3a17 commit 07f872a
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/cargo/core/compiler/compilation.rs
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,10 @@ impl<'cfg> Compilation<'cfg> {
"CARGO_PKG_HOMEPAGE",
metadata.homepage.as_ref().unwrap_or(&String::new()),
)
.env(
"CARGO_PKG_REPOSITORY",
metadata.repository.as_ref().unwrap_or(&String::new()),
)
.env("CARGO_PKG_AUTHORS", &pkg.authors().join(":"))
.cwd(pkg.root());
Ok(cmd)
Expand Down
1 change: 1 addition & 0 deletions src/doc/src/reference/environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ let version = env!("CARGO_PKG_VERSION");
* `CARGO_PKG_NAME` - The name of your package.
* `CARGO_PKG_DESCRIPTION` - The description of your package.
* `CARGO_PKG_HOMEPAGE` - The home page of your package.
* `CARGO_PKG_REPOSITORY` - The repository of your package.
* `OUT_DIR` - If the package has a build script, this is set to the folder where the build
script should place its output. See below for more information.

Expand Down
3 changes: 3 additions & 0 deletions tests/testsuite/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1338,6 +1338,7 @@ fn crate_env_vars() {
version = "0.5.1-alpha.1"
description = "This is foo"
homepage = "http://example.com"
repository = "http://example.com/repo.git"
authors = ["[email protected]"]
"#,
).file(
Expand All @@ -1354,6 +1355,7 @@ fn crate_env_vars() {
static CARGO_MANIFEST_DIR: &'static str = env!("CARGO_MANIFEST_DIR");
static PKG_NAME: &'static str = env!("CARGO_PKG_NAME");
static HOMEPAGE: &'static str = env!("CARGO_PKG_HOMEPAGE");
static REPOSITORY: &'static str = env!("CARGO_PKG_REPOSITORY");
static DESCRIPTION: &'static str = env!("CARGO_PKG_DESCRIPTION");
fn main() {
Expand All @@ -1364,6 +1366,7 @@ fn crate_env_vars() {
println!("{}", s);
assert_eq!("foo", PKG_NAME);
assert_eq!("http://example.com", HOMEPAGE);
assert_eq!("http://example.com/repo.git", REPOSITORY);
assert_eq!("This is foo", DESCRIPTION);
let s = format!("{}.{}.{}-{}", VERSION_MAJOR,
VERSION_MINOR, VERSION_PATCH, VERSION_PRE);
Expand Down

0 comments on commit 07f872a

Please sign in to comment.