Files
kotlin-fork/plugins/kapt4/build.gradle.kts
T
2023-07-07 11:09:16 +00:00

60 lines
1.4 KiB
Kotlin

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
description = "Annotation Processor for Kotlin"
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
compileOnly(project(":compiler:frontend.java"))
compileOnly(project(":compiler:plugin-api"))
implementation(project(":kotlin-annotation-processing-compiler"))
embedded(project(":kotlin-annotation-processing-compiler")) { isTransitive = false }
}
optInToExperimentalCompilerApi()
sourceSets {
"main" { projectDefault() }
"test" {
projectDefault()
generatedTestDir()
}
}
testsJar {}
kaptTestTask("test", JavaLanguageVersion.of(8))
kaptTestTask("testJdk11", JavaLanguageVersion.of(11))
kaptTestTask("testJdk17", JavaLanguageVersion.of(17))
fun Project.kaptTestTask(name: String, javaLanguageVersion: JavaLanguageVersion) {
val service = extensions.getByType<JavaToolchainService>()
projectTest(taskName = name, parallel = true) {
useJUnitPlatform {
excludeTags = setOf("IgnoreJDK11")
}
workingDir = rootDir
dependsOn(":dist")
javaLauncher.set(service.launcherFor { languageVersion.set(javaLanguageVersion) })
}
}
publish()
runtimeJar()
sourcesJar()
javadocJar()
allprojects {
tasks.withType(KotlinCompile::class).all {
kotlinOptions {
freeCompilerArgs += "-Xcontext-receivers"
}
}
}