| /* |
| * 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. |
| */ |
| plugins { |
| id 'com.github.johnrengelman.shadow' version '1.2.4' |
| id "org.jetbrains.kotlin.jvm" |
| id 'scala' |
| } |
| |
| sourceCompatibility = 1.8 |
| targetCompatibility = 1.8 |
| |
| shadowJar { |
| zip64 true |
| } |
| |
| repositories { |
| maven { |
| url "https://plugins.gradle.org/m2/" |
| } |
| mavenCentral() |
| } |
| |
| junitPlatform { |
| filters { |
| engines { |
| include 'spek' |
| } |
| } |
| } |
| |
| configurations { |
| provided |
| compile.extendsFrom provided |
| } |
| |
| dependencies { |
| compile 'org.scala-lang:scala-library:2.11.8' |
| compile group: 'com.github.nscala-time', name: 'nscala-time_2.11', version: '2.2.0' |
| compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.9' |
| compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.9' |
| compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.4' |
| compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.9.8' |
| compile group: 'commons-validator', name: 'commons-validator', version: '1.6' |
| compile group: 'software.amazon.awssdk', name: 's3', version: '2.5.23' |
| |
| compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8" |
| compile "org.jetbrains.kotlin:kotlin-reflect" |
| |
| // currently we have to use this specific mesos version to prevent from |
| // clashing with spark |
| compile('org.apache.mesos:mesos:1.7.0:shaded-protobuf') { |
| exclude group: 'com.google.protobuf', module: 'protobuf-java' |
| } |
| |
| compile('com.jcabi:jcabi-aether:0.10.1') { |
| exclude group: 'org.jboss.netty' |
| } |
| |
| compile('org.apache.activemq:activemq-client:5.15.2') { |
| exclude group: 'org.jboss.netty' |
| } |
| |
| compile group: 'org.apache.maven', name: 'maven-core', version: '3.0.5' |
| compile group: 'net.liftweb', name: 'lift-json_2.11', version: '3.2.0' |
| |
| provided group: 'org.apache.hadoop', name: 'hadoop-yarn-client', version: '2.8.5' |
| provided group: 'org.apache.hadoop', name: 'hadoop-common', version: '2.8.5' |
| provided group: 'org.apache.hadoop', name: 'hadoop-yarn-api', version: '2.8.5' |
| provided group: 'org.apache.hadoop', name: 'hadoop-hdfs', version: '2.8.4' |
| |
| testCompile "gradle.plugin.com.github.maiflai:gradle-scalatest:0.14" |
| testRuntime 'org.pegdown:pegdown:1.1.0' |
| testCompile 'junit:junit:4.11' |
| testCompile 'org.scalatest:scalatest_2.11:3.0.1' |
| testCompile 'org.scala-lang:scala-library:2.11.8' |
| testCompile 'org.jetbrains.spek:spek-api:1.1.5' |
| testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version" |
| testRuntime 'org.jetbrains.spek:spek-junit-platform-engine:1.1.5' |
| |
| // spek requires kotlin-reflect, can be omitted if already in the classpath |
| testRuntimeOnly "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" |
| } |
| |
| task copyToHome() { |
| } |
| |
| sourceSets { |
| test { |
| resources.srcDirs += [file('src/test/resources')] |
| } |
| |
| // this is done so Scala will compile before Kotlin |
| main { |
| kotlin { |
| srcDirs = ['src/main/kotlin'] |
| } |
| scala { |
| srcDirs = ['src/main/kotlin','src/main/java', 'src/main/scala'] |
| } |
| java { |
| srcDirs = ['src/main/java'] |
| } |
| } |
| } |
| |
| compileKotlin{ |
| kotlinOptions.jvmTarget = "1.8" |
| } |
| compileTestKotlin { |
| kotlinOptions.jvmTarget = "1.8" |
| } |
| |
| compileScala { |
| dependsOn compileJava |
| classpath += files(compileJava.destinationDir) + files(compileKotlin.destinationDir) |
| } |
| |
| compileJava { |
| dependsOn compileKotlin |
| } |
| |
| |