-
Notifications
You must be signed in to change notification settings - Fork 48
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
Added module for iron #692
Conversation
I am having some difficulties troubleshooting the build. I already had to add two dummy subsequent git tags in order to make sure |
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.
Left some comments. Note I'm not familiar with Cirus neither SBT so I might be wrong.
build.sbt
Outdated
name := moduleName.value, | ||
dependencySettings ++ Seq( | ||
libraryDependencies := Seq( | ||
"io.github.iltotore" %% "iron" % ironVersion, |
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.
In order to support JS and Native, you should use %%%
instead of %%
for Iron dependency.
build.sbt
Outdated
@@ -182,6 +185,28 @@ lazy val refined = crossProject(JSPlatform, JVMPlatform, NativePlatform) | |||
.nativeSettings(sharedNativeSettings) | |||
.dependsOn(core) | |||
|
|||
lazy val iron = crossProject(JVMPlatform) |
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 support JS and Native I guess you should add JSPlatform
and NativePlatform
.
You should also use jsSettings
and nativeSettings
.
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.
tx!, I'll look into JS and native once i have JVM working
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.
Decided to already add js/native as it does not seem to interfere with the problem i'm faced with
build.sbt
Outdated
dependencySettings ++ Seq( | ||
libraryDependencies := Seq( | ||
"io.github.iltotore" %% "iron" % ironVersion, | ||
"org.scalameta" %% "munit" % "1.0.0-M8" % "test", |
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.
Shouldn't it be replaced with mimaSettings
?
|
@rparree did you solve your problem? If not, do the other modules compile successfully? |
@@ -368,7 +401,7 @@ lazy val publishSettings = | |||
|
|||
lazy val mimaSettings = Seq( | |||
mimaPreviousArtifacts := { | |||
val unpublishedModules = Set[String]() | |||
val unpublishedModules = Set[String]("ciris-iron") |
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.
Not sure what this code is supposed to do. As far as I can tell, this is the only difference with other modules. Maybe it is the cause of your dependency problem?
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 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.
We add modules here when there's no published version yet, to exclude them from mima checks.
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.
OK that makes sense and explains why i was in a vicious circle.
This shows up in the logs for the native version, not sure exactly what's causing this.
|
Locally, I see "conflicting cross-version suffixes" on
I revert back to that |
Now i am left with:
|
You should not use Scala 2.x for Iron-related modules. It is Scala 3 only. |
But we can use it in a 2.13 project using |
It shouldn't work because Iron relies heavily on Scala 3-only features like inline, S3 macros etc...
Then I don't get the |
@vlovgr why is the build trying to download ciris version |
It is part of MiMa, but I'm not sure why it happens. If we check |
So, what is the state of this PR? Should the support for 2.12.x be dropped? |
I've opened #701 as a proposal and have asked for feedback. I haven't had a chance to look into workarounds, but also haven't really got any ideas. Maybe one alternative could be to have this module in the iron repository, similar to other iron modules? |
Actually, this was already suggested by @rparree but I suggested your repository instead, since the Refined module is also in yours. I still prefer to have this module in this repository but if it happens to be too complicated to add, I can add it to Iron's repository. I will try tomorrow to make this PR compile. |
So I tried to fix this issue but I'm facing problems:
Unfortunately, this last problem prevents me to further look for a fix. Again, I hope someone will manage to make this PR compile but if it is too burdensome, I will merge the original PR in Iron's repository. |
I finally decided to merge the original PR of @rparree in Iron's repository (Iltotore/iron#163) |
That's great, thanks @Iltotore! 👍 Looks like we can close this pull request then. |
Initial commit to add support for iron.
Originally i added a PR to the Iron project (Iltotore/iron#163), but it probably should be here.
I have been struggling with the build file and conflicts between cross compiling version. It might have to be double checked. Iron is a scala 3 project.
I have also not yet enabled support for JS.