aboutsummaryrefslogtreecommitdiff
path: root/build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts')
-rw-r--r--build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts36
1 files changed, 36 insertions, 0 deletions
diff --git a/build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts b/build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts
new file mode 100644
index 00000000..796ce6c9
--- /dev/null
+++ b/build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
+ */
+
+plugins {
+ id("dokkabuild.java")
+ kotlin("jvm")
+}
+
+val rootProjectsWithoutDependencyOnDokkaCore = listOf("dokka-integration-tests")
+
+kotlin {
+ explicitApi()
+ compilerOptions {
+ allWarningsAsErrors.set(true)
+ languageVersion.set(dokkaBuild.kotlinLanguageLevel)
+ apiVersion.set(dokkaBuild.kotlinLanguageLevel)
+
+ // These projects know nothing about the `@InternalDokkaApi` annotation, so the Kotlin compiler
+ // will complain about an unresolved opt-in requirement marker and fail the build if it's not excluded.
+ if (rootProject.name !in rootProjectsWithoutDependencyOnDokkaCore) {
+ optIn.addAll(
+ "kotlin.RequiresOptIn",
+ "org.jetbrains.dokka.InternalDokkaApi"
+ )
+ }
+
+ freeCompilerArgs.addAll(
+ // 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",
+ )
+ }
+}