summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2017-03-17Make docs required againBrian Anderson-8/+3
2017-03-11Update mdbook to new versionsteveklabnik-1/+1
This brings back playpen integration for the books.
2017-03-10Rollup merge of #40297 - alexcrichton:fix-submodules, r=brsonAlex Crichton-0/+0
Don't put Cargo into the rustc workspace This causes problems when first cloning and bootstrapping the repository unfortunately, so let's ensure that Cargo sticks around in its own workspace. Because Cargo is a submodule it's not available by default on the inital clone of the rust-lang/rust repository. Normally it's the responsibility of the rustbuild to take care of this, but unfortunately to build rustbuild itself we need to resolve the workspace conflicts. To deal with this we'll just have to ensure that all submodules are in their own workspace, which sort of makes sense anyway as updates to dependencies as bugfixes to Cargo should go to rust-lang/cargo instead of rust-lang/rust. In any case this commit removes Cargo from the global workspace which should resolve the issues that we've been seeing. To actually perform this the `cargo` submodule has been moved to a new `vendor` directory to ensure it's outside the scope of `src/Cargo.toml` as a workspace. Closes https://github.com/rust-lang/rust/issues/40284
2017-03-10Rollup merge of #40225 - shepmaster:restore-build-date-file, r=alexcrichtonAlex Crichton-3/+14
Restore creating the channel-rust-$channel-date.txt files I have **not** run this (because I don't know how to 😇), but it *does* compile. r? @alexcrichton
2017-03-10Don't put Cargo into the rustc workspaceAlex Crichton-0/+0
This causes problems when first cloning and bootstrapping the repository unfortunately, so let's ensure that Cargo sticks around in its own workspace. Because Cargo is a submodule it's not available by default on the inital clone of the rust-lang/rust repository. Normally it's the responsibility of the rustbuild to take care of this, but unfortunately to build rustbuild itself we need to resolve the workspace conflicts. To deal with this we'll just have to ensure that all submodules are in their own workspace, which sort of makes sense anyway as updates to dependencies as bugfixes to Cargo should go to rust-lang/cargo instead of rust-lang/rust. In any case this commit removes Cargo from the global workspace which should resolve the issues that we've been seeing. To actually perform this the `cargo` submodule has been moved to the top directory to ensure it's outside the scope of `src/Cargo.toml` as a workspace.
2017-03-10travis: Fuchsia builderPetr Hosek-0/+2
This change introduces a Dockerfile and script which builds a complete Fuchsia toolchain which can be used to build Rust distribution for Fuchsia. We only support cross-compiling at the moment, hence only setting the target.
2017-03-09Restore creating the channel-rust-$channel-date.txt filesJake Goulding-1/+12
2017-03-09Fix botched member variable renameJake Goulding-2/+2
2017-03-05Remove the compile-fail feature gates whitelistGibson Fahnestock-5/+0
No longer necessary now that the whitelist is empty. Fixes: https://github.com/rust-lang/rust/issues/39059
2017-03-05Add compile-fail test for cfg_target_thread_localGibson Fahnestock-1/+0
Test copied from src/test/run-pass/thread-local-extern-static.rs. Refs: https://github.com/rust-lang/rust/issues/39059
2017-03-05Add compile-fail test for unwind_attributesGibson Fahnestock-1/+1
Test copied from src/test/codegen/extern-functions.rs. Refs: https://github.com/rust-lang/rust/issues/39059
2017-03-05Add compile fail test for stmt_expr_attributestopecongiro-1/+0
2017-03-03Auto merge of #39917 - alexcrichton:build-cargo, r=brsonbors-10/+16
rustbuild: Add support for compiling Cargo This commit adds support to rustbuild for compiling Cargo as part of the release process. Previously rustbuild would simply download a Cargo snapshot and repackage it. With this change we should be able to turn off artifacts from the rust-lang/cargo repository and purely rely on the artifacts Cargo produces here. The infrastructure added here is intended to be extensible to other components, such as the RLS. It won't exactly be a one-line addition, but the addition of Cargo didn't require too much hooplah anyway. The process for release Cargo will now look like: * The rust-lang/rust repository has a Cargo submodule which is used to build a Cargo to pair with the rust-lang/rust release * Periodically we'll update the cargo submodule as necessary on rust-lang/rust's master branch * When branching beta we'll create a new branch of Cargo (as we do today), and the first commit to the beta branch will be to update the Cargo submodule to this exact revision. * When branching stable, we'll ensure that the Cargo submodule is updated and then make a stable release. Backports to Cargo will look like: * Send a PR to cargo's master branch * Send a PR to cargo's release branch (e.g. rust-1.16.0) * Send a PR to rust-lang/rust's beta branch updating the submodule * Eventually send a PR to rust-lang/rust's master branch updating the submodule For reference, the process to add a new component to the rust-lang/rust release would look like: * Add `$foo` as a submodule in `src/tools` * Add a `tool-$foo` step which compiles `$foo` with the specified compiler, likely mirroring what Cargo does. * Add a `dist-$foo` step which uses `src/tools/$foo` and the `tool-$foo` output to create a rust-installer package for `$foo` likely mirroring what Cargo does. * Update the `dist-extended` step with a new dependency on `dist-$foo` * Update `src/tools/build-manifest` for the new component.
2017-03-03rustbuild: Add support for compiling CargoAlex Crichton-9/+15
This commit adds support to rustbuild for compiling Cargo as part of the release process. Previously rustbuild would simply download a Cargo snapshot and repackage it. With this change we should be able to turn off artifacts from the rust-lang/cargo repository and purely rely on the artifacts Cargo produces here. The infrastructure added here is intended to be extensible to other components, such as the RLS. It won't exactly be a one-line addition, but the addition of Cargo didn't require too much hooplah anyway. The process for release Cargo will now look like: * The rust-lang/rust repository has a Cargo submodule which is used to build a Cargo to pair with the rust-lang/rust release * Periodically we'll update the cargo submodule as necessary on rust-lang/rust's master branch * When branching beta we'll create a new branch of Cargo (as we do today), and the first commit to the beta branch will be to update the Cargo submodule to this exact revision. * When branching stable, we'll ensure that the Cargo submodule is updated and then make a stable release. Backports to Cargo will look like: * Send a PR to cargo's master branch * Send a PR to cargo's release branch (e.g. rust-1.16.0) * Send a PR to rust-lang/rust's beta branch updating the submodule * Eventually send a PR to rust-lang/rust's master branch updating the submodule For reference, the process to add a new component to the rust-lang/rust release would look like: * Add `$foo` as a submodule in `src/tools` * Add a `tool-$foo` step which compiles `$foo` with the specified compiler, likely mirroring what Cargo does. * Add a `dist-$foo` step which uses `src/tools/$foo` and the `tool-$foo` output to create a rust-installer package for `$foo` likely mirroring what Cargo does. * Update the `dist-extended` step with a new dependency on `dist-$foo` * Update `src/tools/build-manifest` for the new component.
2017-03-02Add compile fail test for SIMDDaniel Xu-1/+0
2017-03-01Add Cargo as a submoduleAlex Crichton-1/+1
2017-03-01Add compile fail test for abi_ptxtopecongiro-1/+1
2017-02-28Rollup merge of #40151 - steveklabnik:update-mdbook, r=frewsxcvSteve Klabnik-1/+1
update mdbook version This contains two important bugfixes
2017-02-28update mdbook versionSteve Klabnik-1/+1
This contains two important bugfixes
2017-03-01Add compile test for cfg_target_has_atomictopecongiro-1/+0
2017-02-28Add compile fail test for unboxed_closures featuretopecongiro-2/+2
2017-02-25build-manifest: Remove old to_hex functionAlex Crichton-17/+1
This was actually just generating invalid hashes for the `rust` component.
2017-02-25build-manifest: Fix typos with rust-analysisAlex Crichton-2/+2
The name of the package is 'rust-analysis', not 'analysis', and then name of the channel is 'nightly', not 'rust-nightly'
2017-02-25Rollup merge of #40031 - cynicaldevil:master, r=est31Eduard-Mihai Burtescu-3/+3
Added test for inclusive_range_syntax in compile-fail test suite Fixes #39059 r? @est31 Forgot to leave a comment on the issue, hopefully nobody else is working on this one!
2017-02-25Rollup merge of #40026 - nrc:analysis-manifest, r=alexcrichtonEduard-Mihai Burtescu-0/+10
Add save-analysis data to nightly manifests. For use by RLS. r? @alexcrichton
2017-02-25Rollup merge of #39859 - GuillaumeGomez:rustdoc-test-relative-path, ↵Eduard-Mihai Burtescu-3/+14
r=alexcrichton Set rustdoc --test files' path relative to the current directory r? @alexcrichton
2017-02-22Make path separator replacement for subfiles as wellGuillaume Gomez-1/+1
2017-02-23Added test for inclusive_range_syntax in compile-fail test suiteNikhil Shagrithaya-3/+3
2017-02-22Add save-analysis data to nightly manifests.Nick Cameron-0/+10
For use by RLS.
2017-02-20Auto merge of #39717 - pnkfelix:check-timestamps-in-compiletest-miropt, ↵bors-0/+14
r=alexcrichton When compiletest'ing src/test/mir-opt, check timestamps. The tests in src/test/mir-opt embed references to generated files. The names of the generated files embed node id's, which will change depending on the content of the original source. To guard against comparisons against stale output, check the timestamps of the supposed output against the timestamp of the original source (i.e. any output should be at least as new as the source that was recompiled). Fix #39690.
2017-02-20Update mdBook versionSteve Klabnik-1/+1
This brings in a needed bugfix.
2017-02-20Enable linkchecker on booksSteve Klabnik-8/+16
Previously, mdBook used JavaScript to add header links, so we skipped checking the book. As of https://github.com/rust-lang/rust/pull/39966, it no longer does, so we can start checking again. There is a twist, though: it uses name instead of id, so let's test for both. They're both valid links anyway, so it's good to have the checker check anyway.
2017-02-20Fix #39690: make mir-opt mode for compiletest check timestamps.Felix S. Klock II-0/+14
This version removes prior use of `time` crate, to satisify vendoring requirements. remove extraneous whitespace change
2017-02-19Update mdbook versionSteve Klabnik-1/+1
This version of mdbook includes https://github.com/azerupi/mdBook/pull/207 , which is needed so that we can start doing linkchecker on the various books.
2017-02-20Fix rustdoc test with new file pathGuillaume Gomez-3/+14
2017-02-15Rollup merge of #39834 - cseale:feature-gate-static-recursion, r=est31Corey Farwell-1/+1
static recursion test added to compile-fail test suite Issue #39059 r? @est31
2017-02-15static recursion test added to compile-fail test suiteColm Seale-1/+1
Issue #39059 r? @est31
2017-02-15Auto merge of #39633 - steveklabnik:vendor-mdbook, r=alexcrichtonbors-974/+139
Port books to mdbook Part of https://github.com/rust-lang/rust/issues/39588 blocked on https://github.com/rust-lang/rust/pull/39431 As a first step towards the bookshelf, we ~vendor mdbook in-tree and~ port our books to it. Eventually, both of these books will be moved out-of-tree, but the nightly book will rely on doing the same thing. As such, this intermediate step is useful. r? @alexcrichton @brson /cc @azerupi
2017-02-14Rollup merge of #39790 - zackw:tidy-linelen-exempt-urls, r=alexcrichtonCorey Farwell-2/+57
tidy: exempt URLs from the line length restriction The length of a URL is usually not under our control, and Markdown provides no way to split a URL in the middle. Therefore, comment lines consisting _solely_ of a URL (possibly with a Markdown link label in front) should be exempt from the line-length restriction. Inline hyperlink destinations ( `[foo](http://...)` notation ) are _not_ exempt, because it is my arrogant opinion that long lines of that type make the source text illegible. The patch adds dependencies on the `regex` and `lazy_static` crates to the tidy utility. This _appears_ to Just Work, but if you would rather not have that dependency I am willing to provide a hand-written parser instead.
2017-02-14Rollup merge of #39772 - cseale:staged_api_whitelist_removal, r=est31Corey Farwell-1/+1
Adding compile fail test for staged_api feature Issue #39059 r? @est31 @est31 running the tests for this feature fails. Is that expected since this is the `compile-fail`suite? I copied this test from the run-pass suite: `rust/src/test/run-pass/reachable-unnameable-type-alias.rs`. What are the differences between these suites in operation and why they are used?
2017-02-14Auto merge of #39728 - eddyb:vendeur-tres-bien, r=alexcrichtonbors-1/+5
Automate vendoring by invoking cargo-vendor when building src dist tarballs. This avoids #39633 bringing the `src/vendor` checked into git by #37524, past 200,000 lines of code. I believe the strategy of having rustbuild run `cargo vendor` during the `dist src` step is sound. However, the only way to be sure `cargo-vendor` exists is to run `cargo install --force cargo-vendor`, which will recompile it every time (not passing `--force` means you can't tell between "already exists" and "build error"). ~~This is quite suboptimal and I'd like to somehow do it in each `Dockerfile` that would need it.~~ * [ ] Cache `CARGO_HOME` (i.e. `~/.cargo`) between CI runs * `bin/cargo-vendor` and the actual caches are the relevant bits * [x] Do not build `cargo-vendor` all the time * ~~Maybe detect `~/.cargo/bin/cargo-vendor` already exists?~~ * ~~Could also try to build it in a `Dockerfile` but do we have `cargo`/`rustc` there?~~ * Final solution: check `cargo install --list` for a line starting with `cargo-vendor ` cc @rust-lang/tools
2017-02-14Adding compile fail test for staged_api featureColm Seale-1/+1
Issue #39059 r? @est31
2017-02-14Automatically vendor Cargo deps when building the source tarballs.Eduard-Mihai Burtescu-1/+5
2017-02-13Replace regex-based parser for URL lines with open-coded one.Zack Weinberg-25/+46
2017-02-13fix up linkcheckerSteve Klabnik-1/+17
1. skip png files 2. skip fragments for the book and nomicon, as these are added by JS 3. Actually print the filename for errors
2017-02-13Add exceptions to tidySteve Klabnik-9/+42
We've decided that these deps are okay.
2017-02-13Re-implement rustbook in terms of mdbookSteve Klabnik-971/+87
mdbook has a lot of optional dependencies that we don't want, so instead of using it directly, we re-build rustbook to use mdbook as a library. For convenience' sake, we keep the same CLI interface as mdbook; the only difference is that it only accepts build and test subcommands, rather than the full range.
2017-02-13tidy: exempt URLs from the line length restrictionZack Weinberg-2/+36
The length of a URL is usually not under our control, and Markdown provides no way to split a URL in the middle. Therefore, comment lines consisting _solely_ of a URL (possibly with a Markdown link label in front) should be exempt from the line-length restriction. Inline hyperlink destinations ( `[foo](http://...)` notation ) are _not_ exempt, because it is my arrogant opinion that long lines of that type make the source text illegible. The patch adds dependencies on the `regex` and `lazy_static` crates to the tidy utility. This _appears_ to Just Work, but if you would rather not have that dependency I am willing to provide a hand-written parser instead.
2017-02-11Add tested item in the rustdoc --test outputGuillaume Gomez-6/+10
2017-02-10Rollup merge of #39676 - alexcrichton:fix-again, r=brsonCorey Farwell-2/+2
Actually fix manifest generation The previous fix contained an error where `toml::encode` returned a runtime error, so this version just constructs a literal `toml::Value`.