11import  ScalaModulePlugin ._ 
2+ import  sbtcrossproject .{crossProject , CrossType }
23
34scalaVersionsByJvm in ThisBuild  :=  {
45  val  v211  =  " 2.11.11" 
@@ -14,12 +15,11 @@ scalaVersionsByJvm in ThisBuild := {
1415}
1516
1617lazy  val  root  =  project.in(file(" ." 
17-   .aggregate(`scala-parser-combinatorsJS`, `scala-parser-combinatorsJVM`)
18+   .aggregate(`scala-parser-combinatorsJS`, `scala-parser-combinatorsJVM`, `scala-parser-combinatorsNative` )
1819  .settings(disablePublishing)
1920
20- lazy  val  `scala-parser-combinators`  =  crossProject.in(file(" ." 
21+ lazy  val  `scala-parser-combinators`  =  crossProject( JSPlatform ,  JVMPlatform ,  NativePlatform ) .in(file(" ." 
2122  settings(scalaModuleSettings : _* ).
22-   jvmSettings(scalaModuleSettingsJVM).
2323  settings(
2424    name :=  " scala-parser-combinators" 
2525    version :=  " 1.0.7-SNAPSHOT" 
@@ -40,16 +40,33 @@ lazy val `scala-parser-combinators` = crossProject.in(file(".")).
4040      version.value
4141    )
4242  ).
43+   jvmSettings(scalaModuleSettingsJVM).
4344  jvmSettings(
45+     //  Mima uses the name of the jvm project in the artifactId
46+     //  when resolving previous versions (so no "-jvm" project)
47+     name :=  " scala-parser-combinators" 
4448    OsgiKeys .exportPackage :=  Seq (s " scala.util.parsing.*;version= ${version.value}" ),
4549    libraryDependencies +=  " junit" %  " junit" %  " 4.12" %  " test" 
4650    libraryDependencies +=  " com.novocode" %  " junit-interface" %  " 0.11" %  " test" 
4751  ).
4852  jsSettings(
53+     name :=  " scala-parser-combinators-js" 
4954    //  Scala.js cannot run forked tests
5055    fork in Test  :=  false 
5156  ).
52-   jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin ))
57+   jsConfigure(_.enablePlugins(ScalaJSJUnitPlugin )).
58+   nativeSettings(
59+     name :=  " scala-parser-combinators-native" 
60+     scalaVersion :=  " 2.11.11" 
61+     skip in compile :=  System .getProperty(" java.version" " 1.6" 
62+     test :=  {},
63+     libraryDependencies :=  {
64+       if  (! scalaVersion.value.startsWith(" 2.11" 
65+         libraryDependencies.value.filterNot(_.organization ==  " org.scala-native" 
66+       else  libraryDependencies.value
67+     }
68+   )
5369
5470lazy  val  `scala-parser-combinatorsJVM`  =  `scala-parser-combinators`.jvm
5571lazy  val  `scala-parser-combinatorsJS`  =  `scala-parser-combinators`.js
72+ lazy  val  `scala-parser-combinatorsNative`  =  `scala-parser-combinators`.native
0 commit comments