blob: 85fa08b692e41df1b21d33df4ab589a77d2ef4cb [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.
*/
buildscript {
ext.kotlin_version = '1.3.21'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'org.junit.platform:junit-platform-gradle-plugin:1.1.0'
}
}
plugins {
id "org.nosphere.apache.rat" version "0.3.1"
id "org.jetbrains.kotlin.jvm" version "1.3.0"
id "distribution"
}
apply plugin: 'distribution'
apply plugin: 'kotlin'
apply plugin: 'project-report'
apply plugin: 'org.junit.platform.gradle.plugin'
htmlDependencyReport {
projects = project.allprojects
}
allprojects {
group 'org.apache.amaterasu'
version '0.2.0-incubating-rc4'
}
task copyLegalFiles(type: Copy) {
from "./DISCLAIMER", "./LICENSE", "./NOTICE"
into "${buildDir}/amaterasu"
}
task buildHomeDir() {
dependsOn subprojects.collect {
getTasksByName('copyToHome', true)
}
dependsOn copyLegalFiles
}
task cleanBuild {
dependsOn clean
dependsOn buildHomeDir
buildHomeDir.mustRunAfter(clean)
}
distributions {
custom {
baseName = 'apache-amaterasu'
version = project.version
contents {
from { 'build/amaterasu' }
}
}
}
task buildDistribution() {
delete 'build/amaterasu'
dependsOn buildHomeDir
dependsOn customDistTar
}
rat {
// List of exclude directives, defaults to ['**/.gradle/**']
excludes = ["**/build/**", '**/.gradle/**', '**/gradle/**', '**/.idea/**', '**/.ruby-version/**', '**/repo/**', '**/resources/**', '**/*.iml/**']
}
tasks.withType(Test) {
maxParallelForks = 1
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
testCompile(
'org.junit.jupiter:junit-jupiter-api:5.2.0'
)
testRuntime(
'org.junit.jupiter:junit-jupiter-engine:5.2.0'
)
testImplementation(
'org.junit.jupiter:junit-jupiter-api:5.2.0'
)
testRuntimeOnly(
'org.junit.jupiter:junit-jupiter-engine:5.2.0',
'org.junit.vintage:junit-vintage-engine:5.2.0',
'org.junit.platform:junit-platform-launcher:1.1.0',
'org.junit.platform:junit-platform-runner:1.1.0'
)
}
compileTestKotlin {
kotlinOptions {
freeCompilerArgs = ["-Xjsr305=strict"]
jvmTarget = "1.8"
}
}
test {
useJUnitPlatform()
}