bitter-ability-32190
01/11/2022, 4:06 PMcookiecutter
script for common tasks would really speed up stamping out new linter/formatters: https://github.com/cookiecutter/cookiecutter
(The result doesn't have to be perfect, but any templating goes a long way)enough-analyst-54434
01/11/2022, 4:11 PMenough-analyst-54434
01/11/2022, 4:14 PMbitter-ability-32190
01/11/2022, 4:15 PMenough-analyst-54434
01/11/2022, 4:17 PMenough-analyst-54434
01/11/2022, 4:18 PMenough-analyst-54434
01/11/2022, 4:20 PMbitter-ability-32190
01/11/2022, 4:23 PMbitter-ability-32190
01/11/2022, 4:25 PMenough-analyst-54434
01/11/2022, 4:25 PMWe may have made that choice already, but I'm not sure. Hopefully we can de-oilerplate boilerplaty common tasks instead.Truly meant I'm not sure. @hundreds-father-404 is likely the definitive voice here. He'll be the one who does or does not have plans to clean up adding a linter.
enough-analyst-54434
01/11/2022, 4:26 PMbitter-ability-32190
01/11/2022, 4:29 PMenough-analyst-54434
01/11/2022, 4:30 PMbitter-ability-32190
01/11/2022, 4:32 PMbuildifier
. Running it in Pants is ideal because (gestures broadly at all of Pants' great features)
When we're off Bazel completely, I get to remove buildifier
support šbitter-ability-32190
01/11/2022, 4:34 PMI just don't like developing that way.Totally fair, but some of us do. š When you're the only build engineer for a team of ~100 your time becomes a very valuable asset.
enough-analyst-54434
01/11/2022, 4:35 PMbitter-ability-32190
01/11/2022, 4:37 PMenough-analyst-54434
01/11/2022, 4:38 PMbitter-ability-32190
01/11/2022, 6:21 PMjoshuacannon@CEPHANDRIUS:~/work/techlabs$ ./pants lint path/to/BUILD
ā buildifier succeeded.
wide-midnight-78598
01/12/2022, 2:44 PMhundreds-father-404
01/13/2022, 5:47 PMpython_formatters.py
file where you have to set up each distinct language with 50 lines of boilerplate. https://github.com/pantsbuild/pants/pull/14122 taught me some new design patterns with rules that might make that possible
John's assessment is right - I intentionally did not generalize in the beginning because it was too soon, "premature generalization". We now have 8+ formatters/linters, we're ready to start simplifying things. And the Rules API means a plugin that diverges from the standard way can do its own thing just fine.