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>null8configure(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