Carl Lerche [Tue, 24 Jun 2014 00:03:13 +0000 (17:03 -0700)]
GitSource delegates to PathSource for path ops
Yehuda Katz [Tue, 24 Jun 2014 00:02:22 +0000 (17:02 -0700)]
Fix the README
Yehuda Katz [Mon, 23 Jun 2014 23:57:27 +0000 (16:57 -0700)]
Support [package] or [project]
The plan is to free up [project] for simpler config plus output flags
like -O that don't make sense in packages.
Yehuda Katz [Mon, 23 Jun 2014 23:34:44 +0000 (16:34 -0700)]
Merge pull request #29 from cmr/make-install
Makefile: support install, makes packaging easier
Carl Lerche [Mon, 23 Jun 2014 23:16:22 +0000 (16:16 -0700)]
Specify the SourceId that the path source represents
Corey Richardson [Mon, 23 Jun 2014 22:33:14 +0000 (15:33 -0700)]
Makefile: support install, makes packaging easier
Yehuda Katz [Mon, 23 Jun 2014 21:13:59 +0000 (14:13 -0700)]
Merge pull request #28 from alexcrichton/new-toml
Move from rust-toml to toml-rs
Alex Crichton [Mon, 23 Jun 2014 15:39:50 +0000 (08:39 -0700)]
Move from rust-toml to toml-rs
This commit should greatly improve all error messages related to decoding
Cargo.toml.
Alex Crichton [Mon, 23 Jun 2014 17:30:25 +0000 (10:30 -0700)]
Fix long lines
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