1
Fork 0
rust/src
bors 0aaad9e757 Auto merge of #102565 - jyn514:refactor-build-manifest, r=Mark-Simulacrum
Refactor build-manifest to minimize the number of changes needed to add a new component

- Add all components to `PkgType`
- Automate functionality wherever possible, so functions often don't have to be manually edited
- Where that's not possible, use exhaustive matches on `PkgType` instead of adding individual strings.
- Add documentation for how to add a component. Improve the existing documentation for how to test changes.

I tested locally that this generates an identical manifest before and after my change, as follows:
```sh
git checkout d44e14225a
cargo +nightly run --manifest-path src/tools/build-manifest/Cargo.toml build/dist build/manifest-before 1970-01-01 http://example.com nightly
git checkout refactor-build-manifest
cargo +nightly run --manifest-path src/tools/build-manifest/Cargo.toml build/dist build/manifest-before 1970-01-01 http://example.com nightly
sort -u build/manifest-before/channel-rust-nightly.toml | diff - <(sort -u build/manifest-after/channel-rust-nightly.toml)
```
I then verified by hand that the differences before sorting are inconsequential (mostly targets being slightly reordered).

The only change in behavior is that `llvm-tools` is now properly renamed to `llvm-tools-preview`:
```
; sort -u build/manifest-before/channel-rust-nightly.toml | diff - <(sort -u build/manifest-after/channel-rust-nightly.toml)
784a785
> [renames.llvm-tools]
894a896
> to = "llvm-tools-preview"
```

This is based on https://github.com/rust-lang/rust/pull/102241 and should not be merged before.
2022-11-09 10:24:27 +00:00
..
bootstrap Rollup merge of #103778 - mati865:update-deps, r=Mark-Simulacrum 2022-11-08 21:03:54 -05:00
ci Auto merge of #103569 - RalfJung:miri-test-macos, r=Mark-Simulacrum 2022-11-07 17:04:06 +00:00
doc Rollup merge of #103955 - str4d:update-lto-doc-1.65, r=ehuss 2022-11-08 11:23:52 +05:30
etc [debuginfo] Make debuginfo type names for slices and str consistent. 2022-10-31 15:43:44 +01:00
librustdoc Rollup merge of #104114 - GuillaumeGomez:background-image-path, r=notriddle 2022-11-08 20:40:52 +01:00
llvm-project@2a2ea6b49e Update LLVM submodule 2022-10-24 14:49:18 +02:00
rustdoc-json-types rustdoc-json-types: Improve ItemSummary::path docs 2022-10-28 10:25:48 +01:00
test Auto merge of #104180 - fee1-dead-contrib:fix-wf-fndef, r=oli-obk 2022-11-09 07:37:49 +00:00
tools Auto merge of #102565 - jyn514:refactor-build-manifest, r=Mark-Simulacrum 2022-11-09 10:24:27 +00:00
README.md
stage0.json
version Bump to 1.67.0 2022-10-29 10:28:52 -04:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like cargo, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.