Changes to "Rationale" between 2018-07-04 01:30:27 and 2018-07-04 13:52:53

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: