aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@driver.xyz>2017-09-01 11:07:04 -0700
committerJakob Odersky <jakob@driver.xyz>2017-09-01 11:07:04 -0700
commit240396dfe41385c81e476a1e5c5c3113b634c273 (patch)
tree328a6c5f42d1d312d9a419d556fdc45ce2fa60f7
parent222ac99c305d7b12866546c7eae90c0e86c40ec3 (diff)
downloadsbt-settings-240396dfe41385c81e476a1e5c5c3113b634c273.tar.gz
sbt-settings-240396dfe41385c81e476a1e5c5c3113b634c273.tar.bz2
sbt-settings-240396dfe41385c81e476a1e5c5c3113b634c273.zip
Include test dependencies in integration tests
-rw-r--r--project/build.properties2
-rw-r--r--src/main/scala/xyz.driver.sbt/IntegrationTestPackaging.scala99
-rw-r--r--src/main/scala/xyz.driver.sbt/SbtSettings.scala11
3 files changed, 56 insertions, 56 deletions
diff --git a/project/build.properties b/project/build.properties
index 4c003f6..3507256 100644
--- a/project/build.properties
+++ b/project/build.properties
@@ -1,4 +1,4 @@
#Activator-generated Properties
#Wed Jul 06 16:08:49 PDT 2016
template.uuid=a675a7df-bee3-48df-9eaa-688d99e5814e
-sbt.version=0.13.8
+sbt.version=0.13.16
diff --git a/src/main/scala/xyz.driver.sbt/IntegrationTestPackaging.scala b/src/main/scala/xyz.driver.sbt/IntegrationTestPackaging.scala
index a5a16bc..4a6b4be 100644
--- a/src/main/scala/xyz.driver.sbt/IntegrationTestPackaging.scala
+++ b/src/main/scala/xyz.driver.sbt/IntegrationTestPackaging.scala
@@ -11,6 +11,7 @@ import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport.Docker
import com.typesafe.sbt.packager.universal._
import com.typesafe.sbt.packager.universal.UniversalPlugin.autoImport._
import sbt._
+import sbt.plugins._
import sbt.Keys._
object IntegrationTestPackaging extends AutoPlugin {
@@ -19,7 +20,7 @@ object IntegrationTestPackaging extends AutoPlugin {
override def trigger = AllRequirements
object autoImport {
- val IntegrationTest = config("it") extend (Test) // make test classes available
+ lazy val IntegrationTest = config("it") extend (Test) // make test classes available
}
import autoImport._
@@ -31,56 +32,64 @@ object IntegrationTestPackaging extends AutoPlugin {
}
}
- override def projectSettings = Seq(
- mappings in Universal ++= {
- val cp: Seq[(File, String)] = (dependencyClasspath in IntegrationTest).value
- .map(_.data.toPath)
- .flatMap(list)
- .map {
- case (file, location) =>
- file.toFile -> ("lib-it/" + location)
- }
+ private def configurationSettings =
+ inConfig(IntegrationTest)(Defaults.configSettings) ++
+ inConfig(IntegrationTest)(Defaults.testSettings) ++ Seq(
+ ivyConfigurations := overrideConfigs(IntegrationTest)(ivyConfigurations.value)
+ )
- val tests: Seq[(File, String)] = list((packageBin in IntegrationTest).value.toPath)
- .map {
- case (file, location) =>
- file.toFile -> ("lib-it/" + location)
- }
+ override def projectSettings =
+ configurationSettings ++
+ Seq(
+ mappings in Universal ++= {
+ val cp: Seq[(File, String)] = (dependencyClasspath in IntegrationTest).value
+ .map(_.data.toPath)
+ .flatMap(list)
+ .map {
+ case (file, location) =>
+ file.toFile -> ("lib-it/" + location)
+ }
- val script = {
- def libs(mappings: Seq[(File, String)]): String =
- mappings
+ val tests: Seq[(File, String)] = list((packageBin in IntegrationTest).value.toPath)
.map {
- case (_, location) =>
- s"$$bin_dir/../$location"
+ case (file, location) =>
+ file.toFile -> ("lib-it/" + location)
}
- .mkString(":")
- s"""|#!/bin/bash
- |bin_dir="$$(dirname "$$(readlink -f "$$0")")"
- |exec java \\
- | -cp "${libs(tests ++ cp)}" \\
- | org.scalatest.tools.Runner \\
- | -o \\
- | -R "${libs(tests)}"
- |""".stripMargin
- }
- val scriptFile = (resourceManaged in IntegrationTest).value / "runit"
- IO.write(scriptFile, script)
- scriptFile.setExecutable(true)
+ val script = {
+ def libs(mappings: Seq[(File, String)]): String =
+ mappings
+ .map {
+ case (_, location) =>
+ s"$$bin_dir/../$location"
+ }
+ .mkString(":")
+ s"""|#!/bin/bash
+ |bin_dir="$$(dirname "$$(readlink -f "$$0")")"
+ |exec java \\
+ | -cp "${libs(tests ++ cp)}" \\
+ | org.scalatest.tools.Runner \\
+ | -o \\
+ | -R "${libs(tests)}"
+ |""".stripMargin
+ }
+
+ val scriptFile = (resourceManaged in IntegrationTest).value / "runit"
+ IO.write(scriptFile, script)
+ scriptFile.setExecutable(true)
- cp ++ tests ++ Seq(scriptFile -> s"bin/${normalizedName.value}-it")
- },
- dockerCommands in Docker := {
- (dockerCommands in Docker).value ++ Seq(
- ExecCmd("RUN", "mkdir", "-p", "/test"),
- ExecCmd("RUN",
- "ln",
- "-s",
- s"${(defaultLinuxInstallLocation in Docker).value}/bin/${normalizedName.value}-it",
- "/test/run_integration_test.sh")
+ cp ++ tests ++ Seq(scriptFile -> s"bin/${normalizedName.value}-it")
+ },
+ dockerCommands in Docker := {
+ (dockerCommands in Docker).value ++ Seq(
+ ExecCmd("RUN", "mkdir", "-p", "/test"),
+ ExecCmd("RUN",
+ "ln",
+ "-s",
+ s"${(defaultLinuxInstallLocation in Docker).value}/bin/${normalizedName.value}-it",
+ "/test/run_integration_test.sh")
+ )
+ }
)
- }
- )
}
diff --git a/src/main/scala/xyz.driver.sbt/SbtSettings.scala b/src/main/scala/xyz.driver.sbt/SbtSettings.scala
index ca92f5f..380e985 100644
--- a/src/main/scala/xyz.driver.sbt/SbtSettings.scala
+++ b/src/main/scala/xyz.driver.sbt/SbtSettings.scala
@@ -244,15 +244,6 @@ object SbtSettings extends AutoPlugin {
)
}
- def integrationTestingConfiguration: Project = {
- project
- .configs(IntegrationTest)
- .settings(
- Defaults.itSettings ++ Seq(
- parallelExecution in IntegrationTest := false
- ))
- }
-
def packagingConfiguration: Project = {
project
.settings( // for assembly plugin
@@ -380,7 +371,7 @@ object SbtSettings extends AutoPlugin {
)
override def trigger: PluginTrigger = allRequirements
- override def projectSettings: Seq[Setting[_]] = Defaults.coreDefaultSettings ++ Seq(
+ override def projectSettings: Seq[Setting[_]] = Seq(
organization := "xyz.driver",
crossScalaVersions := List("2.11.11", "2.12.3"),
scalaVersion := crossScalaVersions.value.head,