diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-06-04 13:11:15 +0200 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2020-07-03 16:55:35 +0200 |
| commit | 058c1b60a5407d1932babe2ee5c8b32e65868567 (patch) | |
| tree | 272564c0e2a4f05c9e5ca07fc7e1d38e2010477a /src/bootstrap/lib.rs | |
| parent | cd1a46d644791c79433db934ad4e6131c577efcc (diff) | |
| download | rust-058c1b60a5407d1932babe2ee5c8b32e65868567.tar.gz rust-058c1b60a5407d1932babe2ee5c8b32e65868567.zip | |
Add rust-analyzer submodule
The current plan is that submodule tracks the `release` branch of rust-analyzer, which is updated once a week. rust-analyzer is a workspace (with a virtual manifest), the actual binary is provide by `crates/rust-analyzer` package. Note that we intentionally don't add rust-analyzer to `Kind::Test`, for two reasons. *First*, at the moment rust-analyzer's test suite does a couple of things which might not work in the context of rust repository. For example, it shells out directly to `rustup` and `rustfmt`. So, making this work requires non-trivial efforts. *Second*, it seems unlikely that running tests in rust-lang/rust repo would provide any additional guarantees. rust-analyzer builds with stable and does not depend on the specifics of the compiler, so changes to compiler can't break ra, unless they break stability guarantee. Additionally, rust-analyzer itself is gated on bors, so we are pretty confident that test suite passes.
Diffstat (limited to 'src/bootstrap/lib.rs')
| -rw-r--r-- | src/bootstrap/lib.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bootstrap/lib.rs b/src/bootstrap/lib.rs index b611af54565..b9738894486 100644 --- a/src/bootstrap/lib.rs +++ b/src/bootstrap/lib.rs @@ -225,6 +225,7 @@ pub struct Build { rust_info: channel::GitInfo, cargo_info: channel::GitInfo, rls_info: channel::GitInfo, + rust_analyzer_info: channel::GitInfo, clippy_info: channel::GitInfo, miri_info: channel::GitInfo, rustfmt_info: channel::GitInfo, @@ -349,6 +350,8 @@ impl Build { let rust_info = channel::GitInfo::new(ignore_git, &src); let cargo_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/cargo")); let rls_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rls")); + let rust_analyzer_info = + channel::GitInfo::new(ignore_git, &src.join("src/tools/rust-analyzer")); let clippy_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/clippy")); let miri_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/miri")); let rustfmt_info = channel::GitInfo::new(ignore_git, &src.join("src/tools/rustfmt")); @@ -405,6 +408,7 @@ impl Build { rust_info, cargo_info, rls_info, + rust_analyzer_info, clippy_info, miri_info, rustfmt_info, @@ -1034,6 +1038,11 @@ impl Build { self.package_vers(&self.release_num("rls")) } + /// Returns the value of `package_vers` above for rust-analyzer + fn rust_analyzer_package_vers(&self) -> String { + self.package_vers(&self.release_num("rust-analyzer/crates/rust-analyzer")) + } + /// Returns the value of `package_vers` above for clippy fn clippy_package_vers(&self) -> String { self.package_vers(&self.release_num("clippy")) |
