dogfooding: run scalafixAll with local scalafix-interfaces #1784
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a command to replace the
scalafix-interfaces
brought in bysbt-scalafix
with the local one. Rationale: observe impact of changes & detect regressions.The implementation is not great as it's slow and mutates state, but I ran into dead-ends for the 2 alternatives I explored:
scalafix-interfaces.properties
to force the default scalafix-interfaces to load a custom scalafix-cli would require changes in the classloading logic to favor the custom property file over the one embedded in the JARscalafixInterfacesProvider
could be rewired tocli2_12/fullClasspath
with some minor addition, but it would require turningscalafixInterfacesProvider
into a task key, which is not possible because the parser's completion can only depend on setting keys