#16480 Add support for targetless formatters
Issue created by
Eric-Arellano
Similar to
#14102, we want to support target-less formatters. This dramatically lowers the barrier to entry for both plugin authors and users, especially for things like SQL formatters that are unlikely to have other Pants metadata.
The main challenge is our parallelization scheme: within a language, formatters must run sequentially. But across language groups, the groups should run in parallel. In other words, Python's Black can run at the same time as Google Java Format, but Black and Isort cannot.
We need a mechanism for targetless and target-aware formatters to express that they both belong to the same language. The common value for both is the underlying source file path.
pantsbuild/pants