]> git.proxmox.com Git - cargo.git/log
cargo.git
7 years agoAuto merge of #3667 - jbendig:required_features, r=alexcrichton
bors [Fri, 10 Feb 2017 22:12:37 +0000 (22:12 +0000)]
Auto merge of #3667 - jbendig:required_features, r=alexcrichton

Added required_features for issue #1570.

Based on PR #2056 by @tsurai and PR #2325 by @JanLikar

I tried to fix most everything that was talked about in the previous pull requests. Docs still need to be updated though.

7 years agoAuto merge of #3681 - lukaslueg:master, r=alexcrichton
bors [Fri, 10 Feb 2017 20:20:35 +0000 (20:20 +0000)]
Auto merge of #3681 - lukaslueg:master, r=alexcrichton

Pinpoint hamcrest-dependency in cargotest to 0.1.1

hamcrest 0.1 currently resolves to 0.1.3, which cargotest can't actually build with. Cargo's own dependency on =0.1.1 used to shadow the problem.

7 years agoFixed `cargo install` performing an empty install when all binaries require at least...
James Bendig [Fri, 10 Feb 2017 20:08:23 +0000 (14:08 -0600)]
Fixed `cargo install` performing an empty install when all binaries require at least one feature that's not selected.

7 years agoChanged an .any() call with double negatives into a more readable .all().
James Bendig [Fri, 10 Feb 2017 18:59:39 +0000 (12:59 -0600)]
Changed an .any() call with double negatives into a more readable .all().

7 years agoPinpoint hamcrest-dependency in cargotest to 0.1.1
lukaslueg [Fri, 10 Feb 2017 18:49:58 +0000 (19:49 +0100)]
Pinpoint hamcrest-dependency in cargotest to 0.1.1

hamcrest 0.1 currently resolves to 0.1.3, which cargotest can't actually build with. Cargo's own dependency on =0.1.1 used to shadow the problem.

7 years agoAuto merge of #3671 - z1mvader:master, r=alexcrichton
bors [Thu, 9 Feb 2017 01:22:51 +0000 (01:22 +0000)]
Auto merge of #3671 - z1mvader:master, r=alexcrichton

trying to fix unimplemented flock under linux

It fixes https://github.com/rust-lang/cargo/issues/3666

7 years agoFixed required-features bench tests failing when compiled on stable rust.
James Bendig [Wed, 8 Feb 2017 21:31:55 +0000 (15:31 -0600)]
Fixed required-features bench tests failing when compiled on stable rust.

7 years agoAdded documentation for the target field `required-features`.
James Bendig [Wed, 8 Feb 2017 21:30:24 +0000 (15:30 -0600)]
Added documentation for the target field `required-features`.

7 years agoAuto merge of #3669 - Susurrus:master, r=alexcrichton
bors [Wed, 8 Feb 2017 19:47:28 +0000 (19:47 +0000)]
Auto merge of #3669 - Susurrus:master, r=alexcrichton

Correct capitalization of GitLab

Never realized this is how they spelled it when I added these docs. Equivalent changes are pending for `crates.io` in rust-lang/crates.io#547

7 years agoAuto merge of #3659 - nathanaeljones:master, r=alexcrichton
bors [Wed, 8 Feb 2017 18:20:52 +0000 (18:20 +0000)]
Auto merge of #3659 - nathanaeljones:master, r=alexcrichton

Fix #3658 .cargo/config prevents freshness (sort after HashMap)

The many vectors of BuildOutput are populated from a HashMap in cargo_compile... and later these vectors are hashed.

HashMaps are the bane of Cargo's existence.

But for now, we sort.

7 years agoCorrect capitalization of GitLab
Bryant Mairs [Wed, 8 Feb 2017 06:50:50 +0000 (22:50 -0800)]
Correct capitalization of GitLab

7 years agoFix #3659 differently; sort HashMap keys before iteration.
Nathanael Jones [Wed, 8 Feb 2017 02:12:48 +0000 (19:12 -0700)]
Fix #3659 differently; sort HashMap keys before iteration.

Reverts 7a8b25a (and the need for it)

7 years agoAdd test fresh_builds_possible_with_link_libs
Nathanael Jones [Wed, 8 Feb 2017 02:05:10 +0000 (19:05 -0700)]
Add test fresh_builds_possible_with_link_libs

7 years agoAuto merge of #3583 - alexcrichton:fix-tags, r=brson
bors [Wed, 8 Feb 2017 01:03:17 +0000 (01:03 +0000)]
Auto merge of #3583 - alexcrichton:fix-tags, r=brson

Handle `rev` being a `tag`

Previously if a rev was specified as a tag then we'd trip an assertion because
resetting to that tag would reset to the tag that the commit pointed to, which
would then cause the head id of the repo to be different than what we thought it
was.

Instead, we handle the case where a `rev` specification is a tag explicitly by
using the tag's target id as the revision that we're going to check out, not the
id of the tag itself.

Closes #3580

7 years agoAdded required_features for issue #1570.
James Bendig [Wed, 8 Feb 2017 00:20:21 +0000 (18:20 -0600)]
Added required_features for issue #1570.

Based on PR #2056 by @tsurai and PR #2325 by @JanLikar

7 years agotrying to fix unimplemented flock under linux
z1mvader [Tue, 7 Feb 2017 22:55:46 +0000 (17:55 -0500)]
trying to fix unimplemented flock under linux

7 years agoAuto merge of #3651 - pkgw:pr-issue-3366, r=alexcrichton
bors [Tue, 7 Feb 2017 22:02:51 +0000 (22:02 +0000)]
Auto merge of #3651 - pkgw:pr-issue-3366, r=alexcrichton

Attempt to solve #3366, regarding spurious shared library search paths.

This drops `native_dirs` entries that are not within the target output when modifying the (DY)LD_LIBRARY_PATH environment variable before running programs.

CC #3366

7 years agoAttempt to fix the run_with_library_paths test for Windows.
Peter Williams [Tue, 7 Feb 2017 20:55:36 +0000 (15:55 -0500)]
Attempt to fix the run_with_library_paths test for Windows.

I was just pasting the build directories into Rust string literals, so Windows
paths with backslashes were being interpreted as having unknown string
escapes. Raw string guards should fix this for all but the most pathological
of build directories.

7 years agoAuto merge of #3664 - pwoolcoc:issue-3391, r=alexcrichton
bors [Tue, 7 Feb 2017 20:08:02 +0000 (20:08 +0000)]
Auto merge of #3664 - pwoolcoc:issue-3391, r=alexcrichton

Assume that a `build.rs` file is a build script

If cargo sees a `build.rs` file in the same directory as the current
`Cargo.toml`, it will assume that the `build.rs` file is a build script,
unless there is `build = false` in the  `Cargo.toml` file.

Closes #3391

7 years agoAuto merge of #3663 - alexcrichton:update, r=alexcrichton
bors [Tue, 7 Feb 2017 17:44:49 +0000 (17:44 +0000)]
Auto merge of #3663 - alexcrichton:update, r=alexcrichton

Update dependencies

Another major version of Cargo, another suite of updated dependencies!

7 years agoUpdate dependencies
Alex Crichton [Tue, 7 Feb 2017 17:39:09 +0000 (09:39 -0800)]
Update dependencies

Another major version of Cargo, another suite of updated dependencies!

7 years agoAssume that a `build.rs` file is a build script
Paul Woolcock [Tue, 7 Feb 2017 17:41:36 +0000 (12:41 -0500)]
Assume that a `build.rs` file is a build script

If cargo sees a `build.rs` file in the same directory as the current
`Cargo.toml`, it will assume that the `build.rs` file is a build script,
_unless there is_ `build = false` _in the _ `Cargo.toml` _file_.

Closes #3391

7 years agoAdjust test overrides_and_links.
Nathanael Jones [Tue, 7 Feb 2017 09:34:04 +0000 (02:34 -0700)]
Adjust test overrides_and_links.

While order between rust-c-link-lib and rustc-flags was always undefined
(for TOML configuration), order of link paths/libs within a single
rustc-flags value was maintained. Now we sort them all.

7 years agostyle: reduce line length
Nathanael Jones [Tue, 7 Feb 2017 08:47:12 +0000 (01:47 -0700)]
style: reduce line length

7 years agoUpdate the 'run_with_library_paths' test to reflect the new filtering.
Peter Williams [Tue, 7 Feb 2017 05:13:37 +0000 (00:13 -0500)]
Update the 'run_with_library_paths' test to reflect the new filtering.

For the library paths to be passed through, they must reside within the build
output directory.

7 years agoMake fresh_builds_possible_with_multiple_metadata_overrides faster
Nathanael Jones [Tue, 7 Feb 2017 00:22:36 +0000 (17:22 -0700)]
Make fresh_builds_possible_with_multiple_metadata_overrides faster

7 years agoFix #3658 .cargo/config prevents freshness (sort if sourced from HashMap)
Nathanael Jones [Tue, 7 Feb 2017 00:16:33 +0000 (17:16 -0700)]
Fix #3658 .cargo/config prevents freshness (sort if sourced from HashMap)

7 years agoRename test to fresh_builds_possible_with_multiple_metadata_overrides
Nathanael Jones [Tue, 7 Feb 2017 00:13:03 +0000 (17:13 -0700)]
Rename test to fresh_builds_possible_with_multiple_metadata_overrides

7 years agoAdd (non-deterministically) failing test for #3658
Nathanael Jones [Mon, 6 Feb 2017 23:11:46 +0000 (16:11 -0700)]
Add (non-deterministically) failing test for #3658

7 years agoAuto merge of #3644 - Keruspe:master, r=alexcrichton
bors [Mon, 6 Feb 2017 18:45:36 +0000 (18:45 +0000)]
Auto merge of #3644 - Keruspe:master, r=alexcrichton

ensure libressl compatibility

It looks like master still isn't compatible with libressl.

With this patch it builds and runs fine and all tests pass here.

7 years agotests: fix git User-Agent for Windows
Marc-Antoine Perennou [Mon, 6 Feb 2017 16:58:04 +0000 (17:58 +0100)]
tests: fix git User-Agent for Windows

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
7 years agoAuto merge of #3655 - king6cong:rustfmt, r=alexcrichton
bors [Mon, 6 Feb 2017 16:48:06 +0000 (16:48 +0000)]
Auto merge of #3655 - king6cong:rustfmt, r=alexcrichton

rustfmt for bin/cargo.rs

None

7 years agorustfmt for bin/cargo.rs
king6cong [Mon, 6 Feb 2017 07:02:32 +0000 (15:02 +0800)]
rustfmt for bin/cargo.rs

7 years agoAuto merge of #3632 - Susurrus:master, r=alexcrichton
bors [Sun, 5 Feb 2017 22:29:03 +0000 (22:29 +0000)]
Auto merge of #3632 - Susurrus:master, r=alexcrichton

Document build badge for Gitlab CI

This doesn't make sense to merge until rust-lang/crates.io#539 is merged, but I figured I'd get it all spooled up since that PR is already ready for merging.

7 years agoAttempt to solve #3366, regarding spurious shared library search paths.
Peter Williams [Sun, 5 Feb 2017 21:15:24 +0000 (16:15 -0500)]
Attempt to solve #3366, regarding spurious shared library search paths.

This drops `native_dirs` entries that are not within the target directory when
modifying the (DY)LD_LIBRARY_PATH environment variable before running
programs.

7 years agoAuto merge of #3650 - bluetech:profile-doc-fix, r=alexcrichton
bors [Sun, 5 Feb 2017 21:06:08 +0000 (21:06 +0000)]
Auto merge of #3650 - bluetech:profile-doc-fix, r=alexcrichton

Fix the documentation for the PROFILE envvar passed to build scripts

Closes #2084 (+ a typo fix).

7 years agoFix the documentation for the PROFILE envvar passed to build scripts
Ran Benita [Sun, 5 Feb 2017 18:53:11 +0000 (20:53 +0200)]
Fix the documentation for the PROFILE envvar passed to build scripts

Closes #2084.

7 years agoFix typo
Ran Benita [Sun, 5 Feb 2017 18:52:45 +0000 (20:52 +0200)]
Fix typo

7 years agoAuto merge of #3648 - cuviper:powerpc64-gcc4, r=alexcrichton
bors [Sat, 4 Feb 2017 19:28:44 +0000 (19:28 +0000)]
Auto merge of #3648 - cuviper:powerpc64-gcc4, r=alexcrichton

Update OPENSSL_CC_powerpc64-unknown-linux-gnu

With the new `rust-slave-linux-cross:2017-02-02`, powerpc64 no longer
uses gcc-5.  I updated the `Dockerfile` at the time to reflect this, but
missed `OPENSSL_CC_powerpc64-unknown-linux-gnu` in `Makefile.in`.

7 years agoUpdate OPENSSL_CC_powerpc64-unknown-linux-gnu
Josh Stone [Sat, 4 Feb 2017 01:59:30 +0000 (17:59 -0800)]
Update OPENSSL_CC_powerpc64-unknown-linux-gnu

With the new `rust-slave-linux-cross:2017-02-02`, powerpc64 no longer
uses gcc-5.  I updated the `Dockerfile` at the time to reflect this, but
missed `OPENSSL_CC_powerpc64-unknown-linux-gnu` in `Makefile.in`.

7 years agoAuto merge of #3647 - alexcrichton:dox, r=alexcrichton
bors [Fri, 3 Feb 2017 22:15:29 +0000 (22:15 +0000)]
Auto merge of #3647 - alexcrichton:dox, r=alexcrichton

Update API doc URL for Cargo

Closes #3640

7 years agoUpdate API doc URL for Cargo
Alex Crichton [Fri, 3 Feb 2017 22:14:36 +0000 (14:14 -0800)]
Update API doc URL for Cargo

Closes #3640

7 years agoensure libressl compatibility
Marc-Antoine Perennou [Fri, 3 Feb 2017 15:38:13 +0000 (16:38 +0100)]
ensure libressl compatibility

Update libgit2-sys, openssl-sys and openssl
as the versions currently in Cargo.lock are
not compatible with libressl.
Also update tests accordingly

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
7 years agoAuto merge of #3639 - GuillaumeGomez:fix-doc-tests, r=alexcrichton
bors [Fri, 3 Feb 2017 11:05:18 +0000 (11:05 +0000)]
Auto merge of #3639 - GuillaumeGomez:fix-doc-tests, r=alexcrichton

Replace remaining _0 doc tests

This time, I `grep`ed all remaining `_0` tests. This update should be the last one.

7 years agoAuto merge of #3637 - cuviper:custom-powerpc-s390x, r=alexcrichton
bors [Fri, 3 Feb 2017 07:41:27 +0000 (07:41 +0000)]
Auto merge of #3637 - cuviper:custom-powerpc-s390x, r=alexcrichton

Update docker/cross for new IBM toolchains

This will start using the toolchains with older glibc ABI for powerpc,
powerpc64, powerpc64le, and s390x, per rust-lang/rust-buildbot#149.

7 years agoAuto merge of #3635 - alexcrichton:bump, r=alexcrichton
bors [Fri, 3 Feb 2017 05:58:33 +0000 (05:58 +0000)]
Auto merge of #3635 - alexcrichton:bump, r=alexcrichton

Bump to 0.18.0

7 years agoAuto merge of #3634 - steveklabnik:bump-semver, r=alexcrichton
bors [Fri, 3 Feb 2017 04:16:05 +0000 (04:16 +0000)]
Auto merge of #3634 - steveklabnik:bump-semver, r=alexcrichton

bump semver version

Thanks to @raphlinus , semver-parser no longer depends on regex. The code is (probably, I haven't technically tested it but it's hard to imagine it's not) faster, smaller, and has zero dependencies, as well as better errors.

This new version of semver only updates the dependencies involved, no interface changes, so it should be a drop-in replacement.

7 years agoAuto merge of #3633 - shiver:3617, r=alexcrichton
bors [Fri, 3 Feb 2017 02:22:31 +0000 (02:22 +0000)]
Auto merge of #3633 - shiver:3617, r=alexcrichton

Add description to metadata output #3617

Just took a quick stab at issue #3617.

Is my interpretation of the requirements correct, and if so, would you prefer new tests or are the current alterations sufficient.

Thanks!

7 years agoAuto merge of #3628 - zackmdavis:the_maelstrom_of_my_purity_born_of_pain, r=alexcrichton
bors [Fri, 3 Feb 2017 00:59:41 +0000 (00:59 +0000)]
Auto merge of #3628 - zackmdavis:the_maelstrom_of_my_purity_born_of_pain, r=alexcrichton

make build tests not depend on minutiae of rustc output

This little patch arises from the maelstrom of my purity born of pain.

It's the pain of seeing rust-lang/rust#38103 in its perfect crystalline beauty waste away on page four of https://github.com/rust-lang/rust/pulls, waiting, ready, itching to land, dying with anticipation to bring the light of clearer lint group error messages to Rust users of all creeds and nations, only for its promise to be cruelly blocked by the fateful, hateful hand of circular dependency. For it is written in src/tools/cargotest/main.rs that the Cargo tests must pass before the PR can receive Appveyor's blessing, but the Cargo tests could not pass (because they depend on fine details of the output that the PR is meant to change), and the Cargo tests could not be changed (because updating the test expectation to match the proposed new compiler output, would fail with the current compiler).

The Gordian knot is cut in the bowels of cargotest's very notion of comparison (of JSON objects) itself, by means of introducing a magic string literal `"{...}"`, which can server as a wildcard for any JSON sub-object.

And so it will be for the children, and the children's children, and unto the 1.17.0 and 1.18.0 releases, that Cargo's build test expectations will faithfully expect the exact JSON output by Cargo itself, but the string literal `"{...}"` shall be a token upon the JSON output by rustc, and when I see `"{...}"`, I will pass over you, and the failure shall not be upon you.

And this day shall be unto you for a memorial.

supersedes #3513

r? @alexcrichton

7 years agoReplace remaining _0 doc tests
Guillaume Gomez [Thu, 2 Feb 2017 23:08:22 +0000 (00:08 +0100)]
Replace remaining _0 doc tests

7 years agoUpdate docker/cross for new IBM toolchains
Josh Stone [Thu, 2 Feb 2017 21:23:44 +0000 (13:23 -0800)]
Update docker/cross for new IBM toolchains

This will start using the toolchains with older glibc ABI for powerpc,
powerpc64, powerpc64le, and s390x, per rust-lang/rust-buildbot#149.

7 years agoBump to 0.18.0
Alex Crichton [Thu, 2 Feb 2017 19:30:37 +0000 (11:30 -0800)]
Bump to 0.18.0

7 years agobump semver version
Steve Klabnik [Thu, 2 Feb 2017 18:52:09 +0000 (13:52 -0500)]
bump semver version

7 years agoFixed failing read-metadata test due to addition of description.
Robert Vally [Thu, 2 Feb 2017 08:22:49 +0000 (16:22 +0800)]
Fixed failing read-metadata test due to addition of description.

7 years agoMetadata response now also contains package description.
Robert Vally [Thu, 2 Feb 2017 07:59:34 +0000 (15:59 +0800)]
Metadata response now also contains package description.

7 years agoAuto merge of #3621 - matklad:fix-job-leakage, r=alexcrichton
bors [Thu, 2 Feb 2017 06:04:56 +0000 (06:04 +0000)]
Auto merge of #3621 - matklad:fix-job-leakage, r=alexcrichton

Don't leak job

This fixes that problem with diverging `handle_error`. Now the return types of all subcommands match, and we can return `CliResult` up to main.

7 years agomake build tests not depend on minutiæ of rustc output
Zack M. Davis [Wed, 1 Feb 2017 04:51:24 +0000 (20:51 -0800)]
make build tests not depend on minutiæ of rustc output

This little patch arises from the maelstrom of my purity born of pain.

It's the pain of seeing rust-lang/rust#38103 in its perfect
crystalline beauty waste away on page four of
https://github.com/rust-lang/rust/pulls, waiting, ready, itching to
land, dying with anticipation to bring the light of clearer lint group
error messages to Rust users of all creeds and nations, only for its
promise to be cruelly blocked by the fateful, hateful hand of circular
dependency. For it is written in src/tools/cargotest/main.rs that the
Cargo tests must pass before the PR can receive Appveyor's blessing,
but the Cargo tests could not pass (because they depend on fine
details of the output that the PR is meant to change), and the Cargo
tests could not be changed (because updating the test expectation to
match the proposed new compiler output, would fail with the current
compiler).

The Gordian knot is cut in the bowels of cargotest's very notion of
comparison (of JSON objects) itself, by means of introducing a magic
string literal `"{...}"`, which can server as a wildcard for any JSON
sub-object.

And so it will be for the children, and the children's children, and
unto the 1.17.0 and 1.18.0 releases, that Cargo's build test
expectations will faithfully expect the exact JSON output by Cargo
itself, but the string literal `"{...}"` shall be a token upon the
JSON output by rustc, and when I see `"{...}"`, I will pass over you,
and the failure shall not be upon you.

And this day shall be unto you for a memorial.

7 years agoAuto merge of #3616 - GuillaumeGomez:new_rustdoc_test, r=alexcrichton
bors [Thu, 2 Feb 2017 04:19:07 +0000 (04:19 +0000)]
Auto merge of #3616 - GuillaumeGomez:new_rustdoc_test, r=alexcrichton

Update to new rustdoc --test output

cc @alexcrichton

7 years agoAuto merge of #3609 - jmatraszek:build_proper_binary, r=alexcrichton
bors [Thu, 2 Feb 2017 02:15:05 +0000 (02:15 +0000)]
Auto merge of #3609 - jmatraszek:build_proper_binary, r=alexcrichton

Fix building multiple binaries that do not have path spacified in Cargo.toml

When multiple binaries are specified in Cargo.toml, the binaries that do not have `path` specified are build from `src/main.rs`. Discovered here: https://github.com/rust-lang-nursery/thanks/pull/40#issuecomment-275493045.

This was caused by setting for a binary a main layout here https://github.com/rust-lang/cargo/blob/master/src/cargo/util/toml.rs#L478, which caused `normalize` to not fallback to default binary path here https://github.com/rust-lang/cargo/blob/master/src/cargo/util/toml.rs#L1149 (as `bin.path` was always `Some("/path/to/main.rs")`.

Added a test and fixed this by not using `layout.main()`, so right now for bins without `path` specified we fallback to default path inferred from bin's name (e.g. `src/bin/foo.rs`), test if the file exists and only if it doesn't -- fallback to `src/main.rs`.

I do not have any knowledge about Cargo's design, so I am not sure if this is the proper place to test for file existence.

7 years agoDocument build badge for Gitlab CI
Bryant Mairs [Wed, 1 Feb 2017 02:31:48 +0000 (18:31 -0800)]
Document build badge for Gitlab CI

7 years agoAuto merge of #3562 - matklad:member-workspace, r=alexcrichton
bors [Thu, 2 Feb 2017 00:09:05 +0000 (00:09 +0000)]
Auto merge of #3562 - matklad:member-workspace, r=alexcrichton

Find workspace via `workspace_root` link in containing member

This PR proposes to change the logic for determining workspace members. Here are the algorithms we used previously for this:

# [RFC](https://github.com/rust-lang/rfcs/blob/master/text/1525-cargo-workspace.md)  flavor

If `[members]` key present, it compliantly defines the set of members. Otherwise, members are all (transitive) path dependencies.

The problem with this approach is that it violates convention over configuration principle: almost always you want a path dependency to be a member, even if there are some explicit members. Listing **all** path deps is just to much work.

# Original implementation

So, the actual algorithm **unconditionally** included path dependencies as memebers.

This is also problematic, because certain workspace configurations become impossible. In particular, you can't have a path dependency which is not a member of the workspace. This issue was reported in #3192.

# Current implementation

Current implementation (was merged couple of days ago) includes path dependency into the workspace only if is inside the workspace directory. This solves the problem in #3192 perfectly. However, some configuration are still impossible: you can't have a non-member path dependency inside a workspace directory. But the thinking is that if you don't want this path-dep to be a member, just don't put it inside the workspace directory.

There is another problem with current imlementation. Suppose you have an explicit member which lives alongside the workspace. Suppose this member has a path-dep which lives inside the member's folder. Under current implementation, this path-dep won't be a member of the workspace. It seems logical that it should be though (but we haven't received any actual bug reports yet)!

# Implementation in this PR

So, with this PR, the logic is as follows: members are explicit members + all path dependencies which reside under any of the explicit members.

7 years agoAuto merge of #3004 - ehiggs:master, r=alexcrichton
bors [Wed, 1 Feb 2017 22:22:19 +0000 (22:22 +0000)]
Auto merge of #3004 - ehiggs:master, r=alexcrichton

Resubmission of templating PR (#1747)

This is a manual rebase of the older #1747 PR which was basically unrebasable due to the time it's been dormant.. This implements templating for Cargo and is basically the work of Greg Chapple (@gchp).

I'd love for this feature to move forward since it's really tedious to create all the directories (e.g. `src/bin`) and copy paste docopt examples which I then edit. Then implement the `main` program to delegate to the subcommands in `src/bin`, etc.

7 years agoAuto merge of #3630 - alexcrichton:empty-version, r=alexcrichton
bors [Wed, 1 Feb 2017 21:03:21 +0000 (21:03 +0000)]
Auto merge of #3630 - alexcrichton:empty-version, r=alexcrichton

Fix empty 'version' file

This teaches the makefiles to construct the version string again so
it can be emitted to the 'version' file for packaging.

Fixes failing nightly builds.

7 years agoFix empty 'version' file
Brian Anderson [Tue, 31 Jan 2017 21:42:24 +0000 (21:42 +0000)]
Fix empty 'version' file

This teaches the makefiles to construct the version string again so
it can be emitted to the 'version' file for packaging.

Fixes failing nightly builds.

7 years agoFix metadata tests
Jakub Matraszek [Tue, 31 Jan 2017 19:01:37 +0000 (20:01 +0100)]
Fix metadata tests

7 years agoIgnore more output
Guillaume Gomez [Mon, 30 Jan 2017 21:36:52 +0000 (22:36 +0100)]
Ignore more output

7 years agoDon't leak job
Aleksey Kladov [Tue, 31 Jan 2017 15:01:35 +0000 (18:01 +0300)]
Don't leak job

7 years agoRemove unused 'file' function.
Ewan Higgs [Mon, 30 Jan 2017 09:38:46 +0000 (10:38 +0100)]
Remove unused 'file' function.

7 years agoUpgrade handlebars to 0.25.
Ewan Higgs [Sat, 28 Jan 2017 20:05:34 +0000 (21:05 +0100)]
Upgrade handlebars to 0.25.

7 years agoCargo templating for `new` and `init`
Ewan Higgs [Tue, 16 Aug 2016 23:58:05 +0000 (01:58 +0200)]
Cargo templating for `new` and `init`

PR #3004 This is a resubmission of the PR #1747 (from scratch) which adds
support for templating in Cargo. The templates are implemented using the
handlebars crate (where the original PR used mustache).

Examples:
cargo new --template https://url/to/template somedir foo
cargo new --template https://url/to/templates --template-subdir somedir foo
cargo new --template ../path/to/template somedir foo

7 years agoAuto merge of #3614 - matklad:simpler-cli-2, r=alexcrichton
bors [Tue, 31 Jan 2017 04:48:02 +0000 (04:48 +0000)]
Auto merge of #3614 - matklad:simpler-cli-2, r=alexcrichton

Remove generic infrastrucure for printing json

Only a couple of command really use this features, so it's clearer just to print json right on the spot rather then return it though the call stack.

`CliResult` is now just a `Result<(), CliError>`.

7 years agoAuto merge of #3618 - sbeckeriv:3473-new-subcommand-doc-update, r=alexcrichton
bors [Tue, 31 Jan 2017 03:20:49 +0000 (03:20 +0000)]
Auto merge of #3618 - sbeckeriv:3473-new-subcommand-doc-update, r=alexcrichton

Update new command help doc

Resolves #3473

Dearest reviewer,

I hope that all is well in rustland. I was reviewing some open issues
and saw this update to the help text for the new command. I have added
the suggested help text from issue #3473. I formated to the message to
match the publish bin's job flag.

Thank you for your time,
Becker

7 years agoAuto merge of #3606 - Susurrus:no_git_deps2, r=alexcrichton
bors [Tue, 31 Jan 2017 01:54:05 +0000 (01:54 +0000)]
Auto merge of #3606 - Susurrus:no_git_deps2, r=alexcrichton

Clarify error for repo-based dependencies when publishing.

Elaborate on the exact error cause and directions on how to resolve it.

7 years agoUpdate new command help doc
Stephen Becker IV [Tue, 31 Jan 2017 00:49:23 +0000 (16:49 -0800)]
Update new command help doc

Resolves #3473

Dearest reviewer,

I hope that all is well in rustland. I was reviewing some open issues
and saw this update to the help text for the new command. I have added
the suggested help text from issue #3473. I formated to the message to
match the publish bin's job flag.

Thank you for your time,
Becker

7 years agoUpdate to new rustdoc --test output
Guillaume Gomez [Mon, 30 Jan 2017 21:33:43 +0000 (22:33 +0100)]
Update to new rustdoc --test output

7 years agoRemove generic infrastrucure for printing json
Aleksey Kladov [Mon, 30 Jan 2017 19:53:05 +0000 (22:53 +0300)]
Remove generic infrastrucure for printing json

 Only a couple of command really use this features, so it's clearer just to print json right on the spot rather then return it though the call stack.

7 years agoClarify error for repo-based dependencies when publishing.
Bryant Mairs [Fri, 27 Jan 2017 17:54:43 +0000 (09:54 -0800)]
Clarify error for repo-based dependencies when publishing.

Specifically add a description of how to resolve the error.

7 years agoAuto merge of #3608 - matklad:simple-cli, r=alexcrichton
bors [Mon, 30 Jan 2017 17:36:44 +0000 (17:36 +0000)]
Auto merge of #3608 - matklad:simple-cli, r=alexcrichton

Simplify cli-handling functions

This simplifies somewhat roundabout `main` in `bin/cargo.rs`.

7 years agoSimplify cli-handling functions
Aleksey Kladov [Sat, 28 Jan 2017 13:55:18 +0000 (16:55 +0300)]
Simplify cli-handling functions

7 years agoFix typo
Jakub Matraszek [Sun, 29 Jan 2017 08:21:33 +0000 (09:21 +0100)]
Fix typo

7 years agoAuto merge of #3604 - froydnj:rich-version-info, r=alexcrichton
bors [Sun, 29 Jan 2017 02:06:47 +0000 (02:06 +0000)]
Auto merge of #3604 - froydnj:rich-version-info, r=alexcrichton

implement `cargo --version --verbose`

As suggested in #3584.  This is a bit underwhelming, and I'm unsure if some of the complexity in froydnj/cargo@775c900 is really warranted, but this series gets the job done.  Sample output when building with `configure` and `make`:

```
froydnj@hawkeye:~/src/cargo.git$ target/x86_64-unknown-linux-gnu/release/cargo --version
cargo-0.17.0-dev (ae4a4d8 2017-01-27)
froydnj@hawkeye:~/src/cargo.git$ target/x86_64-unknown-linux-gnu/release/cargo --version --verbose
cargo-0.17.0-dev (ae4a4d8 2017-01-27)
release: 0.17.0
commit-hash: ae4a4d8fc55bf7eca3d974f953dc61729e4a40db
commit-date: 2017-01-27
```

7 years agoFix building multiple binaries
Jakub Matraszek [Sun, 29 Jan 2017 00:54:56 +0000 (01:54 +0100)]
Fix building multiple binaries

7 years agoAdd test
Jakub Matraszek [Sat, 28 Jan 2017 23:56:30 +0000 (00:56 +0100)]
Add test

7 years agoAuto merge of #3593 - Susurrus:master, r=alexcrichton
bors [Sat, 28 Jan 2017 00:35:00 +0000 (00:35 +0000)]
Auto merge of #3593 - Susurrus:master, r=alexcrichton

Improve error for dependencies that don't have the same source paths

I've added an additional test case which is how my project compiled. Part of the issue was that I didn't know that each dependency needs to use the same path for all build targets. The previous error message was unclear both in what was going on and how to resolve it. The new error message should be more clear.

This is tied to #3592.

7 years agoAuto merge of #3557 - raphlinus:master, r=alexcrichton
bors [Fri, 27 Jan 2017 22:55:06 +0000 (22:55 +0000)]
Auto merge of #3557 - raphlinus:master, r=alexcrichton

Add dep-info generation

Work in progress: add a --dep-info flag to cargo build (and also
rustc) that outputs dependency information in a form compatible with
make and ninja, to a specified file. This will help in integrating
into other build systems.

7 years agoAuto merge of #3590 - dgellow:fix-3536, r=alexcrichton
bors [Fri, 27 Jan 2017 21:35:09 +0000 (21:35 +0000)]
Auto merge of #3590 - dgellow:fix-3536, r=alexcrichton

When an error occured in a JobQueue print it directly

Fix #3536

7 years agodirectly print error only if there is more than one job in the queue
dgellow [Fri, 27 Jan 2017 20:44:48 +0000 (21:44 +0100)]
directly print error only if there is more than one job in the queue

7 years agoAdd simple tests, cleanup
Raph Levien [Fri, 27 Jan 2017 00:01:36 +0000 (16:01 -0800)]
Add simple tests, cleanup

Tests for existence for dep-info output in simple compilation cases.

Deletes the dep-info file if it fails (for example, if it can't find
one of the dep-info inputs).

7 years agomake `cargo --version --verbose` print extra information
Nathan Froyd [Fri, 27 Jan 2017 17:24:56 +0000 (12:24 -0500)]
make `cargo --version --verbose` print extra information

Fixes #3584.

7 years agoremove CFG_RELEASE from the Makefile
Nathan Froyd [Fri, 27 Jan 2017 17:04:06 +0000 (12:04 -0500)]
remove CFG_RELEASE from the Makefile

The previous commit made this unused; much of the logic for assigning to
this variable now lives in Cargo itself.

7 years agoexport rich version information from cargo::version
Nathan Froyd [Fri, 27 Jan 2017 16:39:17 +0000 (11:39 -0500)]
export rich version information from cargo::version

To support `cargo --version --verbose`, ala rustc, we need more
information to be injected into cargo when it's built from the Makefile,
and a more explicit data structure to be returned from cargo::version.
We implement fmt::Display for our newly-created structure so clients
don't have to bother with the details of interpreting the structure if
all they want is a string.

7 years agoAuto merge of #3603 - ehuss:patch-1, r=alexcrichton
bors [Fri, 27 Jan 2017 17:05:05 +0000 (17:05 +0000)]
Auto merge of #3603 - ehuss:patch-1, r=alexcrichton

Fix broken code block

It seems like the Markdown parser requires a blank line before a code block (otherwise it treats it like an inline span).

7 years agoFix broken code block
ehuss [Fri, 27 Jan 2017 16:59:48 +0000 (08:59 -0800)]
Fix broken code block

It seems like the Markdown parser requires a blank line before a code block (otherwise it treats it like an inline span).

7 years agoAuto merge of #3600 - onur:fix-link, r=alexcrichton
bors [Fri, 27 Jan 2017 05:50:12 +0000 (05:50 +0000)]
Auto merge of #3600 - onur:fix-link, r=alexcrichton

Fix crates.io link under specifying dependencies

I just realized when I was replying to #2947, second crates.io link under "Specifying path dependencies" is not working.

And TBH the phrase in parentheses is unclear for me.

cc @carols10cents

7 years agoAuto merge of #3598 - pornel:proxyconf, r=alexcrichton
bors [Fri, 27 Jan 2017 03:56:09 +0000 (03:56 +0000)]
Auto merge of #3598 - pornel:proxyconf, r=alexcrichton

Example proxy config

#3596

7 years agoAuto merge of #3601 - alexcrichton:bump-openssl, r=brson
bors [Fri, 27 Jan 2017 01:42:39 +0000 (01:42 +0000)]
Auto merge of #3601 - alexcrichton:bump-openssl, r=brson

Update OpenSSL to 1.0.2k

Updates in accordance with the security advisory issued today.

7 years agoUpdate OpenSSL to 1.0.2k
Alex Crichton [Fri, 27 Jan 2017 00:07:14 +0000 (16:07 -0800)]
Update OpenSSL to 1.0.2k

Updates in accordance with the security advisory issued today.

7 years agoFix crates.io link under specifying dependencies
Onur Aslan [Thu, 26 Jan 2017 23:35:50 +0000 (01:35 +0200)]
Fix crates.io link under specifying dependencies

7 years agoExample proxy config
Kornel Lesiński [Thu, 26 Jan 2017 23:28:56 +0000 (23:28 +0000)]
Example proxy config

#3596

7 years agoAuto merge of #3597 - Susurrus:badge_docs, r=alexcrichton
bors [Thu, 26 Jan 2017 22:27:33 +0000 (22:27 +0000)]
Auto merge of #3597 - Susurrus:badge_docs, r=alexcrichton

Add gitlab to the supported services for AppVeyor badges.

This is undocumented but supported behavior for AppVeyor. I have already done this with a crate I own and the badge works on both the AppVeyor and crates.io end.