aboutsummaryrefslogtreecommitdiff
path: root/build-logic/src/main/kotlin/dokkabuild.kotlin-jvm.gradle.kts
blob: 796ce6c9d26b7c21f43bbd27840fc455c21d51bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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",
        )
    }
}