Commit graph

273 commits

Author SHA1 Message Date
jyn
63d7992353 Deduplicate Builder::try_run and mark Config::try_run as deprecated
This does three things:
1. Remove `forward!(Build, fn try_run())`. Having `try_run` behave differently as a free function than an associated function is confusing, and `Builder::try_run` is a very desirable name.
2. Move `test::try_run` and `run::try_run` to `Builder::try_run`. These functions are different than `Config::try_run` - they delay the failure and print it out at the end of the build.
3. Mark `Config::try_run` as deprecated to encourage people to use `Builder::try_run` instead.
2023-07-15 12:27:53 -05:00
jyn
3e306c2ddb Add track_caller to builder.msg
this makes the panics on nested GHA groups more useful
2023-07-14 17:32:05 -05:00
Jakub Beránek
91d2fb2e2b
Port PGO/LTO/BOLT optimized build pipeline to Rust 2023-07-09 08:39:50 +02:00
klensy
ab914cf9f7 bootstrap: rust-installer no loger subtree, so allow running lints over it 2023-07-04 19:19:50 +03:00
Guillaume Gomez
7b5577985d Make try_run return a Result<(), ()> instead of a boolean 2023-06-23 17:07:34 +02:00
Pietro Albini
68d458bb40
allow mutating the c compilers detected by bootstrap
This will be needed to create synthetic targets in future commits.
2023-06-12 09:33:33 +02:00
Laurențiu Nicola
a3cc503876 Fix rust-analyzer proc macro server 2023-06-06 10:33:32 +03:00
ozkanonur
2803c66006 create build_helper/src/util mod
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-05-30 10:53:46 +03:00
ozkanonur
f28a63bdf0 implement and use tools/rustdoc-gui-test in bootstrap 2023-05-20 14:42:12 +03:00
Chris Denton
f9b3d6a525
Generate windows-sys bindings 2023-05-05 20:48:16 +01:00
jyn
2a75607bab Combine several Steps into a single step with multiple paths 2023-04-29 11:51:57 -05:00
Yuki Okushi
b708aadfbe
Rollup merge of #110744 - weihanglo:cargo-credential-install, r=ehuss
bootstrap: update paths cargo-credential crate

This should be done in #110653 but forgot.

Fixes #110742

## How to verify this patch

Run `./x.py build cargo`. Previously it would fail with

```console
error: manifest path `/projects/rust/src/tools/cargo/crates/credential/cargo-credential-1password/Cargo.toml` does not exist
```
2023-04-25 02:33:30 +09:00
Matthias Krüger
775682dc5e
Rollup merge of #110637 - oli-obk:gha, r=jyn514
Group some sections of our logs in github actions

This makes logs a little bit more readable as you can now collapse all the parts that don't interest you (and they get collapsed automatically)

Obviously there's a lot more sites where we can/need to do this, too, but this is already helpful imo

r? ```@jyn514```
2023-04-24 07:53:25 +02:00
Weihang Lo
f5e535cb3e
bootstrap: update paths cargo-credential crate
This should be done in #110653 but forgot.
2023-04-23 23:31:15 +01:00
Oli Scherer
95e8b6a196 Group entire build steps in the gha logs 2023-04-22 22:20:12 +00:00
ozkanonur
6d99d6a9de ship clippy, miri and rustfmt with sysroot
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-04-21 00:35:50 +03:00
Weihang Lo
2c5867bab4
boostrap: print output during building tools 2023-04-18 22:26:35 +01:00
Matthias Krüger
06d403d670
Rollup merge of #109981 - duckymirror:issue-107094, r=albertlarsan68
Set commit information environment variables when building tools

This fixes #107094.
~I'm trying to add a regression test for this issue.~
**Update**: I've added a test and a new test header `needs-git-hash` which makes sure it doesn't run when commit hashes are ignored (`bootstrap`'s `ignore-git` option).
2023-04-18 06:44:45 +02:00
Weihang Lo
103ed0e5c8
bootstrap: switch from stream_cargo to try_run_quiet
It is unnecessary to stream cargo JSON output.
2023-04-16 19:32:20 +01:00
Weihang Lo
befa5c98c9
chore: remove rustc-workspace-hack
Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
2023-04-16 19:32:20 +01:00
Weihang Lo
1cfaa3431e
chore: remove Cargo features in rustc-workspace-hack 2023-04-16 19:32:20 +01:00
Weihang Lo
f795a150fe
chore: allow cargo to have its own workspace
This also

* bumps cargo to the latest in rust-lang/cargo.
* adds 0BSD to allowed list of licenses

Co-authored-by: Scott Schafer <schaferjscott@gmail.com>
Co-authored-by: Eric Huss <eric@huss.org>
2023-04-16 19:32:12 +01:00
Erik Hofmayer
28d27fd164 Set git info env variables when building tools
This should fix issue #107094.
2023-04-16 12:09:00 +02:00
Ezra Shaw
1e95cddc74
feat: implement basic suggest-tests tool 2023-04-09 19:59:14 +12:00
Gimbles
c80a69440c s/ignore_git/omit_git_hash 2023-04-08 11:08:01 +05:30
Mara Bos
c7f443a6e3 Enable --cfg=parallel_compiler in rustdoc. 2023-02-21 11:53:17 +11:00
Matthew J Perez
40f012a0ee
Improve building compiler artifacts output 2023-02-19 09:15:56 -05:00
David Tolnay
11e002a001
Make stage2 rustdoc and proc-macro-srv disableable in x.py install 2023-01-14 14:44:02 -08:00
bors
e9e0908367 Auto merge of #106520 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook

This updates mdbook from 0.4.21 to 0.4.25. The list of changes is [here](https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-0425). The only user-visible changes are some changes around the theme picker, and change to the copy-to-clipboard ignoring hidden lines.

Internally there were some dependency updates and small fixes.

This also updates `clap` from 4.0.15 to 4.0.32 whose changelog is [here](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md#4032---2022-12-22). This impacts tools like cargo. I don't see anything particularly noteworthy there, though there are some small user-visible changes.

Unfortunately this required adding a hack for building `rustix` with a bootstrap tool. The comment explains why. I am unable to think of some other workaround (or even a cleaner way to set the rustflag). Ideas are welcome if you can think of alternatives. I'm struggling to even think of a long-term solution, other than asking projects not to do auto-nightly feature detection.

One medium-term solution is to avoid the clap dependency for the mdbook library (which is how rustix gets pulled in). That is one of my goals for the 0.5 release of mdbook, but that probably won't happen until later this year. It would also require dropping clap from `rustbook` and using some other means to parse arguments (there's only two options, so it can probably be done manually).
2023-01-14 03:04:40 +00:00
Eric Huss
2717f60093 Update mdbook 2023-01-09 17:04:14 -08:00
Joshua Nelson
23d3ee8186 Revert "bootstrap: Get rid of tail_args in stream_cargo"
This reverts commit 9dfe50440e.

Fixes `x clippy`.
2023-01-04 00:27:03 +00:00
Joshua Nelson
9dfe50440e bootstrap: Get rid of tail_args in stream_cargo 2022-12-30 20:38:34 +00:00
Joshua Nelson
11798660ac Build rust-analyzer proc-macro server by default
This allows getting rid of some documentation and an extra step when building a custom toolchain: https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html#creating-a-rustup-toolchain
and it seems likely that people will want to do this if they want rustdoc (which is also built by default).
2022-12-08 07:59:05 -06:00
Pietro Albini
4af7de13d2
initial prototype of the tool to generate copyright notices 2022-11-15 15:02:03 +01:00
Pietro Albini
13efb20846
add tool to collect license metadata from REUSE 2022-11-15 14:50:20 +01:00
Joshua Nelson
34972c512b Distinguish --dry-run from the automatic dry run check 2022-11-12 15:37:58 -06:00
bors
024207ab43 Auto merge of #102950 - oli-obk:check_miri, r=RalfJung
Enable `x.py check` for miri

Now that the miri subtree is working properly, let's add it to x.py check.

cc `@rust-lang/miri`
2022-10-31 23:03:39 +00:00
Pietro Albini
5b7bd2fed8
mark rust-analyzer as a host-only tool
All tools meant to be shipped with host toolchains only should be marked
as `ONLY_HOSTS = true`, but rust-analyzer was marked as `ONLY_HOSTS =
false` incorrectly. This meant that bootstrap attempted to build
rust-analyzer for cross-compilation-only targets, causing errors because
libstd is not present on some of them.

It will still be possible to cross-compile rust-analyzer by passing a
different --host flag to ./x, like you can cross-compile other tools.
2022-10-19 14:33:17 +02:00
Oli Scherer
c4b9b6532b Remove unused macro argument 2022-10-13 07:38:29 +00:00
Oli Scherer
0227d8d555 Enable x.py check for miri 2022-10-12 08:43:14 +00:00
Josh Stone
3042b788eb Don't build the compiler before building rls
The rls stub is a simple stable tool, which doesn't need compiler libs.
2022-10-04 19:41:21 -07:00
Oli Scherer
6cfa7ef2ba Remove miri from the submodule list and require it for CI to pass 2022-09-21 15:35:53 +00:00
Matthias Krüger
179fd13e80
Rollup merge of #101873 - WaffleLapkin:x-build-proc-macro-srv, r=jyn514
Allow building `rust-analyzer-proc-macro-srv` as a standalone tool

This PR allows building `rust-analyzer-proc-macro-srv` as a standalone tool via `x b proc-macro-srv-cli` (I thought that `x b rust-analyzer-proc-macro-srv` should work, but it doesn't for some reason...). Also this PR adds a copy of `rust-analyzer-proc-macro-srv` binary to `build/{triple}/{stage}/libexec/` when building `rust-analyzer-proc-macro-srv`, so that r-a can pick it up.

This is useful to make r-a (and I assume Intellij IDEA) to expand macros when using a custom, build from source toolchain.

r? ``@jyn514``
[_zulip thread_](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/How.20to.20fix.20.60UnsupportedABI.60.20for.20custom.20toolchains.3F/near/299040175)
2022-09-17 19:27:08 +02:00
Maybe Waffle
9c3c88c945 Use builder.sysroot(...) instead of a hack 2022-09-16 11:10:20 +04:00
Maybe Waffle
532e3a50eb Allow building rust-analyzer-proc-macro-srv as a standalone tool 2022-09-16 01:27:47 +04:00
Nixon Enraght-Moony
2506aa0394 jsondoclint: New Tool 2022-09-14 12:30:23 +01:00
Eric Huss
4a7e2fbb7b Sunset RLS 2022-08-27 21:36:08 -07:00
est31
d32ff14b86 Add replace-version-placeholder tool
This tool is to be ran at specific points in the release process to replace
the version place holder made by stabilizations with the version number.
2022-08-27 17:39:11 +02:00
Eric Huss
12386da38a bootstrap: Remove some unused fields from the tool_extended macro. 2022-08-20 22:07:04 -07:00
klensy
339509494d bootstrap: don't emit warn about duplicated deps with same/different features, if some of lists actually empty 2022-07-28 19:50:11 +03:00