Commit graph

715 commits

Author SHA1 Message Date
Alex Crichton 8cce8996be Remove all subcommand executables
This commit removes all distributed executables except for `cargo`. All
builtin subcommands are implemented through library calls, and the fallback
methods are retained to maintain extensability through new subcommands.

Closes #393
2014-08-26 18:25:28 -07:00
Alex Crichton c9e0863137 Revert "Use libgit2 for driving git instead of the CLI"
This reverts commit 3cd82ed7a1.

Conflicts:
	src/cargo/sources/git/utils.rs
2014-08-19 09:10:14 -07:00
bors 9697847935 auto merge of #375 : wycats/cargo/doc-fewer-things, r=alexcrichton 2014-08-19 05:14:53 +00:00
Alex Crichton ea3d601fe1 Register new snapshots 2014-08-16 15:54:07 -07:00
Alex Crichton 230dbf6a59 Use libgit2 for driving git instead of the CLI
In general relying on external programs is dicey and tricky as they're very
different across systems in both how they're used as well as what versions
you'll find. Instead of binding to the least common denominator of CLI, we can
code against an exact version of libgit2.

This introduces a build-time dependency on cmake which libgit2 requires to build
itself, which is unfortunate, but thankfully it's only a build time dep. The
build process for libgit2 also automatically detects as many system libraries as
possible to use (if available), falling back to bundled versions if not
available. I have currently not figured how to control this, so the link-config
package is used to build libgit2 which requires that pkg-config be installed to
build cargo as well.

Closes #138
2014-08-16 15:54:07 -07:00
Tim Carey-Smith d8450848fa Remove docs that shouldn't be built 2014-08-14 14:54:56 -07:00
Erick Tryzelaar 92e40c435b wip: Add cargo-bench, which runs benchmarks at --opt-level=3 2014-08-14 08:14:34 -07:00
Alex Crichton 212e7247e2 Register new snapshots
These snapshots have the lockfile plus the per-target fingerprints. This also
additionally adds a lockfile to the repo for all our deps.
2014-08-03 21:33:46 -07:00
Steve Klabnik 67ac412a62 Fix the build.
After an upstream fix in docopt, cargo now builds on rust HEAD. Also,
move to the semver crate rather than the deprecated built-in one.
2014-08-02 00:16:19 -07:00
Alex Crichton 620b2fe1b5 Implement cargo-update 2014-07-31 15:39:52 -07:00
Tim Carey-Smith e465ace4f1 [WIP] Generate Cargo.lock on successful resolve 2014-07-31 07:09:53 -07:00
Alex Crichton f664874281 Migrate from liburl to rust-url
The standard url library is soon-to-be deprecated, and now that we're
bootstrapping it's trivial to move over to rust-url.

Closes #204
2014-07-30 09:55:48 -07:00
Alex Crichton ba273af564 Move from hammer to docopt for option parsing
The hammer library currently has some shortcomings such as the inability to
document individual options. Additionally our handling with hammer of extra
arguments is dodgy at best currently.

This commit moves the repository to BurntSushi's docopt.rs library which seems
to more feature-complete at this time. Additionally, docopt has the great
benefit of a "document once, use everywhere" documentation strategy.

This migration solves two primary issues:

* Comprehensive and useful CLI documentation
* Gracefully handling flavorful combinations of arguments in odd combinations

Closes #218
2014-07-28 13:37:19 -07:00
Alex Crichton 3f110840b3 Add a cargo-doc command 2014-07-27 19:17:26 -07:00
Alex Crichton 4abf27e7b5 Bootstrap cargo with cargo 2014-07-25 21:20:28 -07:00