-
Notifications
You must be signed in to change notification settings - Fork 17
Split jvm-specific settings into scalaModuleSettingsJVM #27
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
Conversation
val v = scalaVersion.value | ||
val Some((2, maj)) = CrossVersion.partialVersion(v) | ||
if (maj >= 12) { | ||
if (v.startsWith("2.12.3")) Seq("-opt:l:inline", "-opt-inline-from", "scala.**") |
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.
That doesn't make any sense. What about 2.12.4?
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.
haha, thanks.
Move jvm-specific settings from scalaModuleSettings to a new scalaModuleSettingsJVM setting. This means that JVM projects in scala modules now have to add bot `scalaModuleSettings` and `scalaModuleSettingsJVM`. Adding sbt-osgi settings in a scala-js project caused the published jar to be empty (scala/scala-parser-combinators#119). Upgrades sbt-osgi to the latest version. Also anticipates the new optimizer settings in 2.12.3 (scala/scala#5964).
) | ||
|
||
lazy val scalaModuleSettingsJVM: Seq[Setting[_]] = Seq( | ||
mimaPreviousVersion := None | ||
) ++ mimaSettings ++ scalaModuleOsgiSettings |
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.
Hum I just realized that this means you've deactivated MiMa for Scala.js, doesn't it?
Scala.js artifacts can very well be checked by MiMa, and should be. We have an (almost) guarantee that "JVM binary compatible" implies "SJSIR binary compatible". So if MiMa says OK for the .class files in a Scala.js artifact, it also means OK for the .sjsir files. It's very useful. We check our own artifacts with MiMa.
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.
Ah, good to know. I thought that MiMa probably doesn't support scala-js jars because it was already deactivated for Scala.js in the build, as the "previous version" is only set for the JVM project (https://github.com/scala/scala-parser-combinators/blob/1.0.x/build.sbt#L62-L64).
I guess the additional value is to also test classfiles compiled from platform-specific sources?
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 fact, running MiMa would have probably caught scala/scala-parser-combinators#119 :-)
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 guess the additional value is to also test classfiles compiled from platform-specific sources?
Yes indeed.
In fact, running MiMa would have probably caught scala/scala-parser-combinators#119 :-)
Ah ah, probably!
Move jvm-specific settings from scalaModuleSettings to a new
scalaModuleSettingsJVM setting. This means that JVM projects in
scala modules now have to add bot
scalaModuleSettings
andscalaModuleSettingsJVM
.Adding sbt-osgi settings in a scala-js project caused the published
jar to be empty (scala/scala-parser-combinators#119).
Upgrades sbt-osgi to the latest version.
Also anticipates the new optimizer settings in 2.12.3
(scala/scala#5964).