rust-lang / rustup

The Rust toolchain installer
https://rust-lang.github.io/rustup/
Apache License 2.0
6.12k stars 880 forks source link

Feature: A programmatic interface for rustup (for IDEs and other complicated automation-around-rustup) #3434

Open rami3l opened 1 year ago

rami3l commented 1 year ago

Rustup's stdout content is not an API : we change it regularly to communicate more clearly with users. However programs that consume the output of rustup have no means by which they can extract the semantic content - an API.

This is tied into various internal concerns such as the notification system, logging system, the async unpacking of content (and this will become deeper when when async spreads further inside rustup). See also https://github.com/rust-lang/rustup/issues/1875

Another possible interaction is an idea that is still in concept status / tribal knowledge, of having a (lifetime undefined) daemon, which might help with some of the file replacement concerns on Windows.

The high level sketch of an isolated form of this feature would be:

rbtcollins commented 1 year ago

(I've edited the description to have a less opaque description than my throwaway comment in the other issue).