• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2016-2022 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3  */
4 
5 import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
6 import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
7 
<lambda>null8 configure(subprojects) {
9     val project = this
10     if (name in sourceless) return@configure
11     apply(plugin = "kotlinx-atomicfu")
12     tasks.withType<KotlinCompile<*>>().configureEach {
13         val isMainTaskName = name == "compileKotlin" || name == "compileKotlinJvm"
14         kotlinOptions {
15             languageVersion = getOverriddenKotlinLanguageVersion(project)
16             apiVersion = getOverriddenKotlinApiVersion(project)
17             if (isMainTaskName && versionsAreNotOverridden) {
18                 allWarningsAsErrors = true
19             }
20             val newOptions =
21                 listOf(
22                     "-progressive", "-Xno-param-assertions", "-Xno-receiver-assertions",
23                     "-Xno-call-assertions"
24                 ) + optInAnnotations.map { "-opt-in=$it" }
25             freeCompilerArgs = freeCompilerArgs + newOptions
26         }
27     }
28 }
29 
30 val KotlinCommonOptions.versionsAreNotOverridden: Boolean
31     get() = languageVersion == null && apiVersion == null