diff options
Diffstat (limited to 'build-logic')
-rw-r--r-- | build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts b/build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts index 6093253f..d2425ce3 100644 --- a/build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts +++ b/build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts @@ -5,6 +5,7 @@ package org.jetbrains.conventions import org.jetbrains.configureDokkaVersion +import org.jetbrains.kotlin.gradle.dsl.ExplicitApiMode import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -14,25 +15,44 @@ plugins { configureDokkaVersion() -val projectsWithoutOptInDependency = setOf( - ":integration-tests", ":integration-tests:gradle", ":integration-tests:maven", ":integration-tests:cli") +kotlin { + explicitApi = ExplicitApiMode.Strict + + compilerOptions { + allWarningsAsErrors.set(true) + languageVersion.set(dokkaBuild.kotlinLanguageLevel) + apiVersion.set(dokkaBuild.kotlinLanguageLevel) + + freeCompilerArgs.addAll( + listOf( + // need 1.4 support, otherwise there might be problems + // with Gradle 6.x (it's bundling Kotlin 1.4) + "-Xsuppress-version-warnings", + "-Xjsr305=strict", + "-Xskip-metadata-version-check", + ) + ) + } +} + +val projectsWithoutInternalDokkaApiUsage = setOf( + ":integration-tests", + ":integration-tests:gradle", + ":integration-tests:maven", + ":integration-tests:cli" +) tasks.withType<KotlinCompile>().configureEach { // By path because Dokka has multiple projects with the same name (i.e. 'cli') - if (project.path in projectsWithoutOptInDependency) return@configureEach + if (project.path in projectsWithoutInternalDokkaApiUsage) { + return@configureEach + } compilerOptions { freeCompilerArgs.addAll( listOf( "-opt-in=kotlin.RequiresOptIn", "-opt-in=org.jetbrains.dokka.InternalDokkaApi", - "-Xjsr305=strict", - "-Xskip-metadata-version-check", - // need 1.4 support, otherwise there might be problems with Gradle 6.x (it's bundling Kotlin 1.4) - "-Xsuppress-version-warnings", ) ) - allWarningsAsErrors.set(true) - languageVersion.set(dokkaBuild.kotlinLanguageLevel) - apiVersion.set(dokkaBuild.kotlinLanguageLevel) } } |