blob: 161d906b07defc887271f41e12b869d6a77a5806 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import sbt.Keys._
import sbt._
import BuildGearpump._
import BuildExperiments.storm
import BuildDashboard.services
import BuildExternals.{external_kafka, external_serializer}
import Dependencies._
import sbtassembly.AssemblyPlugin.autoImport._
object BuildIntegrationTests extends sbt.Build {
lazy val integrationTests: Seq[ProjectReference] = Seq(
it_core,
it_storm09,
it_storm010
)
lazy val it_core = Project(
id = "gearpump-integrationtest-core",
base = file("integrationtest/core"),
settings = commonSettings ++ noPublish ++ Seq(
testOptions in IntegrationTest += Tests.Filter(_.endsWith("Suite")),
libraryDependencies ++= Seq(
"com.lihaoyi" %% "upickle" % upickleVersion,
"org.scalatest" %% "scalatest" % scalaTestVersion % "it",
"org.pegdown" % "pegdown" % "1.4.2" % "it",
"org.parboiled" % "parboiled-core" % "1.1.7" % "it",
"org.parboiled" % "parboiled-java" % "1.1.7" % "it",
"org.mortbay.jetty" % "jetty-util" % "6.1.26" % "it",
"org.ow2.asm" % "asm-all" % "5.0.3" % "it"
)
)
).configs(IntegrationTest).settings(Defaults.itSettings: _*)
.dependsOn(
core % "provided",
streaming % "test->test; provided",
services % "test->test; provided",
external_kafka,
storm,
external_serializer
).disablePlugins(sbtassembly.AssemblyPlugin)
// Integration test for Storm 0.9.x
lazy val it_storm09 = Project(
id = "gearpump-integrationtest-storm09",
base = file("integrationtest/storm09"),
settings = commonSettings ++ noPublish ++ myAssemblySettings ++
Seq(
libraryDependencies ++= Seq(
"org.apache.storm" % "storm-kafka" % storm09Version,
"org.apache.storm" % "storm-starter" % storm09Version,
"com.googlecode.json-simple" % "json-simple" % jsonSimpleVersion,
"org.apache.kafka" %% "kafka" % kafkaVersion
),
target in assembly := baseDirectory.value.getParentFile / "target" /
CrossVersion.binaryScalaVersion(scalaVersion.value)
)
).dependsOn(core % "provided", storm % "provided")
// Integration test for Storm 0.10.x
lazy val it_storm010 = Project(
id = "gearpump-integrationtest-storm010",
base = file("integrationtest/storm010"),
settings = commonSettings ++ noPublish ++ myAssemblySettings ++
Seq(
libraryDependencies ++= Seq(
"org.apache.storm" % "storm-kafka" % stormVersion,
"org.apache.storm" % "storm-starter" % stormVersion,
"org.apache.kafka" %% "kafka" % kafkaVersion
),
target in assembly := baseDirectory.value.getParentFile / "target" /
CrossVersion.binaryScalaVersion(scalaVersion.value)
)
).dependsOn(core % "provided", storm % "provided")
}