Skip to content

Commit

Permalink
Document invalidator field (#349)
Browse files Browse the repository at this point in the history
  • Loading branch information
ErikSchierboom committed May 4, 2022
1 parent a1ab9aa commit 322d63e
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 8 deletions.
1 change: 1 addition & 0 deletions building/configlet/format.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ The canonical key order for an exercise `.meta/config.json` file is:
- exemplar (Concept Exercises only)
- example (Practice Exercises only)
- [editor]
- [invalidator]
- [language_versions]
- [forked_from] (Concept Exercises only)
- [icon] (Concept Exercises only)
Expand Down
28 changes: 20 additions & 8 deletions building/configlet/lint.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,17 +92,21 @@ The `config.json` file should have the following checks:
- The `"files.example`" value must be an array
- The `"files.example`" values must be valid patterns⁵
- The `"files.example`" values must not have duplicates
- The `"files.exemplar`" key is optional
- The `"files.exemplar`" value must be an array
- The `"files.exemplar`" values must be valid patterns⁵
- The `"files.exemplar`" values must not have duplicates
- The `"files.exemplar"`" key is optional
- The `"files.exemplar"`" value must be an array
- The `"files.exemplar"`" values must be valid patterns⁵
- The `"files.exemplar"`" values must not have duplicates
- The `"files.editor`" key is optional
- The `"files.editor`" value must be an array
- The `"files.editor`" values must be valid patterns⁵
- The `"files.editor`" values must not have duplicates
- Patterns can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example"`, `"files.exemplar"` or `"files.editor"` array (no overlap)
- The `"files.invalidator`" key is optional
- The `"files.invalidator`" value must be an array
- The `"files.invalidator`" values must be valid patterns⁵
- The `"files.invalidator`" values must not have duplicates
- Patterns can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example"`, `"files.exemplar"`, `"files.editor"` or `"files.invalidator"` array (no overlap)
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
- The `"files.example` and `"files.exemplar` files _can_ overlap
- The `"files.example` and `"files.exemplar"` files _can_ overlap
- The `"test_runner.average_run_time"` key is required if `status.test_runner` is equal to `true`
- The `"test_runner.average_run_time"` value must be a floating-point number > 0 with one decimal point of precision
- The `"exercises"` key is required
Expand Down Expand Up @@ -228,11 +232,15 @@ The `config.json` file should have the following checks:
- The `"files.editor"` key is optional
- The `"files.editor"` value must be an array
- The `"files.editor"` values must not have duplicates
- The `"files.invalidator"` key is optional
- The `"files.invalidator"` value must be an array
- The `"files.invalidator"` values must not have duplicates
- The files listed in the `"files.solution"` must exist
- The files listed in the `"files.test"` must exist
- The files listed in the `"files.exemplar"` must exist
- The files listed in the `"files.editor"` must exist
- Files can only be listed in either the `"files.solution"`, `"files.test"` or `"files.exemplar` array (no overlap)
- The files listed in the `"files.invalidator"` must exist
- Files can only be listed in either the `"files.solution"`, `"files.test"`, `"files.exemplar"` or `"files.invalidator"` array (no overlap)
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
- The `"forked_from"` key is optional
- The `"forked_from"` value must be an array
Expand Down Expand Up @@ -299,11 +307,15 @@ The `config.json` file should have the following checks:
- The `"files.editor"` key is optional
- The `"files.editor"` value must be an array
- The `"files.editor"` values must not have duplicates
- The `"files.invalidator"` key is optional
- The `"files.invalidator"` value must be an array
- The `"files.invalidator"` values must not have duplicates
- The files listed in the `"files.solution"` must exist
- The files listed in the `"files.test"` must exist
- The files listed in the `"files.example"` must exist
- The files listed in the `"files.editor"` must exist
- Files can only be listed in either the `"files.solution"`, `"files.test"` or `"files.example` array (no overlap)
- The files listed in the `"files.invalidator"` must exist
- Files can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example` or `"files.invalidator"` array (no overlap)
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
- The `"language_versions"` key is optional
- The `"language_versions"` value must be a string
Expand Down
1 change: 1 addition & 0 deletions building/tracks/concept-exercises.md
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,7 @@ This file contains meta information on the exercise:
- `test`: the [test file(s)](./#filetests) (required)
- `exemplar`: the [exemplar implementation file(s)](./#fileexemplarimplementation) (required)
- `editor`: other files shown as read-only in the editor (optional)
- `invalidator`: files that when changed, cause a solution to become out-of-date (optional)
- `language_versions`: Language version requirements (optional)
- `blurb`: A short description of this exercise. Its length must be <= 350. Markdown is _not_ supported (required)
- `source`: The source this exercise is based on (optional)
Expand Down
1 change: 1 addition & 0 deletions building/tracks/practice-exercises.md
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@ This file contains meta information on the exercise:
- `test`: the [test file(s)](./#filetests) (required)
- `example`: the [example implementation file(s)](./#fileexampleimplementation) (required)
- `editor`: additional files shown as read-only in the editor (optional)
- `invalidator`: files that when changed, cause a solution to become out-of-date (optional)
- `language_versions` Language version requirements (optional)
- `blurb`: A short description of this exercise. Its length must be <= 350. Markdown is _not_ supported (required)
- `source`: The source this exercise is based on (optional)
Expand Down

0 comments on commit 322d63e

Please sign in to comment.