-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore/refactor to projectmatrix #1466
base: series/4.x
Are you sure you want to change the base?
chore/refactor to projectmatrix #1466
Conversation
f6b944c
to
b5c4abc
Compare
I reverted the zio-sbt-website version. As the new version added a |
examples/src/main/scala/zio/config/examples/autoderivation/AutoDerivationPureConfig.scala
Outdated
Show resolved
Hide resolved
@@ -42,7 +42,7 @@ object AutomaticConfig extends App { | |||
"aws.credentials.Token.value" -> "token", | |||
"port" -> "10", | |||
"default" -> "12", | |||
"dburl" -> "some url", | |||
"dburl.value" -> "some url", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is some inconsistency on the usage of value-classes. Sometimes AnyVal is extended, sometimes not. In some tests it expects the path to have the nested path, but in this code it did not.
I think also some apps were not working in in the main branch. This change for now makes it work.
9b11812
to
dc0f710
Compare
project/plugins.sbt
Outdated
addSbtPlugin("pl.project13.scala" % "sbt-jcstress" % "0.2.0") | ||
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.7") | ||
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.3.1") | ||
addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.10.0") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure about this. I don't think any other zio project is using this so far. And we have zio-sbt to help us with the builds. I'd prefer to stick to the same solution, unless you can make a compelling argument.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sbt-projectmatrix makes the build much nicer to work with imo. It is more explicit and helps to discover what platforms and versions are in scope. I have seen multiple public projects already using it and I am using it in all of my customer projects. It make it much easier to crossbuild, export all in a single bloopInstall instead of just one Scala version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To my understanding it should also be a default feature in SBT 2.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the existing build and the command aliases to target the different platforms and scala versions it was quite error prone to make sure all projects were included. Now you do not have to use the +
or ++
anymore. All projects have a direct projectref in the build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the build is much more concise now and it is targeting all the platforms and Scala versions it can support (the existing build was missing some).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ref sbt-projectmatrix insource in sbt 2.x: https://eed3si9n.com/sbt-2.0.0-beta
project/plugins.sbt
Outdated
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.4") | ||
addSbtPlugin("dev.zio" % "zio-sbt-website" % "0.3.1") | ||
|
||
libraryDependencies += "org.snakeyaml" % "snakeyaml-engine" % "2.6" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
was unused? or is now a transitive dependency?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It was used to extract Scale versions from the ci.yml
definition. There is quite some difference on how different zio-projects are being configured. The BuildHelper.scala
has a lot if different implementations. I think the Scala versions should just be part of the build files and not extracted from ci.yml. Most projects do this and it prevent us from requiring this dependency in the sbt tasks.
b0a9848
to
325fd63
Compare
325fd63
to
efae03a
Compare
6ef6b67
to
b6c8f2b
Compare
b5732c1
to
4cd168e
Compare
PR to update about all...
Build has been migrated to sbt-projectmatrix because the existing build had quite some issues and did target all platforms and versions correctly.
I also noticed some gaps. Like annotations not implemented for Scala 3.
The JDK version is updated to 17 setting the jvm release target to 11.
Fixes/enables scalafix on CI (which is enabled by default with zio-sbt-ci)