Skip to content

Commit 322d63e

Browse files
Document invalidator field (#349)
1 parent a1ab9aa commit 322d63e

File tree

4 files changed

+23
-8
lines changed

4 files changed

+23
-8
lines changed

building/configlet/format.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ The canonical key order for an exercise `.meta/config.json` file is:
8585
- exemplar (Concept Exercises only)
8686
- example (Practice Exercises only)
8787
- [editor]
88+
- [invalidator]
8889
- [language_versions]
8990
- [forked_from] (Concept Exercises only)
9091
- [icon] (Concept Exercises only)

building/configlet/lint.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,21 @@ The `config.json` file should have the following checks:
9292
- The `"files.example`" value must be an array
9393
- The `"files.example`" values must be valid patterns⁵
9494
- The `"files.example`" values must not have duplicates
95-
- The `"files.exemplar`" key is optional
96-
- The `"files.exemplar`" value must be an array
97-
- The `"files.exemplar`" values must be valid patterns⁵
98-
- The `"files.exemplar`" values must not have duplicates
95+
- The `"files.exemplar"`" key is optional
96+
- The `"files.exemplar"`" value must be an array
97+
- The `"files.exemplar"`" values must be valid patterns⁵
98+
- The `"files.exemplar"`" values must not have duplicates
9999
- The `"files.editor`" key is optional
100100
- The `"files.editor`" value must be an array
101101
- The `"files.editor`" values must be valid patterns⁵
102102
- The `"files.editor`" values must not have duplicates
103-
- Patterns can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example"`, `"files.exemplar"` or `"files.editor"` array (no overlap)
103+
- The `"files.invalidator`" key is optional
104+
- The `"files.invalidator`" value must be an array
105+
- The `"files.invalidator`" values must be valid patterns⁵
106+
- The `"files.invalidator`" values must not have duplicates
107+
- Patterns can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example"`, `"files.exemplar"`, `"files.editor"` or `"files.invalidator"` array (no overlap)
104108
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
105-
- The `"files.example` and `"files.exemplar` files _can_ overlap
109+
- The `"files.example` and `"files.exemplar"` files _can_ overlap
106110
- The `"test_runner.average_run_time"` key is required if `status.test_runner` is equal to `true`
107111
- The `"test_runner.average_run_time"` value must be a floating-point number > 0 with one decimal point of precision
108112
- The `"exercises"` key is required
@@ -228,11 +232,15 @@ The `config.json` file should have the following checks:
228232
- The `"files.editor"` key is optional
229233
- The `"files.editor"` value must be an array
230234
- The `"files.editor"` values must not have duplicates
235+
- The `"files.invalidator"` key is optional
236+
- The `"files.invalidator"` value must be an array
237+
- The `"files.invalidator"` values must not have duplicates
231238
- The files listed in the `"files.solution"` must exist
232239
- The files listed in the `"files.test"` must exist
233240
- The files listed in the `"files.exemplar"` must exist
234241
- The files listed in the `"files.editor"` must exist
235-
- Files can only be listed in either the `"files.solution"`, `"files.test"` or `"files.exemplar` array (no overlap)
242+
- The files listed in the `"files.invalidator"` must exist
243+
- Files can only be listed in either the `"files.solution"`, `"files.test"`, `"files.exemplar"` or `"files.invalidator"` array (no overlap)
236244
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
237245
- The `"forked_from"` key is optional
238246
- The `"forked_from"` value must be an array
@@ -299,11 +307,15 @@ The `config.json` file should have the following checks:
299307
- The `"files.editor"` key is optional
300308
- The `"files.editor"` value must be an array
301309
- The `"files.editor"` values must not have duplicates
310+
- The `"files.invalidator"` key is optional
311+
- The `"files.invalidator"` value must be an array
312+
- The `"files.invalidator"` values must not have duplicates
302313
- The files listed in the `"files.solution"` must exist
303314
- The files listed in the `"files.test"` must exist
304315
- The files listed in the `"files.example"` must exist
305316
- The files listed in the `"files.editor"` must exist
306-
- Files can only be listed in either the `"files.solution"`, `"files.test"` or `"files.example` array (no overlap)
317+
- The files listed in the `"files.invalidator"` must exist
318+
- Files can only be listed in either the `"files.solution"`, `"files.test"`, `"files.example` or `"files.invalidator"` array (no overlap)
307319
- If the track is `d` or `plsql`, the `"files.solution"` and `"files.test"` files _can_ overlap
308320
- The `"language_versions"` key is optional
309321
- The `"language_versions"` value must be a string

building/tracks/concept-exercises.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ This file contains meta information on the exercise:
290290
- `test`: the [test file(s)](./#filetests) (required)
291291
- `exemplar`: the [exemplar implementation file(s)](./#fileexemplarimplementation) (required)
292292
- `editor`: other files shown as read-only in the editor (optional)
293+
- `invalidator`: files that when changed, cause a solution to become out-of-date (optional)
293294
- `language_versions`: Language version requirements (optional)
294295
- `blurb`: A short description of this exercise. Its length must be <= 350. Markdown is _not_ supported (required)
295296
- `source`: The source this exercise is based on (optional)

building/tracks/practice-exercises.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ This file contains meta information on the exercise:
253253
- `test`: the [test file(s)](./#filetests) (required)
254254
- `example`: the [example implementation file(s)](./#fileexampleimplementation) (required)
255255
- `editor`: additional files shown as read-only in the editor (optional)
256+
- `invalidator`: files that when changed, cause a solution to become out-of-date (optional)
256257
- `language_versions` Language version requirements (optional)
257258
- `blurb`: A short description of this exercise. Its length must be <= 350. Markdown is _not_ supported (required)
258259
- `source`: The source this exercise is based on (optional)

0 commit comments

Comments
 (0)