78
79
80
81
82
83
84
85
86
87
88
89
90
91
| 78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
+
+
+
+
+
+
+
+
+
+
|
* For more complex code it's very common to introduce new global application
settings.
* Rather than leave each plugin to also micromanage an UI for settings those,
defining a standard way to collect options (globally or on per-plugin basis)
is a neat gimmick.
* There's quite some overlap. But PMD has an entirely different scope than build/source-packaging tools (npm, pip, composer, etc).
* The plugin spec is meant for runtime configuration between individual scripts, not a global project recipie.
* With e.g. [depends](wiki/depends) being more of a recommendation than leading to dependency hell.
* Its scope is end-user discoverable documetation rather than build systems.
* Although one could generate/augment e.g. package.json from a list of `# depends: npm:xyz, npm:abc, …`
## Inspired by
Both syntax and usage didn't come out of thin air. There's lots of prior art
and things PMD tries to be compatible with to some extend:
|