diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2020-08-18 18:37:40 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2020-08-18 18:37:40 +0100 |
commit | ca90d3cf22762cccdd02f82dd8782c072d95f485 (patch) | |
tree | 3fc9e989d02ef6105a10db0c91539f226b0bfb92 /xtask/src/codegen.rs | |
parent | fc4c6b18709745479094c6bf71f5d006747987ec (diff) | |
parent | 27ccc95c60d5652d5e7ef0dd7bd50cf221385d00 (diff) |
Merge #5807
5807: Cleanup feature generation
r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'xtask/src/codegen.rs')
-rw-r--r-- | xtask/src/codegen.rs | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/xtask/src/codegen.rs b/xtask/src/codegen.rs index c468468de..45b17bb48 100644 --- a/xtask/src/codegen.rs +++ b/xtask/src/codegen.rs | |||
@@ -9,7 +9,7 @@ mod gen_syntax; | |||
9 | mod gen_parser_tests; | 9 | mod gen_parser_tests; |
10 | mod gen_assists_docs; | 10 | mod gen_assists_docs; |
11 | mod gen_feature_docs; | 11 | mod gen_feature_docs; |
12 | mod gen_unstable_future_descriptor; | 12 | mod gen_features; |
13 | 13 | ||
14 | use std::{ | 14 | use std::{ |
15 | fmt, mem, | 15 | fmt, mem, |
@@ -25,35 +25,35 @@ use crate::{ | |||
25 | pub use self::{ | 25 | pub use self::{ |
26 | gen_assists_docs::{generate_assists_docs, generate_assists_tests}, | 26 | gen_assists_docs::{generate_assists_docs, generate_assists_tests}, |
27 | gen_feature_docs::generate_feature_docs, | 27 | gen_feature_docs::generate_feature_docs, |
28 | gen_features::generate_features, | ||
28 | gen_parser_tests::generate_parser_tests, | 29 | gen_parser_tests::generate_parser_tests, |
29 | gen_syntax::generate_syntax, | 30 | gen_syntax::generate_syntax, |
30 | gen_unstable_future_descriptor::generate_unstable_future_descriptor, | ||
31 | }; | 31 | }; |
32 | 32 | ||
33 | // Directory used by xtask | ||
34 | const STORAGE: &str = ".xtask"; | ||
35 | |||
36 | const GRAMMAR_DIR: &str = "crates/parser/src/grammar"; | ||
37 | const OK_INLINE_TESTS_DIR: &str = "crates/syntax/test_data/parser/inline/ok"; | ||
38 | const ERR_INLINE_TESTS_DIR: &str = "crates/syntax/test_data/parser/inline/err"; | ||
39 | |||
40 | const SYNTAX_KINDS: &str = "crates/parser/src/syntax_kind/generated.rs"; | ||
41 | const AST_NODES: &str = "crates/syntax/src/ast/generated/nodes.rs"; | ||
42 | const AST_TOKENS: &str = "crates/syntax/src/ast/generated/tokens.rs"; | ||
43 | |||
44 | const ASSISTS_DIR: &str = "crates/assists/src/handlers"; | ||
45 | const ASSISTS_TESTS: &str = "crates/assists/src/tests/generated.rs"; | ||
46 | |||
47 | const REPOSITORY_URL: &str = "https://github.com/rust-lang/rust"; | ||
48 | const UNSTABLE_FEATURE: &str = "crates/ide/src/completion/unstable_feature_descriptor.rs"; | ||
49 | const REPO_PATH: &str = "src/doc/unstable-book/src"; | ||
50 | |||
51 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] | 33 | #[derive(Debug, PartialEq, Eq, Clone, Copy)] |
52 | pub enum Mode { | 34 | pub enum Mode { |
53 | Overwrite, | 35 | Overwrite, |
54 | Verify, | 36 | Verify, |
55 | } | 37 | } |
56 | 38 | ||
39 | pub struct CodegenCmd { | ||
40 | pub features: bool, | ||
41 | } | ||
42 | |||
43 | impl CodegenCmd { | ||
44 | pub fn run(self) -> Result<()> { | ||
45 | if self.features { | ||
46 | generate_features(Mode::Overwrite)?; | ||
47 | } | ||
48 | generate_syntax(Mode::Overwrite)?; | ||
49 | generate_parser_tests(Mode::Overwrite)?; | ||
50 | generate_assists_tests(Mode::Overwrite)?; | ||
51 | generate_assists_docs(Mode::Overwrite)?; | ||
52 | generate_feature_docs(Mode::Overwrite)?; | ||
53 | Ok(()) | ||
54 | } | ||
55 | } | ||
56 | |||
57 | /// A helper to update file on disk if it has changed. | 57 | /// A helper to update file on disk if it has changed. |
58 | /// With verify = false, | 58 | /// With verify = false, |
59 | fn update(path: &Path, contents: &str, mode: Mode) -> Result<()> { | 59 | fn update(path: &Path, contents: &str, mode: Mode) -> Result<()> { |