| /* |
| * 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") |
| } |