21
21
Unorthodox artifacts (in addition to unorthodox sources) are checked into the
22
22
source code repository.
23
23
24
- The set of unorthodox source files is small. Most changes a typical contributor
25
- might make do not involve those source files.
24
+ Each unorthodox artifact must include the word 'generated' in its file name.
25
+
26
+ Each unorthodox artifact must mention in a comment at the top of the file that
27
+ the file is generated, which unorthodox tool generated the file, and what the
28
+ unorthodox sources were.
29
+
30
+ The set of unorthodox source files is kept small. Most changes a typical
31
+ contributor might make do not involve those source files.
26
32
27
33
Unorthodox tools are not included in the ` vendor ` directory (see
28
34
[ ADR003] ( docs/architecture/ADR003-Vendor-sources.md ) ).
@@ -32,18 +38,18 @@ Unorthodox tools are not included in the `vendor` directory (see
32
38
No unorthodox tools is required in order to build quick-lint-js. Unorthodox
33
39
tools are only required when changing certain source files.
34
40
35
- It's sometimes unclear if a file which is checked into the repository is
36
- generated. This means that a contributor might modify files, but their
37
- modifications might be destroyed when the unorthodox tool is re-run to re-generate
38
- those manually-modified files.
41
+ It's clear whether a file which is checked into the repository is generated. A
42
+ contributor might modify an unorthodox artifact, but there are several
43
+ indications that this is a bad idea.
39
44
40
45
Different versions of unorthodox tools can produce different artifacts given the
41
46
same sources. This can cause thrash it Git logs if two developers trade changes
42
47
to sources but use different different tool versions.
43
48
44
49
The set of unorthodox sources turned out to be larger than anticipated. For
45
50
example, * all* sources are potentially unorthodox sources for the translation
46
- tools, and the often-changed ` error.h ` file is definitely an unorthodox source.
51
+ tools, and the often-changed ` diagnostic-types.h ` file is definitely an
52
+ unorthodox source.
47
53
48
54
It's easy for unorthodox artifacts to get out of sync with their unorthodox
49
55
sources. This is clearly true for translation files (.po).
0 commit comments