From ebf4448f78abaff3c666b61c3bb8a849db5c9b7f Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Fri, 12 Mar 2021 15:10:33 +0100 Subject: Fix remaining references to `cargo xtask codegen` --- crates/parser/src/grammar.rs | 2 +- docs/dev/architecture.md | 6 +++--- docs/user/manual.adoc | 2 +- xtask/src/codegen.rs | 2 +- xtask/src/main.rs | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/crates/parser/src/grammar.rs b/crates/parser/src/grammar.rs index 6159d064c..6c0e22722 100644 --- a/crates/parser/src/grammar.rs +++ b/crates/parser/src/grammar.rs @@ -18,7 +18,7 @@ //! // fn foo() {} //! ``` //! -//! After adding a new inline-test, run `cargo xtask codegen` to +//! After adding a new inline-test, run `cargo test -p xtask` to //! extract it as a standalone text-fixture into //! `crates/syntax/test_data/parser/`, and run `cargo test` once to //! create the "gold" value. diff --git a/docs/dev/architecture.md b/docs/dev/architecture.md index e2237ca95..fb991133a 100644 --- a/docs/dev/architecture.md +++ b/docs/dev/architecture.md @@ -97,13 +97,13 @@ See [RFC](https://github.com/rust-lang/rfcs/pull/2256) and [./syntax.md](./synta - [rowan](https://github.com/rust-analyzer/rowan) library is used for constructing syntax trees. - `ast` provides a type safe API on top of the raw `rowan` tree. -- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command. +- `ungrammar` description of the grammar, which is used to generate `syntax_kinds` and `ast` modules, using `cargo test -p xtask` command. Tests for ra_syntax are mostly data-driven. `test_data/parser` contains subdirectories with a bunch of `.rs` (test vectors) and `.txt` files with corresponding syntax trees. During testing, we check `.rs` against `.txt`. If the `.txt` file is missing, it is created (this is how you update tests). -Additionally, running `cargo xtask codegen` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory. +Additionally, running the xtask test suite with `cargo test -p xtask` will walk the grammar module and collect all `// test test_name` comments into files inside `test_data/parser/inline` directory. To update test data, run with `UPDATE_EXPECT` variable: @@ -111,7 +111,7 @@ To update test data, run with `UPDATE_EXPECT` variable: env UPDATE_EXPECT=1 cargo qt ``` -After adding a new inline test you need to run `cargo xtest codegen` and also update the test data as described above. +After adding a new inline test you need to run `cargo test -p xtask` and also update the test data as described above. Note [`api_walkthrough`](https://github.com/rust-analyzer/rust-analyzer/blob/2fb6af89eb794f775de60b82afe56b6f986c2a40/crates/ra_syntax/src/lib.rs#L190-L348) in particular: it shows off various methods of working with syntax tree. diff --git a/docs/user/manual.adoc b/docs/user/manual.adoc index 4f2217546..f4c37353c 100644 --- a/docs/user/manual.adoc +++ b/docs/user/manual.adoc @@ -19,7 +19,7 @@ The LSP allows various code editors, like VS Code, Emacs or Vim, to implement se To improve this document, send a pull request: + https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/manual.adoc[https://github.com/rust-analyzer/.../manual.adoc] -The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo xtask codegen` to create these and then `asciidoctor manual.adoc` to create an HTML copy. +The manual is written in https://asciidoc.org[AsciiDoc] and includes some extra files which are generated from the source code. Run `cargo test` and `cargo test -p xtask` to create these and then `asciidoctor manual.adoc` to create an HTML copy. ==== diff --git a/xtask/src/codegen.rs b/xtask/src/codegen.rs index 2cf3c6fdc..518e17e38 100644 --- a/xtask/src/codegen.rs +++ b/xtask/src/codegen.rs @@ -62,7 +62,7 @@ pub(crate) fn ensure_file_contents(file: &Path, contents: &str) -> Result<()> { let _ = std::fs::create_dir_all(parent); } std::fs::write(file, contents).unwrap(); - anyhow::bail!("some file were not up to date") + anyhow::bail!("some file was not up to date and has been updated, simply re-run the tests") } fn normalize_newlines(s: &str) -> String { diff --git a/xtask/src/main.rs b/xtask/src/main.rs index 35cc7c108..057cd57ae 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -1,7 +1,7 @@ //! See https://github.com/matklad/cargo-xtask/. //! //! This binary defines various auxiliary build commands, which are not -//! expressible with just `cargo`. Notably, it provides `cargo xtask codegen` +//! expressible with just `cargo`. Notably, it provides tests via `cargo test -p xtask` //! for code generation and `cargo xtask install` for installation of //! rust-analyzer server and client. //! -- cgit v1.2.3