| /* |
| * 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. |
| */ |
| |
| apply plugin: 'scala' |
| apply plugin: 'eclipse' |
| compileTestScala.options.encoding = 'UTF-8' |
| |
| repositories { |
| mavenCentral() |
| mavenLocal() |
| } |
| |
| pluginManager.withPlugin('scala') { |
| // Constraint all transitive akka-* dependencies to the one we want to use to avoid issues. |
| // List generated via |
| // ./gradlew :test:dependencies | grep -o 'akka-.*_' | cut -c 6- | rev | cut -c 2- | rev | sort -u |
| def cons = project.getDependencies().getConstraints() |
| def akka = ['akka-actor', 'akka-cluster', 'akka-cluster-metrics', 'akka-cluster-tools', 'akka-coordination', |
| 'akka-discovery', 'akka-distributed-data', 'akka-protobuf', 'akka-remote', 'akka-slf4j', |
| 'akka-stream', 'akka-stream-testkit', 'akka-testkit'] |
| def akkaHttp = ['akka-http', 'akka-http-core', 'akka-http-spray-json', 'akka-http-testkit', 'akka-http-xml', |
| 'akka-parsing', 'akka-http2-support'] |
| |
| akka.forEach { |
| cons.add('compile', "com.typesafe.akka:${it}_${gradle.scala.depVersion}:${gradle.akka.version}") |
| } |
| akkaHttp.forEach { |
| cons.add('compile', "com.typesafe.akka:${it}_${gradle.scala.depVersion}:${gradle.akka_http.version}") |
| } |
| } |
| |
| tasks.withType(Test) { |
| testLogging { |
| events "passed", "skipped", "failed" |
| showStandardStreams = true |
| exceptionFormat = 'full' |
| } |
| outputs.upToDateWhen { false } // force tests to run every time |
| } |
| |
| dependencies { |
| compile "org.scala-lang:scala-library:${gradle.scala.version}" |
| compile "org.apache.openwhisk:openwhisk-tests:${gradle.openwhisk.version}:tests" |
| compile "org.apache.openwhisk:openwhisk-tests:${gradle.openwhisk.version}:test-sources" |
| } |
| |
| tasks.withType(ScalaCompile) { |
| scalaCompileOptions.additionalParameters = gradle.scala.compileFlags |
| } |
| |
| task buildArtifacts(type:Exec) { |
| workingDir 'dat/actions' |
| commandLine './build.sh' |
| } |
| |
| tasks.withType(Test) { |
| dependsOn buildArtifacts |
| } |
| |
| testClasses.dependsOn(buildArtifacts) |