Alex Crichton [Mon, 23 Jun 2014 16:44:00 +0000 (09:44 -0700)]
Fix a red test
Yehuda Katz [Sun, 22 Jun 2014 06:51:55 +0000 (23:51 -0700)]
Simplify flags
Yehuda Katz [Sun, 22 Jun 2014 06:16:12 +0000 (23:16 -0700)]
Improve error messages
Yehuda Katz [Sun, 22 Jun 2014 06:02:38 +0000 (23:02 -0700)]
More shell refactoring
Yehuda Katz [Sun, 22 Jun 2014 05:22:56 +0000 (22:22 -0700)]
Thread the shell through more of the system
Yehuda Katz [Sun, 22 Jun 2014 01:53:07 +0000 (18:53 -0700)]
Terminal colors
Yehuda Katz [Sat, 21 Jun 2014 23:15:31 +0000 (16:15 -0700)]
Adds initial usage support
Yehuda Katz [Sat, 21 Jun 2014 06:26:19 +0000 (23:26 -0700)]
Improve error messages
Yehuda Katz [Sat, 21 Jun 2014 02:18:06 +0000 (19:18 -0700)]
Make try! an extended version of std::try!
The only caveat to this is that you cannot use try! inside of a function
that return a Result to another function that expects a totally generic
error.
The primary case of this is Encodable/Decodable, which call into
user-specified methods, expecting an `E` back. In these (extremely
unusual) cases, you can use raw_try!.
Of note:
* Once Error lands in core (optimistic much?), Encodable/Decodable can
be changed to expect an E: Error + FromError<E>.
* This works fine with concrete error types, since FromError maps things
like IoError to IoError. The only reason it doesn't work with totally
generic E is that we can't implement FromError<Box<Error>> for
impl Error and FromError<E> for E.
Tim Carey-Smith + Tom Dale [Sat, 21 Jun 2014 00:51:35 +0000 (17:51 -0700)]
Handle some errors better
Also, use cargo_try in more places
Yehuda Katz [Fri, 20 Jun 2014 05:13:29 +0000 (22:13 -0700)]
Merge pull request #25 from alexcrichton/fingerprints
Don't rebuild dependencies if they haven't changed
Alex Crichton [Fri, 20 Jun 2014 01:53:18 +0000 (18:53 -0700)]
Don't rebuild dependencies if they haven't changed
This commit adds support for recognizing "fingerprints" of upstream
dependencies. When a dependency's fingerprint change, it must be rebuilt.
Currently the fingerprint unconditionally includes the version of the compiler
you're using as well as a specialized version depending on the type of source
you're compiling from:
- git sources return their fingerprint as the current SHA. This will
disregard any local changes.
- path sources return their fingerprint as the maximum mtime of any file found
at the location. This is a little too coarse and may rebuild packages too
often (due to sub-packages), but this should get the job done for now.
When executing `cargo compile`, dependencies are not rebuilt if their
fingerprint remained constant.
Yehuda Katz [Fri, 20 Jun 2014 02:49:56 +0000 (19:49 -0700)]
Merge pull request #23 from alexcrichton/crate-types
Invoke rustc only once for multiple crate types
Alex Crichton [Thu, 19 Jun 2014 22:21:00 +0000 (15:21 -0700)]
Invoke rustc only once for multiple crate types
Yehuda Katz [Fri, 20 Jun 2014 01:58:52 +0000 (18:58 -0700)]
Merge pull request #24 from alexcrichton/style
Update to rust style guidelines
Alex Crichton [Thu, 19 Jun 2014 23:45:19 +0000 (16:45 -0700)]
Update to rust style guidelines
* 80 char line limit highly recommended
* /// and //! for doc comments
Alex Crichton [Thu, 19 Jun 2014 22:27:12 +0000 (15:27 -0700)]
Get travis working on OSX
Yehuda Katz [Thu, 19 Jun 2014 21:13:39 +0000 (14:13 -0700)]
Add --verbose cause chain support
Alex Crichton [Thu, 19 Jun 2014 19:00:37 +0000 (12:00 -0700)]
Merge pull request #18 from erickt/master
Fix a typo in the README
Yehuda Katz [Thu, 19 Jun 2014 18:53:49 +0000 (11:53 -0700)]
Merge pull request #22 from alexcrichton/make
Allow executing an arbitrary command before building
Alex Crichton [Thu, 19 Jun 2014 18:40:16 +0000 (11:40 -0700)]
Update hammer.rs
Alex Crichton [Wed, 18 Jun 2014 20:36:49 +0000 (13:36 -0700)]
Add a .travis.yml
Alex Crichton [Wed, 18 Jun 2014 20:18:36 +0000 (13:18 -0700)]
Run tests in parallel
Give each test is own root inside of the shared root to ensure that the tests
are still isolated from one another.
Alex Crichton [Wed, 18 Jun 2014 20:14:56 +0000 (13:14 -0700)]
Make CARGO_BIN_PATH optional for tests
This allows easier use of running tests by hand.
Alex Crichton [Wed, 18 Jun 2014 20:09:19 +0000 (13:09 -0700)]
Allow custom precompile commands
This commit enables support for custom precompilation commands to be triggered
before a package builds via rustc. The current interface is to have
`build = "foo"` in the `[project]` section of Cargo.toml and cargo will just
execute the exact command given.
Alex Crichton [Wed, 18 Jun 2014 19:01:54 +0000 (12:01 -0700)]
Provide more context on process errors
When printing an error for a failed process execution, the stdout/stderr are
included for inspection.
Yehuda Katz [Thu, 19 Jun 2014 18:52:49 +0000 (11:52 -0700)]
Optimized mark_human for ConcreteCargoError
Yehuda Katz [Thu, 19 Jun 2014 18:49:50 +0000 (11:49 -0700)]
Add CargoError::with_cause
This allows concrete implementations with a `cause` field to have a
better implementation than converting the entire original error into a
concrete representation.
Yehuda Katz [Thu, 19 Jun 2014 18:02:24 +0000 (11:02 -0700)]
Add mark_human
Yehuda Katz [Thu, 19 Jun 2014 17:43:46 +0000 (10:43 -0700)]
Rename to
Yehuda Katz [Thu, 19 Jun 2014 17:12:51 +0000 (10:12 -0700)]
Require human-tagging errors
Yehuda Katz [Thu, 19 Jun 2014 16:33:09 +0000 (09:33 -0700)]
Add FromError
Yehuda Katz [Thu, 19 Jun 2014 15:13:58 +0000 (08:13 -0700)]
Add cargo_try!
Yehuda Katz [Thu, 19 Jun 2014 08:21:24 +0000 (01:21 -0700)]
Squelch warnings and minor cleanup
Yehuda Katz [Thu, 19 Jun 2014 07:55:17 +0000 (00:55 -0700)]
Initial pass at boxed errors
The next step is to clean up the error handling in general so that
failure cases produce good errors.
Carl Lerche [Wed, 18 Jun 2014 21:42:07 +0000 (14:42 -0700)]
PathSource - load packages in update fn
Carl Lerche [Wed, 18 Jun 2014 19:33:22 +0000 (12:33 -0700)]
Source::update takes mutable self
Yehuda Katz + Carl Lerche [Wed, 18 Jun 2014 00:40:22 +0000 (17:40 -0700)]
Support nested paths in git and path sources
Yehuda Katz + Carl Lerche [Wed, 18 Jun 2014 00:05:29 +0000 (17:05 -0700)]
Paths nested in paths
Yehuda Katz + Carl Lerche [Tue, 17 Jun 2014 22:36:50 +0000 (15:36 -0700)]
Improvements to transitive dependency infra
Initial work to enable cross-source transitive dependencies.
Yehuda Katz + Carl Lerche [Tue, 17 Jun 2014 01:16:34 +0000 (18:16 -0700)]
WIP3
Yehuda Katz + Carl Lerche [Mon, 16 Jun 2014 21:51:19 +0000 (14:51 -0700)]
Make `cargo foo` work
Carl Lerche [Mon, 16 Jun 2014 19:57:34 +0000 (12:57 -0700)]
Track Rust master
Erick Tryzelaar [Sat, 14 Jun 2014 05:14:55 +0000 (22:14 -0700)]
Fix a typo in the README
Carl Lerche + Yehuda Katz [Fri, 13 Jun 2014 22:06:15 +0000 (15:06 -0700)]
Better file names
Carl Lerche + Yehuda Katz [Fri, 13 Jun 2014 21:19:06 +0000 (14:19 -0700)]
Fix tests
Carl Lerche + Yehuda Katz [Fri, 13 Jun 2014 00:49:10 +0000 (17:49 -0700)]
Allow multiple and non-default crate_types
Note that at present there is no good error handling for fat-fingering
the crate type. This is a TODO.
Carl Lerche + Yehuda Katz [Thu, 12 Jun 2014 22:51:16 +0000 (15:51 -0700)]
Smoke test for git support
Yehuda Katz + Carl Lerche [Thu, 12 Jun 2014 20:45:10 +0000 (13:45 -0700)]
Update to master and fix warnings
Yehuda Katz + Carl Lerche [Thu, 12 Jun 2014 00:38:50 +0000 (17:38 -0700)]
Glue together git in manifest with Source
Yehuda Katz + Carl Lerche [Wed, 11 Jun 2014 22:59:18 +0000 (15:59 -0700)]
Sources are now an array
Yehuda Katz + Carl Lerche [Wed, 11 Jun 2014 21:50:54 +0000 (14:50 -0700)]
Add namespace to PackageId
Yehuda Katz + Carl Lerche [Wed, 11 Jun 2014 00:30:18 +0000 (17:30 -0700)]
Initial pass at namespacing packages
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 23:58:42 +0000 (16:58 -0700)]
Rename NameVer -> PackageId
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 23:29:25 +0000 (16:29 -0700)]
Initial pass at a source collection proxy
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 22:46:07 +0000 (15:46 -0700)]
Isolate toml code and split up concerns
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 21:59:25 +0000 (14:59 -0700)]
Move Manifest parsing into its own module
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 21:29:36 +0000 (14:29 -0700)]
Validate dependency version on parse, not usage
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 19:32:23 +0000 (12:32 -0700)]
Update to Rust master and eliminate warnings
Yehuda Katz + Carl Lerche [Tue, 10 Jun 2014 00:51:53 +0000 (17:51 -0700)]
Add support for detailed manifest dependencies
This commit supports the following format:
```toml
[dependencies.hamcrest]
version = "1.0"
git = "http://github.com/carllerche/hamcrest-rust"
```
Yehuda Katz + Carl Lerche [Mon, 9 Jun 2014 20:08:09 +0000 (13:08 -0700)]
Track master for tests
Yehuda Katz + Carl Lerche [Mon, 9 Jun 2014 19:37:27 +0000 (12:37 -0700)]
Track upstream rust-toml
Yehuda Katz + Carl Lerche [Mon, 9 Jun 2014 19:28:54 +0000 (12:28 -0700)]
Update to master
Carl Lerche [Fri, 30 May 2014 23:37:37 +0000 (16:37 -0700)]
Track Rust master
Yehuda Katz [Fri, 30 May 2014 03:35:09 +0000 (20:35 -0700)]
Break up GitSource
Yehuda Katz [Fri, 30 May 2014 01:11:27 +0000 (18:11 -0700)]
Improve errors slightly
Yehuda Katz [Fri, 30 May 2014 01:02:28 +0000 (18:02 -0700)]
Use GitSource in the stub executable
Yehuda Katz [Fri, 30 May 2014 00:49:53 +0000 (17:49 -0700)]
Update GitSource
Yehuda Katz [Thu, 29 May 2014 22:07:07 +0000 (15:07 -0700)]
Initial GitSource pass
Yehuda Katz [Thu, 29 May 2014 21:31:09 +0000 (14:31 -0700)]
Tests passing again
Yehuda Katz [Thu, 29 May 2014 21:06:43 +0000 (14:06 -0700)]
Up to date with master
Yehuda Katz [Thu, 29 May 2014 20:57:31 +0000 (13:57 -0700)]
Up to date with master
Carl Lerche [Thu, 29 May 2014 00:31:23 +0000 (17:31 -0700)]
Compile all deps into the root projects target dir
Carl Lerche [Wed, 28 May 2014 04:01:43 +0000 (21:01 -0700)]
Explicitly pass root package to ops::package_compile
Yehuda Katz [Wed, 28 May 2014 05:06:38 +0000 (22:06 -0700)]
Remove unnecessary BasicTerminal
Yehuda Katz [Wed, 28 May 2014 01:53:30 +0000 (18:53 -0700)]
Improve shell and add tests
Yehuda Katz [Wed, 28 May 2014 01:33:06 +0000 (18:33 -0700)]
Initial pass at a Shell
Carl Lerche [Wed, 28 May 2014 00:21:28 +0000 (17:21 -0700)]
Extra log output + polish rough edges
Yehuda Katz [Tue, 27 May 2014 23:47:04 +0000 (16:47 -0700)]
Start adding a shell abstraction
Carl Lerche [Tue, 27 May 2014 23:14:34 +0000 (16:14 -0700)]
Track rust master
Carl Lerche [Thu, 22 May 2014 21:50:11 +0000 (14:50 -0700)]
More log output
Yehuda Katz [Mon, 26 May 2014 22:48:11 +0000 (15:48 -0700)]
Git now fetches DBs and clones repos from them
Yehuda Katz [Mon, 26 May 2014 20:54:24 +0000 (13:54 -0700)]
Add support for updating git repos
Yehuda Katz [Mon, 26 May 2014 18:52:33 +0000 (11:52 -0700)]
Up to date with master (StrBuf->String)
Carl Lerche [Thu, 22 May 2014 21:26:36 +0000 (14:26 -0700)]
Re-export op fns in cargo::ops
Carl Lerche [Thu, 22 May 2014 21:03:56 +0000 (14:03 -0700)]
Start adding logging in cargo command
Carl Lerche [Thu, 22 May 2014 20:05:57 +0000 (13:05 -0700)]
Fix Makefile
Yehuda Katz [Thu, 22 May 2014 19:52:49 +0000 (12:52 -0700)]
A few updates to GitSource
Yehuda Katz [Thu, 22 May 2014 00:53:05 +0000 (17:53 -0700)]
Initial work on the git source
Yehuda Katz [Tue, 20 May 2014 06:14:49 +0000 (23:14 -0700)]
Remove traces of ~str
Yehuda Katz [Tue, 20 May 2014 05:40:50 +0000 (22:40 -0700)]
Update to Rust master
Carl Lerche [Tue, 13 May 2014 21:11:00 +0000 (14:11 -0700)]
Rename cargo/mod.rs -> cargo/lib.rs
Carl Lerche [Tue, 13 May 2014 19:52:13 +0000 (12:52 -0700)]
Start integrating VersionReq
Yehuda Katz [Tue, 13 May 2014 00:33:13 +0000 (17:33 -0700)]
Wrote more integration tests for cargo compile
At the moment, the rustc exec for the root project inherits the stdout
and stderr FDs (so that warnings and errors flow through), but
output from dependencies is only emitted if the compilation fails to
avoid warning noise from dependencies.
Carl Lerche [Sat, 10 May 2014 21:16:12 +0000 (14:16 -0700)]
Initial pass at VersionReq
Yehuda Katz [Fri, 9 May 2014 23:57:13 +0000 (16:57 -0700)]
More tests for error cases in compile
Also some refactoring of the error structure. More cleanup work around
human-readable and CLI errors is still required.
Yehuda Katz [Fri, 9 May 2014 22:01:05 +0000 (15:01 -0700)]
Up to master
Carl Lerche [Fri, 9 May 2014 17:29:49 +0000 (10:29 -0700)]
Switch important_paths to using result::CargoResult
Carl Lerche [Fri, 9 May 2014 17:21:36 +0000 (10:21 -0700)]
Mark errors as deprecated
Carl Lerche [Fri, 9 May 2014 17:10:39 +0000 (10:10 -0700)]
Misc cleanup