scala-steward
scala-steward copied to clipboard
Add ability to run and commit locally with no Pull Requests
I'd like to start testing steward on a private repo locally, instead of doing updates by hand. It's not yet part of the repo's standard process, so I don't want steward to make the PRs for me, and I'd like to coordinate the ordering of updates myself.
I'd like the ability to do some combination of these things:
- List potential upgrades
- Commit individual updates, or bundle them into a branch
- Explicitly run the update for a specific list of libraries
I'm not sure what point 3 means, could you clarify? point 1 could be achieved by running sbt-updates which would list all dependencies that could be upgraded (you would then have to replace the versions on your sbt files manually.)
My point 3 is basically wanting to be able to do "run scala steward on [fs2, cats-effect, library-x]". I know I can edit the number myself, but I also have to chase down and manually run any scalafixes. I'd rather have a high level tool, especially so that running it frequently isn't a pain
FYI: I'm not particular interested in working on this so someone else has to take the lead. I would suggest to add this CLI app as a separate sbt subproject in this repo or maybe even as a separate repository under the scala-steward-org organization since I imagine that it would only reuse a minority of the code in the core project.
Just noticed that @alexarchambault expressed interest in integrating a "local Scala Steward" into scala-cli: https://github.com/VirtusLab/scala-cli/issues/20.
There is a new CLI tool: https://github.com/kitlangton/scala-update It's not as thorough as Scala Steward, but it partially solves this use case.
Closing since this is IMO out-of-scope for this repository.
If someone wants to work on this in a separate repository under the scala-steward-org organization, I'm happy to create it and grant write permissions for it. To reuse code from this repository for the CLI tool, I'd recommend to include scala-steward-core as library dependency.