114 lines
3.8 KiB
Kotlin
114 lines
3.8 KiB
Kotlin
/*
|
|
* Copyright 2010-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
|
* that can be found in the license/LICENSE.txt file.
|
|
*/
|
|
|
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
import java.util.Properties
|
|
|
|
plugins {
|
|
// We explicitly configure versions of plugins in settings.gradle.kts.
|
|
// due to https://github.com/gradle/gradle/issues/1697.
|
|
id("kotlin")
|
|
groovy
|
|
`java-gradle-plugin`
|
|
}
|
|
|
|
buildscript {
|
|
dependencies {
|
|
classpath("com.google.code.gson:gson:2.8.6")
|
|
}
|
|
}
|
|
|
|
val rootProperties = Properties().apply {
|
|
rootDir.resolve("../gradle.properties").reader().use(::load)
|
|
}
|
|
|
|
val kotlinVersion: String by rootProperties
|
|
val kotlinCompilerRepo: String by rootProperties
|
|
val buildKotlinVersion: String by rootProperties
|
|
val buildKotlinCompilerRepo: String by rootProperties
|
|
val konanVersion: String by rootProperties
|
|
val slackApiVersion: String by rootProperties
|
|
val ktorVersion: String by rootProperties
|
|
val shadowVersion: String by rootProperties
|
|
val metadataVersion: String by rootProperties
|
|
|
|
group = "org.jetbrains.kotlin"
|
|
version = konanVersion
|
|
|
|
repositories {
|
|
maven(kotlinCompilerRepo)
|
|
maven(buildKotlinCompilerRepo)
|
|
maven("https://cache-redirector.jetbrains.com/maven-central")
|
|
mavenCentral()
|
|
maven("https://cache-redirector.jetbrains.com/jcenter")
|
|
jcenter()
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly(gradleApi())
|
|
|
|
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")
|
|
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")
|
|
implementation("org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion")
|
|
implementation("com.ullink.slack:simpleslackapi:$slackApiVersion")
|
|
|
|
implementation("io.ktor:ktor-client-auth:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-core:$ktorVersion")
|
|
implementation("io.ktor:ktor-client-cio:$ktorVersion")
|
|
|
|
api("org.jetbrains.kotlin:kotlin-native-utils:$kotlinVersion")
|
|
|
|
// Located in <repo root>/shared and always provided by the composite build.
|
|
api("org.jetbrains.kotlin:kotlin-native-shared:$konanVersion")
|
|
implementation("com.github.jengelman.gradle.plugins:shadow:$shadowVersion")
|
|
|
|
implementation("org.jetbrains.kotlinx:kotlinx-metadata-klib:$metadataVersion")
|
|
}
|
|
|
|
sourceSets["main"].withConvention(KotlinSourceSet::class) {
|
|
kotlin.srcDir("$projectDir/../tools/benchmarks/shared/src/main/kotlin/report")
|
|
}
|
|
|
|
gradlePlugin {
|
|
plugins {
|
|
create("benchmarkPlugin") {
|
|
id = "benchmarking"
|
|
implementationClass = "org.jetbrains.kotlin.benchmark.KotlinNativeBenchmarkingPlugin"
|
|
}
|
|
create("compileBenchmarking") {
|
|
id = "compile-benchmarking"
|
|
implementationClass = "org.jetbrains.kotlin.benchmark.CompileBenchmarkingPlugin"
|
|
}
|
|
create("swiftBenchmarking") {
|
|
id = "swift-benchmarking"
|
|
implementationClass = "org.jetbrains.kotlin.benchmark.SwiftBenchmarkingPlugin"
|
|
}
|
|
create("compileToBitcode") {
|
|
id = "compile-to-bitcode"
|
|
implementationClass = "org.jetbrains.kotlin.bitcode.CompileToBitcodePlugin"
|
|
}
|
|
create("runtimeTesting") {
|
|
id = "runtime-testing"
|
|
implementationClass = "org.jetbrains.kotlin.testing.native.RuntimeTestingPlugin"
|
|
}
|
|
}
|
|
}
|
|
|
|
val compileKotlin: KotlinCompile by tasks
|
|
val compileGroovy: GroovyCompile by tasks
|
|
|
|
// https://youtrack.jetbrains.com/issue/KT-37435
|
|
compileKotlin.apply {
|
|
kotlinOptions.jvmTarget = "1.8"
|
|
kotlinOptions.freeCompilerArgs += listOf("-Xno-optimized-callable-references", "-Xskip-prerelease-check")
|
|
}
|
|
|
|
// Add Kotlin classes to a classpath for the Groovy compiler
|
|
compileGroovy.apply {
|
|
classpath += project.files(compileKotlin.destinationDir)
|
|
dependsOn(compileKotlin)
|
|
}
|