rename tools -> xtask
This commit is contained in:
parent
7b15c4f7ae
commit
5376c769f0
11 changed files with 15 additions and 22 deletions
|
@ -1,4 +1,4 @@
|
||||||
[alias]
|
[alias]
|
||||||
xtask = "run --package xtask --bin xtask --"
|
xtask = "run --package xtask --bin xtask --"
|
||||||
|
|
||||||
install-ra = "run --package xtask -- install" # for backwards compat
|
install-ra = "run --package xtask --bin xtask -- install" # for backwards compat
|
||||||
|
|
7
Cargo.lock
generated
7
Cargo.lock
generated
|
@ -1718,13 +1718,6 @@ name = "wasi"
|
||||||
version = "0.7.0"
|
version = "0.7.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "website-gen"
|
|
||||||
version = "0.0.0"
|
|
||||||
dependencies = [
|
|
||||||
"walkdir 2.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.2.8"
|
version = "0.2.8"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[workspace]
|
[workspace]
|
||||||
members = [ "crates/*", "xtask/", "website/website-gen" ]
|
members = [ "crates/*", "xtask/" ]
|
||||||
|
|
||||||
[profile.dev]
|
[profile.dev]
|
||||||
debug = 1 # only line info
|
debug = 1 # only line info
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
// Stores definitions which must be used in multiple places
|
// Stores definitions which must be used in multiple places
|
||||||
// See `cargo gen-syntax` (defined in crates/ra_tools/src/main.rs)
|
// See `cargo xtask codegen` (defined in xtasks/src/main.rs)
|
||||||
Grammar(
|
Grammar(
|
||||||
punct: [
|
punct: [
|
||||||
(";", "SEMI"),
|
(";", "SEMI"),
|
||||||
|
|
|
@ -65,8 +65,8 @@ integrating with editors. Currently, it contains plugins for VS Code (in
|
||||||
typescript) and Emacs (in elisp). The `docs` top-level directory contains both
|
typescript) and Emacs (in elisp). The `docs` top-level directory contains both
|
||||||
developer and user documentation.
|
developer and user documentation.
|
||||||
|
|
||||||
We have some automation infra in Rust in the `crates/tool` package. It contains
|
We have some automation infra in Rust in the `xtask` package. It contains
|
||||||
stuff like formatting checking, code generation and powers `cargo install-ra`.
|
stuff like formatting checking, code generation and powers `cargo xtask install`.
|
||||||
The latter syntax is achieved with the help of cargo aliases (see `.cargo`
|
The latter syntax is achieved with the help of cargo aliases (see `.cargo`
|
||||||
directory).
|
directory).
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ However, launching a VS Code instance with locally build language server is
|
||||||
possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should
|
possible. There's even a VS Code task for this, so just <kbd>F5</kbd> should
|
||||||
work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!).
|
work (thanks, [@andrew-w-ross](https://github.com/andrew-w-ross)!).
|
||||||
|
|
||||||
I often just install development version with `cargo install-ra --server --jemalloc` and
|
I often just install development version with `cargo xtask install --server --jemalloc` and
|
||||||
restart the host VS Code.
|
restart the host VS Code.
|
||||||
|
|
||||||
See [./debugging.md](./debugging.md) for how to attach to rust-analyzer with
|
See [./debugging.md](./debugging.md) for how to attach to rust-analyzer with
|
||||||
|
@ -116,7 +116,7 @@ Due to the requirements of running the tests inside VS Code they are **not run
|
||||||
on CI**. When making changes to the extension please ensure the tests are not
|
on CI**. When making changes to the extension please ensure the tests are not
|
||||||
broken locally before opening a Pull Request.
|
broken locally before opening a Pull Request.
|
||||||
|
|
||||||
To install **only** the VS Code extension, use `cargo install-ra --client-code`.
|
To install **only** the VS Code extension, use `cargo xtask install --client-code`.
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
|
|
||||||
|
@ -153,7 +153,7 @@ There's also two VS Code commands which might be of interest:
|
||||||
$ cargo install --path crates/ra_lsp_server --force --features jemalloc
|
$ cargo install --path crates/ra_lsp_server --force --features jemalloc
|
||||||
```
|
```
|
||||||
|
|
||||||
There's an alias for this: `cargo install-ra --server --jemalloc`.
|
There's an alias for this: `cargo xtask install --server --jemalloc`.
|
||||||
|
|
||||||
* `Rust Analyzer: Syntax Tree` shows syntax tree of the current file/selection.
|
* `Rust Analyzer: Syntax Tree` shows syntax tree of the current file/selection.
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@ Rust syntax tree structure and parser. See
|
||||||
This is the thing that turns a flat list of events into a tree (see `EventProcessor`)
|
This is the thing that turns a flat list of events into a tree (see `EventProcessor`)
|
||||||
- `ast` provides a type safe API on top of the raw `rowan` tree.
|
- `ast` provides a type safe API on top of the raw `rowan` tree.
|
||||||
- `grammar.ron` RON description of the grammar, which is used to
|
- `grammar.ron` RON description of the grammar, which is used to
|
||||||
generate `syntax_kinds` and `ast` modules, using `cargo gen-syntax` command.
|
generate `syntax_kinds` and `ast` modules, using `cargo xtask codegen` command.
|
||||||
- `algo`: generic tree algorithms, including `walk` for O(1) stack
|
- `algo`: generic tree algorithms, including `walk` for O(1) stack
|
||||||
space tree traversal (this is cool).
|
space tree traversal (this is cool).
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
||||||
use ra_tools::{project_root, run, run_rustfmt, Overwrite, Result};
|
use xtask::{project_root, run, run_rustfmt, Overwrite, Result};
|
||||||
|
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
run_rustfmt(Overwrite)?;
|
run_rustfmt(Overwrite)?;
|
||||||
|
|
|
@ -146,7 +146,7 @@ pub fn install_format_hook() -> Result<()> {
|
||||||
"./.git/hooks/pre-commit"
|
"./.git/hooks/pre-commit"
|
||||||
});
|
});
|
||||||
if !result_path.exists() {
|
if !result_path.exists() {
|
||||||
run("cargo build --package ra_tools --bin pre-commit", ".")?;
|
run("cargo build --package xtask --bin pre-commit", ".")?;
|
||||||
if cfg!(windows) {
|
if cfg!(windows) {
|
||||||
fs::copy("./target/debug/pre-commit.exe", result_path)?;
|
fs::copy("./target/debug/pre-commit.exe", result_path)?;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
use ra_tools::{gen_tests, generate_boilerplate, project_root, run_rustfmt, Verify};
|
|
||||||
use walkdir::WalkDir;
|
use walkdir::WalkDir;
|
||||||
|
use xtask::{gen_tests, generate_boilerplate, project_root, run_rustfmt, Verify};
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn generated_grammar_is_fresh() {
|
fn generated_grammar_is_fresh() {
|
||||||
if let Err(error) = generate_boilerplate(Verify) {
|
if let Err(error) = generate_boilerplate(Verify) {
|
||||||
panic!("{}. Please update it by running `cargo gen-syntax`", error);
|
panic!("{}. Please update it by running `cargo xtask codegen`", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn generated_tests_are_fresh() {
|
fn generated_tests_are_fresh() {
|
||||||
if let Err(error) = gen_tests(Verify) {
|
if let Err(error) = gen_tests(Verify) {
|
||||||
panic!("{}. Please update tests by running `cargo gen-tests`", error);
|
panic!("{}. Please update tests by running `cargo xtask gen-tests`", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use std::path::Path;
|
||||||
|
|
||||||
use walkdir::{DirEntry, WalkDir};
|
use walkdir::{DirEntry, WalkDir};
|
||||||
|
|
||||||
use ra_tools::project_root;
|
use xtask::project_root;
|
||||||
|
|
||||||
fn is_exclude_dir(p: &Path) -> bool {
|
fn is_exclude_dir(p: &Path) -> bool {
|
||||||
let exclude_dirs = ["tests", "test_data"];
|
let exclude_dirs = ["tests", "test_data"];
|
Loading…
Add table
Reference in a new issue