aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2018-03-08 16:53:44 -0800
committerJakob Odersky <jakob@odersky.com>2018-03-28 10:34:31 -0700
commitc5fe23594f66225eb18bf4e67472cd80023eb448 (patch)
tree58fe8509b3990932134c18e09ed69ee83b779373
parent2f3f9aa851080b6c79f3af14b3fdfeab56feffec (diff)
downloadspray-json-derivation-c5fe23594f66225eb18bf4e67472cd80023eb448.tar.gz
spray-json-derivation-c5fe23594f66225eb18bf4e67472cd80023eb448.tar.bz2
spray-json-derivation-c5fe23594f66225eb18bf4e67472cd80023eb448.zip
Refactor build to use sbt-crossproject
-rw-r--r--build.sbt56
-rw-r--r--project/plugins.sbt4
-rw-r--r--shared/src/main/scala/DerivedFormats.scala (renamed from src/main/scala/DerivedFormats.scala)0
-rw-r--r--shared/src/main/scala/annotations.scala (renamed from src/main/scala/annotations.scala)0
-rw-r--r--shared/src/test/scala/CoproductTypeFormatTests.scala (renamed from src/test/scala/CoproductTypeFormatTests.scala)0
-rw-r--r--shared/src/test/scala/FormatTests.scala (renamed from src/test/scala/FormatTests.scala)0
-rw-r--r--shared/src/test/scala/ImplicitDerivedFormatTests.scala (renamed from src/test/scala/ImplicitDerivedFormatTests.scala)0
-rw-r--r--shared/src/test/scala/ProductTypeFormatTests.scala (renamed from src/test/scala/ProductTypeFormatTests.scala)0
8 files changed, 39 insertions, 21 deletions
diff --git a/build.sbt b/build.sbt
index 23c577f..ff91284 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,24 +1,38 @@
-name := "spray-json-derivation"
+// shadow sbt-scalajs' crossProject and CrossType until Scala.js 1.0.0 is released
+import sbtcrossproject.{crossProject, CrossType}
-version in ThisBuild := {
- import sys.process._
- ("git describe --always --dirty=-SNAPSHOT --match v[0-9].*" !!).tail.trim
-}
+lazy val sprayJsonDerivation = crossProject(JVMPlatform)
+ .crossType(CrossType.Full)
+ .in(file("."))
+ .settings(
+ name := "spray-json-derivation",
+ version in ThisBuild := {
+ import sys.process._
+ ("git describe --always --dirty=-SNAPSHOT --match v[0-9].*" !!).tail.trim
+ },
+ crossScalaVersions := "2.12.4" :: "2.11.12" :: Nil,
+ scalaVersion := crossScalaVersions.value.head,
+ scalacOptions ++= Seq(
+ "-feature",
+ "-deprecation",
+ "-Xlint",
+ "-Xfatal-warnings"
+ ),
+ libraryDependencies ++= Seq(
+ "io.spray" %%% "spray-json" % "1.3.4",
+ "com.propensive" %%% "magnolia" % "0.7.1",
+ "org.scalatest" %%% "scalatest" % "3.0.2" % "test"
+ )
+ )
+ .jvmSettings(
+ mimaPreviousArtifacts := Set("xyz.driver" %% "spray-json-derivation" % "0.3.1")
+ )
-crossScalaVersions := "2.12.4" :: "2.11.12" :: Nil
-scalaVersion := crossScalaVersions.value.head
+lazy val sprayJsonDerivationJVM = sprayJsonDerivation.jvm
-scalacOptions ++= Seq(
- "-feature",
- "-deprecation",
- "-Xlint",
- "-Xfatal-warnings"
-)
-
-libraryDependencies ++= Seq(
- "io.spray" %% "spray-json" % "1.3.4",
- "com.propensive" %% "magnolia" % "0.7.1",
- "org.scalatest" %% "scalatest" % "3.0.2" % "test"
-)
-
-mimaPreviousArtifacts := Set("xyz.driver" %% "spray-json-derivation" % "0.3.1")
+lazy val root = (project in file("."))
+ .aggregate(sprayJsonDerivationJVM)
+ .settings(
+ publish := {},
+ publishLocal := {}
+ )
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 17dccdc..dffcdb8 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -2,3 +2,7 @@ ivyLoggingLevel := UpdateLogging.Quiet
addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "1.2.0")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.18")
+addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.22")
+addSbtPlugin("org.portable-scala" % "sbt-crossproject" % "0.3.1")
+addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "0.3.1")
+addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.3.6")
diff --git a/src/main/scala/DerivedFormats.scala b/shared/src/main/scala/DerivedFormats.scala
index d0cac38..d0cac38 100644
--- a/src/main/scala/DerivedFormats.scala
+++ b/shared/src/main/scala/DerivedFormats.scala
diff --git a/src/main/scala/annotations.scala b/shared/src/main/scala/annotations.scala
index 9d35d16..9d35d16 100644
--- a/src/main/scala/annotations.scala
+++ b/shared/src/main/scala/annotations.scala
diff --git a/src/test/scala/CoproductTypeFormatTests.scala b/shared/src/test/scala/CoproductTypeFormatTests.scala
index de73967..de73967 100644
--- a/src/test/scala/CoproductTypeFormatTests.scala
+++ b/shared/src/test/scala/CoproductTypeFormatTests.scala
diff --git a/src/test/scala/FormatTests.scala b/shared/src/test/scala/FormatTests.scala
index 0f56091..0f56091 100644
--- a/src/test/scala/FormatTests.scala
+++ b/shared/src/test/scala/FormatTests.scala
diff --git a/src/test/scala/ImplicitDerivedFormatTests.scala b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
index 1d54ae9..1d54ae9 100644
--- a/src/test/scala/ImplicitDerivedFormatTests.scala
+++ b/shared/src/test/scala/ImplicitDerivedFormatTests.scala
diff --git a/src/test/scala/ProductTypeFormatTests.scala b/shared/src/test/scala/ProductTypeFormatTests.scala
index ce05000..ce05000 100644
--- a/src/test/scala/ProductTypeFormatTests.scala
+++ b/shared/src/test/scala/ProductTypeFormatTests.scala