aboutsummaryrefslogtreecommitdiff
path: root/build-logic/src
diff options
context:
space:
mode:
authorIgnat Beresnev <ignat.beresnev@jetbrains.com>2023-08-31 20:16:01 +0200
committerGitHub <noreply@github.com>2023-08-31 20:16:01 +0200
commit02f30b142aa467d3a24cc52a1fe3f2fed7ea1e33 (patch)
tree66f6d6f089a93b863bf1144666491eca6729ad05 /build-logic/src
parent6a181a7a2b03ec263788d137610e86937a57d434 (diff)
downloaddokka-02f30b142aa467d3a24cc52a1fe3f2fed7ea1e33.tar.gz
dokka-02f30b142aa467d3a24cc52a1fe3f2fed7ea1e33.tar.bz2
dokka-02f30b142aa467d3a24cc52a1fe3f2fed7ea1e33.zip
Enable explicit API mode (#3139)
Diffstat (limited to 'build-logic/src')
-rw-r--r--build-logic/src/main/kotlin/org/jetbrains/conventions/kotlin-jvm.gradle.kts40
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)
}
}