<lambda>null1import org.gradle.api.* 2 import org.gradle.api.plugins.* 3 import org.gradle.api.tasks.* 4 import org.gradle.api.tasks.bundling.* 5 import org.gradle.api.tasks.testing.* 6 import org.gradle.kotlin.dsl.* 7 import ru.vyarus.gradle.plugin.animalsniffer.AnimalSnifferExtension 8 9 /* 10 * Copyright 2017-2024 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 11 */ 12 13 // Animalsniffer setup 14 // Animalsniffer requires java plugin to be applied, but Kotlin 1.9.20 15 // relies on `java-base` for Kotlin Multiplatforms `withJava` implementation 16 // https://github.com/xvik/gradle-animalsniffer-plugin/issues/84 17 // https://youtrack.jetbrains.com/issue/KT-59595 18 plugins { 19 java 20 id("ru.vyarus.animalsniffer") 21 } 22 23 <lambda>null24plugins.withId("org.jetbrains.kotlin.multiplatform") { 25 listOf( 26 JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME, 27 JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME 28 ).forEach { outputConfigurationName -> 29 configurations.findByName(outputConfigurationName)?.isCanBeConsumed = false 30 } 31 32 disableJavaPluginTasks(extensions.getByName("sourceSets") as SourceSetContainer) 33 } 34 Projectnull35fun Project.disableJavaPluginTasks(javaSourceSet: SourceSetContainer) { 36 project.tasks.withType(Jar::class.java).named(javaSourceSet.getByName("main").jarTaskName).configure { 37 dependsOn("jvmTest") 38 enabled = false 39 } 40 41 project.tasks.withType(Test::class.java).named(JavaPlugin.TEST_TASK_NAME) { 42 dependsOn("jvmJar") 43 enabled = false 44 } 45 } 46 47 48 afterEvaluate { // Can be applied only when the project is evaluated <lambda>null49 extensions.configure<AnimalSnifferExtension> { 50 sourceSets = listOf(this@afterEvaluate.sourceSets["main"]) 51 52 val annotationValue = when(name) { 53 "kotlinx-serialization-core" -> "kotlinx.serialization.internal.SuppressAnimalSniffer" 54 "kotlinx-serialization-hocon" -> "kotlinx.serialization.hocon.internal.SuppressAnimalSniffer" 55 "kotlinx-serialization-protobuf" -> "kotlinx.serialization.protobuf.internal.SuppressAnimalSniffer" 56 "kotlinx-serialization-cbor" -> "kotlinx.serialization.cbor.internal.SuppressAnimalSniffer" 57 else -> "kotlinx.serialization.json.internal.SuppressAnimalSniffer" 58 } 59 60 annotation = annotationValue 61 } <lambda>null62 dependencies { 63 "signature"("net.sf.androidscents.signature:android-api-level-14:4.0_r4@signature") 64 "signature"("org.codehaus.mojo.signature:java18:1.0@signature") 65 } 66 67 }