Files
kotlin-fork/libraries/stdlib/jvm-minimal-for-test/build.gradle.kts
T
Alexander Udalov 1d6b198915 Build: suppress version and JVM target warnings
To further reduce the output on each build.
2021-02-18 12:17:17 +01:00

94 lines
2.3 KiB
Kotlin

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
description = "Kotlin Mock Runtime for Tests"
plugins {
kotlin("jvm")
`maven-publish`
}
jvmTarget = "1.6"
javaHome = rootProject.extra["JDK_16"] as String
val builtins by configurations.creating {
isCanBeResolved = true
isCanBeConsumed = false
attributes {
attribute(LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE, objects.named(LibraryElements.JAR))
}
}
val runtime by configurations
val runtimeJar by configurations.creating {
runtime.extendsFrom(this)
}
dependencies {
compileOnly(project(":kotlin-stdlib"))
builtins(project(":core:builtins"))
}
sourceSets {
"main" {
java.apply {
srcDir(File(buildDir, "src"))
}
}
"test" {}
}
val copySources by task<Sync> {
val stdlibProjectDir = project(":kotlin-stdlib").projectDir
from(stdlibProjectDir.resolve("runtime"))
.include("kotlin/TypeAliases.kt",
"kotlin/text/TypeAliases.kt")
from(stdlibProjectDir.resolve("src"))
.include("kotlin/collections/TypeAliases.kt")
from(stdlibProjectDir.resolve("../src"))
.include("kotlin/util/Standard.kt",
"kotlin/internal/Annotations.kt",
"kotlin/contracts/ContractBuilder.kt",
"kotlin/contracts/Effect.kt",
"kotlin/annotations/Experimental.kt")
into(File(buildDir, "src"))
}
tasks.withType<JavaCompile> {
sourceCompatibility = "1.6"
targetCompatibility = "1.6"
}
tasks.withType<KotlinCompile> {
dependsOn(copySources)
kotlinOptions {
freeCompilerArgs += listOf(
"-Xallow-kotlin-package",
"-Xmulti-platform",
"-Xsuppress-deprecated-jvm-target-warning",
"-Xopt-in=kotlin.RequiresOptIn",
"-Xopt-in=kotlin.contracts.ExperimentalContracts"
)
moduleName = "kotlin-stdlib"
}
}
val jar = runtimeJar {
archiveFileName.set("kotlin-stdlib-minimal-for-test.jar")
dependsOn(builtins)
from(provider { zipTree(builtins.singleFile) }) { include("kotlin/**") }
}
publishing {
publications {
create<MavenPublication>("internal") {
artifactId = "kotlin-stdlib-minimal-for-test"
artifact(jar.get())
}
}
repositories {
maven("${rootProject.buildDir}/internal/repo")
}
}