// shadow sbt-scalajs' crossProject and CrossType from Scala.js 0.6.x import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} val Scala2_11 = "2.11.12" val Scala2_12 = "2.12.10" val Scala2_13 = "2.13.1" val FastParse = "1.0.1" val Shapeless = "2.3.3" val ScalaCheck = "1.14.2" val ScalaTest = "3.0.8" val ScalaTestNative = "3.2.0-SNAP10" val SharedSettings = Seq( name := "toml-scala", organization := "tech.sparse", scalaVersion := Scala2_13, crossScalaVersions := Seq(Scala2_13, Scala2_12, Scala2_11), pomExtra := <url>https://github.com/sparsetech/toml-scala</url> <licenses> <license> <name>MPL-2.0 License</name> <url>https://opensource.org/licenses/MPL-2.0</url> </license> </licenses> <scm> <url>git@github.com:sparsetech/toml-scala.git</url> </scm> <developers> <developer> <id>tindzk</id> <name>Tim Nieradzik</name> <url>http://github.com/tindzk</url> </developer> </developers> ) lazy val root = project.in(file(".")) .aggregate(toml.js, toml.jvm, toml.native) .settings(SharedSettings: _*) .settings(skip in publish := true) lazy val toml = crossProject(JSPlatform, JVMPlatform, NativePlatform) .in(file(".")) .settings(SharedSettings) .settings( libraryDependencies ++= Seq( "org.scalameta" %%% "fastparse" % FastParse, "com.chuusai" %%% "shapeless" % Shapeless ) ) .jsSettings( libraryDependencies ++= Vector( "org.scalacheck" %%% "scalacheck" % ScalaCheck % "test", "org.scalatest" %%% "scalatest" % ScalaTest % "test" ) ) .jvmSettings( libraryDependencies ++= Vector( "org.scalacheck" %% "scalacheck" % ScalaCheck % "test", "org.scalatest" %% "scalatest" % ScalaTest % "test" ) ) .nativeSettings( scalaVersion := Scala2_11, crossScalaVersions := Seq(Scala2_11), // See https://github.com/scalalandio/chimney/issues/78#issuecomment-419705142 nativeLinkStubs := true, libraryDependencies ++= Vector( "org.scalatest" %%% "scalatest" % ScalaTestNative % "test" ), excludeFilter in Test := "*GeneratedSpec*" || "*Generators*" )