aboutsummaryrefslogblamecommitdiff
path: root/build.sbt
blob: efb528a614a4f2e470e742195657fa7b9663ed90 (plain) (tree)
1
2
3
4
5
6
7
8
9


                                                                                  




                                                                      
                                                                          
                            
                         
            
                                                 














                                                      
 
                                                   




                              













                                                                
   
// shadow sbt-scalajs' crossProject and CrossType until Scala.js 1.0.0 is released
import sbtcrossproject.{crossProject, CrossType}

val testSettings = Seq(
  libraryDependencies += "com.lihaoyi" %%% "utest" % "0.6.4" % "test",
  testFrameworks += new TestFramework("utest.runner.Framework")
)

lazy val yamlesque = crossProject(JVMPlatform, JSPlatform, NativePlatform)
  .crossType(CrossType.Pure)
  .settings(testSettings)
  .settings(
    scalaVersion := crossScalaVersions.value.head
  )
  .jvmSettings(
    crossScalaVersions := "2.12.4" :: "2.11.12" :: Nil
  )
  .jsSettings(
    crossScalaVersions := "2.12.4" :: "2.11.12" :: Nil
  )
  .nativeSettings(
    crossScalaVersions := "2.11.12" :: Nil,
    nativeLinkStubs := true // required for utest
  )

lazy val yamlesqueJVM    = yamlesque.jvm
lazy val yamlesqueJS     = yamlesque.js
lazy val yamlesqueNative = yamlesque.native

lazy val yamlesqueSpray = crossProject(JVMPlatform)
  .crossType(CrossType.Pure)
  .in(file("yamlesque-spray"))
  .dependsOn(yamlesque)
  .settings(testSettings)
  .settings(
    libraryDependencies += "io.spray" %%% "spray-json" % "1.3.4"
  )
lazy val yamlesqueSprayJVM = yamlesqueSpray.jvm

lazy val root = (project in file("."))
  .aggregate(
    yamlesqueJVM,
    yamlesqueJS,
    yamlesqueNative,
    yamlesqueSprayJVM
  )
  .settings(
    publish := {},
    publishLocal := {}
  )