Alex Crichton
d4265ef2a0
Move from rust-toml to toml-rs
...
This commit should greatly improve all error messages related to decoding
Cargo.toml.
2014-06-23 11:38:53 -07:00
Alex Crichton
8901563c0b
Fix a red test
2014-06-23 09:44:00 -07:00
Yehuda Katz
19bea0ad0c
Thread the shell through more of the system
2014-06-21 22:22:56 -07:00
Yehuda Katz
687035657d
Terminal colors
2014-06-21 18:53:07 -07:00
Alex Crichton
e05b4dc838
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.
2014-06-19 21:55:37 -07:00
Alex Crichton
bc1dea82c8
Invoke rustc only once for multiple crate types
2014-06-19 19:44:45 -07:00
Alex Crichton
64ff29ff86
Update to rust style guidelines
...
* 80 char line limit highly recommended
* /// and //! for doc comments
2014-06-19 17:02:21 -07:00
Alex Crichton
a9d8d2c62a
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.
2014-06-19 11:52:51 -07:00
Alex Crichton
fbfa8bdeca
Make CARGO_BIN_PATH optional for tests
...
This allows easier use of running tests by hand.
2014-06-19 11:52:51 -07:00
Alex Crichton
3433a01eba
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.
2014-06-19 11:52:51 -07:00
Yehuda Katz
8c72add4f5
Squelch warnings and minor cleanup
2014-06-19 01:21:24 -07:00
Yehuda Katz
3e09f70259
Initial pass at boxed errors
...
The next step is to clean up the error handling in general so that
failure cases produce good errors.
2014-06-19 00:57:12 -07:00
Yehuda Katz + Carl Lerche
bcf9028749
Support nested paths in git and path sources
2014-06-17 17:40:22 -07:00
Yehuda Katz + Carl Lerche
9224a5ae61
Paths nested in paths
2014-06-17 17:05:29 -07:00
Carl Lerche + Yehuda Katz
512ec4b794
Fix tests
2014-06-13 14:19:06 -07:00
Carl Lerche + Yehuda Katz
35e21c7600
Smoke test for git support
2014-06-12 15:51:16 -07:00
Yehuda Katz + Carl Lerche
51c9cf0f87
Sources are now an array
2014-06-11 15:59:18 -07:00
Yehuda Katz + Carl Lerche
c57fef459a
Add namespace to PackageId
2014-06-11 14:51:13 -07:00
Yehuda Katz + Carl Lerche
1124727c96
Update to Rust master and eliminate warnings
2014-06-10 12:32:23 -07:00
Yehuda Katz + Carl Lerche
92602f6db0
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 "
```
2014-06-09 17:51:53 -07:00
Yehuda Katz + Carl Lerche
9a1c63ea17
Track master for tests
2014-06-09 13:08:09 -07:00
Yehuda Katz
41b6f52681
Tests passing again
2014-05-29 14:31:09 -07:00
Yehuda Katz
e42203f7f6
Up to date with master
2014-05-29 14:06:43 -07:00
Yehuda Katz
edbe491003
Up to date with master
2014-05-29 13:57:31 -07:00
Carl Lerche
a06fd2e7fa
Compile all deps into the root projects target dir
2014-05-28 17:31:23 -07:00
Yehuda Katz
d5a7bc33d2
Improve shell and add tests
2014-05-27 18:53:37 -07:00
Yehuda Katz
574829e9f7
Initial pass at a Shell
2014-05-27 18:53:37 -07:00
Carl Lerche
7e6433feda
Track rust master
2014-05-27 16:14:34 -07:00
Yehuda Katz
21322f07b4
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.
2014-05-12 17:33:13 -07:00
Yehuda Katz
b8621c5042
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.
2014-05-09 16:57:13 -07:00
Yehuda Katz
7983a5fd16
Clean up process DSL in tests
2014-05-08 17:50:58 -07:00
Yehuda Katz
48dc081419
Get nested dependencies working
2014-05-08 16:50:53 -07:00
Yehuda Katz
23d78ddfb0
Support any bytes container
2014-05-08 16:50:52 -07:00
Yehuda Katz
682d4e94c8
Get compile test passing
2014-05-08 13:33:04 -07:00
Carl Lerche
bafa5f2b5a
Track Rust master changes
2014-05-08 13:10:08 -07:00
Carl Lerche
1ce7641593
Core struct refactor
2014-05-05 21:54:49 -07:00
Carl Lerche
8842b02cfd
Cleanup ProcessBuilder, work towards getting tests passing
2014-05-05 16:28:01 -07:00
Yehuda Katz
85e4dccef2
Everything's compiling again
2014-04-29 11:05:01 -07:00
Carl Lerche
f4d6d02135
Beginnings of a dependency resolver
2014-04-11 15:11:10 -07:00
Carl Lerche
db92e67c87
Track rust master
2014-04-09 13:28:10 -07:00
Carl Lerche
79fe64158c
Implement process hamcrest matcher
2014-04-02 16:34:19 -07:00
Carl Lerche
6899567bc3
Update tests against Rust master
2014-04-02 13:22:45 -07:00
Carl Lerche
aec45be721
Cleanup integration test
2014-03-20 15:17:19 -07:00
Carl Lerche
d1ec90b3d8
Initial stab at integration tests
...
At the same time, we started adding a generic error handling concept to
Cargo.
The idea is that every Result gets converted to a CargoError, which
includes all the information that Cargo needs to print out a friendly
human error message and exit gracefully.
2014-03-20 12:12:47 -07:00
Carlhuda
227d4e83ef
Initial commit
2014-03-04 15:22:44 -08:00