-
Notifications
You must be signed in to change notification settings - Fork 900
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Teach rustup/rustbuild about optional components #1006
Comments
I have a slight preference for doing the opposite (ie. flagging extensions as being "install-by-default") so that components are always required, and extensions are always optional. What do you think? |
@Diggsey per discussion we decided to go with the original design, for backwards-compatibility concerns. |
Once this feature exists, rustup-init also needs to be modified with a non-interactive commandline option to disable default components. If the interactive installer allows component selection (I don't recall) then that needs to be modified too, though it could be done as a followup. |
I take it, Should I change https://github.com/rust-lang/rust/blob/master/src/tools/build-manifest/src/main.rs or wait until #1112? |
add optional to build-manifest tool mikhail-m1/rust@35a30af. Shell I do pull request to rust-lang/rust? |
Ping? Any progress on this? I'd like to reduce the size of our multi-toolchain build images by nuking docs… |
This work has been folded into the concept of installation profiles, which we're actively working on, though the over-all progress is slowed due to recent CI problems with Windows. You can follow the work in #1673 |
Now that profiles have landed, I think this can be closed. |
I concur, thank you for the triage. |
Today rustup knows about two types of packages: components (required), and extensions (optional, non-default). Some components though want to be installed by default, but optional (like docs).
To do this we have to change the manifest format in a backwards-compatible way. I suggest that we add a key "optional = true" to components that don't need to be installed. The build-manifest tool invoked by rustbuild needs to be modified to emit this key, and rustup needs to be taught to consume it.
The text was updated successfully, but these errors were encountered: