Comments (9)
IIRC mill already has a builtin to check for updates? But it won't rewrite the code will it?
from scala-steward.
You can strike point two from your list. scala-steward is build-tool-agnostic when it comes to updating versions in source files. It "just" uses text search and replace to update versions in source files. 3) will be the hard part for which scala-steward uses the sbt-updates plugin.
from scala-steward.
3 is built into it. mill mill.scalalib.Dependency/updates
from scala-steward.
This is great! Then only scala-steward needs be changed to call the right mill commands. I'm looking forward to the PR. :-)
from scala-steward.
I had a very quick dive into the code. Is the following analysis correct ?
-
The algebra that needs to be provided with an alternate implementation is
SbtAlg
? -
SbtAlg currently exposes a reference to
ArtificialProject
in its interface, the concept of which seems to be fairly coupled to Sbt itself. MaybeArtificialProject
should be a path dependant type both produced and consumed bySbtAlg
, so that a similar type can be established for other build tools (if necessary) -
steward currently implements a mechanism that expects the build tool to dump a json representation of the dependencies involved in the repo. Is there an example (or schema) of the json ?
from scala-steward.
from scala-steward.
+1 on this
from scala-steward.
FYI: Scala Steward does not need the build system any more for finding dependency updates since #1209. This should make it easier to add support for other build systems. Anyone looking into adding support for Mill should also look into #1193 which adds support for Maven.
from scala-steward.
#1429 made adding support for other build system a lot easier. The only thing required now is an implementation of BuildSystemAlg
(to get the dependencies from the build) and plugging it into BuildSystemDispatcher
.
from scala-steward.
Related Issues (20)
- No able to create a pull request Bitbucket HOT 1
- sbt not found with scala-steward-action HOT 1
- no effect with .github/.scala-steward.conf override if PRs has been already created before HOT 2
- Scala Steward run within an org is incorrectly creating PR's against wrong repo HOT 3
- [Bug?] Cannot resolve -p with Mill 0.11.6 HOT 8
- Option to abort on scalafix migration failure HOT 1
- Using custom dependency rules for scalafix-migrations with 'type: "build"'
- Scala Steward runs as root when using the published Docker image (but it probably shouldn't)
- Unable to respect update frequency when version number is stored as a val
- Scala Steward attempting to raise PRs for group branches that already have PRs HOT 3
- Force-pushing over modified branches HOT 5
- Avoid pushing scala updates for non LTS versions HOT 6
- Automatic `buildRoots` detection
- Bitbucket repository name is malformatted in URL
- Clarification of "updatePullRequests" for grouped PRs HOT 4
- Feature to limit branch name length HOT 3
- Wrong targetRefName when create azure-repo PullRequestPayload
- Config option to update files only in defined paths
- Scalafmt cannot run when buildRoots is set
- `scala-cli` dependencies: "WARN Unable to bump version for update [...]"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scala-steward.