Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update KGP to 1.8.20 #2989

Merged
merged 14 commits into from
May 17, 2023
Merged
4 changes: 2 additions & 2 deletions .github/workflows/preview-publish-ga.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.CoroutinesGradleIntegrationTest --stacktrace
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.CoroutinesGradleIntegrationTest --stacktrace "-Dorg.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=500m"
env:
DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/coroutines
- name: Copy files to GitHub Actions Artifacts
Expand Down Expand Up @@ -56,7 +56,7 @@ jobs:
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.SerializationGradleIntegrationTest --stacktrace
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.SerializationGradleIntegrationTest --stacktrace "-Dorg.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=500m"
env:
DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/serialization
- name: Copy files to GitHub Actions Artifacts
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/preview-publish-web-s3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.CoroutinesGradleIntegrationTest --stacktrace
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.CoroutinesGradleIntegrationTest --stacktrace "-Dorg.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=500m"
env:
DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/coroutines
- name: Configure AWS credentials for S3 access
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
uses: gradle/gradle-build-action@v2
with:
gradle-home-cache-cleanup: true
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.SerializationGradleIntegrationTest --stacktrace
arguments: :integration-tests:gradle:integrationTest --tests org.jetbrains.dokka.it.gradle.kotlin.SerializationGradleIntegrationTest --stacktrace "-Dorg.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=500m"
env:
DOKKA_TEST_OUTPUT_PATH: /home/runner/work/dokka/serialization
- name: Configure AWS credentials for S3 access
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
if: matrix.os == 'windows-latest'
# Running tests with the Gradle daemon on windows agents leads to some very strange
# JVM crashes for some reason. Most likely a problem of Gradle/GitHub/Windows server
run: ./gradlew clean test --stacktrace --no-daemon
run: ./gradlew clean test --stacktrace --no-daemon --no-parallel "-Dorg.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=500m"
- name: Run tests under Ubuntu
if: matrix.os != 'windows-latest'
run: ./gradlew clean test --stacktrace
2 changes: 1 addition & 1 deletion .github/workflows/tests-thorough.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
if: matrix.os == 'windows-latest'
# Running tests with the Gradle daemon on windows agents leads to some very strange
# JVM crashes for some reason. Most likely a problem of Gradle/GitHub/Windows server
run: ./gradlew clean test --stacktrace --no-daemon
run: ./gradlew clean test --stacktrace --no-daemon --no-parallel "-Dorg.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=500m"
- name: Run tests under Ubuntu/Macos
if: matrix.os != 'windows-latest'
run: ./gradlew clean test --stacktrace
2 changes: 1 addition & 1 deletion core/api/core.api
Original file line number Diff line number Diff line change
Expand Up @@ -4687,7 +4687,7 @@ public final class org/jetbrains/dokka/utilities/ServiceLookupException : java/l

public final class org/jetbrains/dokka/utilities/TypeReference {
public static final field Companion Lorg/jetbrains/dokka/utilities/TypeReference$Companion;
public synthetic fun <init> (Lcom/fasterxml/jackson/core/type/TypeReference;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Lcom/fasterxml/jackson/core/type/TypeReference;)V
}

public final class org/jetbrains/dokka/utilities/TypeReference$Companion {
Expand Down
3 changes: 2 additions & 1 deletion core/src/main/kotlin/utilities/json.kt
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ private val objectMapper = run {
}

@PublishedApi
internal class TypeReference<T> private constructor(
internal class TypeReference<T> @PublishedApi internal constructor(
internal val jackson: JacksonTypeReference<T>
) {
companion object {
@PublishedApi
internal inline operator fun <reified T> invoke(): TypeReference<T> = TypeReference(jacksonTypeRef())
}
}
Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[versions]

gradlePlugin-kotlin = "1.8.10"
gradlePlugin-android = "4.0.1"
gradlePlugin-kotlin = "1.8.20"
gradlePlugin-android = "4.1.3"
gradlePlugin-dokka = "1.7.10"

kotlinx-coroutines = "1.6.3"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
dokka_it_kotlin_version=1.8.10
dokka_it_android_gradle_plugin_version=4.0.0
dokka_it_android_gradle_plugin_version=4.1.3
android.useAndroidX=true
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,12 @@ kotlin {
}
named("commonMain") {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9")
if (properties["dokka_it_kotlin_version"] in listOf("1.4.32", "1.5.31"))
// otherwise for a modern versin of coroutines:
// Failed to resolve Kotlin library: project/build/kotlinSourceSetMetadata/commonMain/org.jetbrains.kotlinx-kotlinx-coroutines-core/org.jetbrains.kotlinx-kotlinx-coroutines-core-commonMain.klib
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9")
else
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
IgnatBeresnev marked this conversation as resolved.
Show resolved Hide resolved
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class SequentialTasksExecutionStressTest(override val versions: BuildVersions) :
"--info",
"--stacktrace",
"-Ptask_number=100",
jvmArgs = listOf("-Xmx1G", "-XX:MaxMetaspaceSize=350m")
jvmArgs = listOf("-Xmx1G", "-XX:MaxMetaspaceSize=400m")
).buildRelaxed()

assertEquals(TaskOutcome.SUCCESS, assertNotNull(result.task(":runTasks")).outcome)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package org.jetbrains.dokka.it.gradle

internal object TestedVersions {

val LATEST = BuildVersions("7.4.2", "1.8.10")
val LATEST = BuildVersions("7.4.2", "1.8.20")

/**
* All supported Gradle/Kotlin versions, including [LATEST]
Expand Down Expand Up @@ -46,5 +46,6 @@ internal object TestedVersions {
"1.7.20" to "18.2.0-pre.391",
"1.8.0" to "18.2.0-pre.467",
"1.8.10" to "18.2.0-pre.490",
"1.8.20" to "18.2.0-pre.546"
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ class CoroutinesGradleIntegrationTest(override val versions: BuildVersions) : Ab

@Test
fun execute() {
val result = createGradleRunner(":dokkaHtmlMultiModule", "-i", "-s").buildRelaxed()
val result = createGradleRunner(
":dokkaHtmlMultiModule", "-i", "-s",
jvmArgs = listOf("-Xmx2G", "-XX:MaxMetaspaceSize=500m")
).buildRelaxed()

assertEquals(TaskOutcome.SUCCESS, assertNotNull(result.task(":dokkaHtmlMultiModule")).outcome)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ abstract class AbstractGradleIntegrationTest : AbstractIntegrationTest() {

fun createGradleRunner(
vararg arguments: String,
jvmArgs: List<String> = listOf("-Xmx4G", "-XX:MaxMetaspaceSize=2G")
jvmArgs: List<String> = listOf("-Xmx2G", "-XX:MaxMetaspaceSize=1G")
): GradleRunner {
return GradleRunner.create()
.withProjectDir(projectDir)
Expand Down
2 changes: 1 addition & 1 deletion plugins/base/api/base.api
Original file line number Diff line number Diff line change
Expand Up @@ -1109,7 +1109,7 @@ public abstract class org/jetbrains/dokka/base/templating/SubstitutionCommand :

public final class org/jetbrains/dokka/base/templating/TypeReference {
public static final field Companion Lorg/jetbrains/dokka/base/templating/TypeReference$Companion;
public synthetic fun <init> (Lcom/fasterxml/jackson/core/type/TypeReference;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Lcom/fasterxml/jackson/core/type/TypeReference;)V
}

public final class org/jetbrains/dokka/base/templating/TypeReference$Companion {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,9 @@ class KotlinSignatureProvider(ctcc: CommentsToContentConverter, logger: DokkaLog
}
}

private fun <T : DClasslike> classlikeSignature(c: T): List<ContentNode> {
private fun classlikeSignature(c: DClasslike): List<ContentNode> {
@Suppress("UNCHECKED_CAST")
val typeAliasUnderlyingType = (c as? WithExtraProperties<out DClasslike>)
val typeAliasUnderlyingType = (c as? WithExtraProperties<DClasslike>)
?.extra
?.get(ActualTypealias)
?.underlyingType
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import com.fasterxml.jackson.module.kotlin.jacksonTypeRef
import org.jetbrains.dokka.base.DokkaBase
import java.io.File

// TODO [beresnev] try to get rid of this copy-paste in #2933
// THIS IS COPIED FROM BASE SINCE IT NEEDS TO BE INSTANTIATED ON THE SAME CLASS LOADER AS PLUGINS

private val objectMapper = run {
Expand All @@ -26,10 +27,11 @@ private val objectMapper = run {
}

@PublishedApi
internal class TypeReference<T> private constructor(
internal class TypeReference<T> @PublishedApi internal constructor(
internal val jackson: com.fasterxml.jackson.core.type.TypeReference<T>
) {
companion object {
@PublishedApi
internal inline operator fun <reified T> invoke(): TypeReference<T> = TypeReference(jacksonTypeRef())
}
}
Expand All @@ -53,4 +55,4 @@ private object FileSerializer : StdScalarSerializer<File>(File::class.java) {
private class PluginTypeFactory: TypeFactory(null) {
override fun findClass(className: String): Class<out Any>? =
Class.forName(className, true, DokkaBase::class.java.classLoader) ?: super.findClass(className)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.ExceptionInSupertypes
import org.jetbrains.dokka.model.properties.WithExtraProperties

val <T : WithExtraProperties<out Documentable>> T.isException: Boolean
val <T : Documentable> WithExtraProperties<T>.isException: Boolean
get() = extra[ExceptionInSupertypes] != null


val <T> T.deprecatedAnnotation where T : WithExtraProperties<out Documentable>
val <T : Documentable> WithExtraProperties<T>.deprecatedAnnotation
get() = extra[Annotations]?.let { annotations ->
annotations.directAnnotations.values.flatten().firstOrNull {
it.isDeprecated()
Expand All @@ -20,7 +20,7 @@ val <T> T.deprecatedAnnotation where T : WithExtraProperties<out Documentable>
* @return true if [T] has [kotlin.Deprecated] or [java.lang.Deprecated]
* annotation for **any** source set
*/
fun <T> T.isDeprecated() where T : WithExtraProperties<out Documentable> = deprecatedAnnotation != null
fun <T : Documentable> WithExtraProperties<T>.isDeprecated() = deprecatedAnnotation != null

/**
* @return true for [kotlin.Deprecated] and [java.lang.Deprecated]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -724,7 +724,7 @@ private val divergentDocumentableComparator =

@Suppress("UNCHECKED_CAST")
private fun <T : Documentable> T.nameAfterClash(): String =
((this as? WithExtraProperties<out Documentable>)?.extra?.get(DriClashAwareName)?.value ?: name).orEmpty()
((this as? WithExtraProperties<Documentable>)?.extra?.get(DriClashAwareName)?.value ?: name).orEmpty()

@Suppress("UNCHECKED_CAST")
internal inline fun <reified T : TagWrapper> GroupedTags.withTypeUnnamed(): SourceSetDependent<T> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,10 @@ object DeprecatedPageCreator : PageTransformer {
override fun invoke(input: RootPageNode): RootPageNode {
val elements = HashMap<DeprecatedPageSection, MutableSet<DeprecatedNode>>().apply {

fun <T> T.putAs(deprecatedPageSection: DeprecatedPageSection) where
fun <T, V> T.putAs(deprecatedPageSection: DeprecatedPageSection) where
T : NavigableJavadocNode,
T : WithJavadocExtra<out Documentable> {
V : Documentable,
T : WithJavadocExtra<V> {
val deprecatedNode = DeprecatedNode(
listOfNotNull(
getDRI().packageName?.takeUnless { it.isBlank() },
Expand Down Expand Up @@ -159,7 +160,7 @@ object DeprecatedPageCreator : PageTransformer {
it.takeIf { it.isDeprecated() }?.putAs(DeprecatedPageSection.DeprecatedEnumConstants)
}
node.takeIf { it.isDeprecated() }?.putAs(
if ((node as? WithJavadocExtra<out Documentable>)?.isException == true) DeprecatedPageSection.DeprecatedExceptions
if ((node as? WithJavadocExtra<*>)?.isException == true) DeprecatedPageSection.DeprecatedExceptions
else when (node.kind) {
"enum" -> DeprecatedPageSection.DeprecatedEnums
"interface" -> DeprecatedPageSection.DeprecatedInterfaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,7 @@ internal fun ClassKind.asJava(): ClassKind {
}
}

private fun PropertyContainer<out Documentable>.mergeAdditionalModifiers(second: SourceSetDependent<Set<ExtraModifiers>>) =
private fun <T : Documentable> PropertyContainer<T>.mergeAdditionalModifiers(second: SourceSetDependent<Set<ExtraModifiers>>) =
this[AdditionalModifiers]?.squash(AdditionalModifiers(second)) ?: AdditionalModifiers(second)

private fun AdditionalModifiers.squash(second: AdditionalModifiers) =
Expand All @@ -494,4 +494,4 @@ internal fun ClassId.classNames(): String =
private fun DProperty.hasModifier(modifier: ExtraModifiers.KotlinOnlyModifiers): Boolean =
extra[AdditionalModifiers]
?.content
?.any { (_, modifiers) -> modifier in modifiers } == true
?.any { (_, modifiers) -> modifier in modifiers } == true
4 changes: 2 additions & 2 deletions plugins/kotlin-as-java/src/main/kotlin/jvmField.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.properties.WithExtraProperties
import org.jetbrains.kotlin.util.firstNotNullResult

internal fun WithExtraProperties<out Documentable>.jvmField(): Annotations.Annotation? =
internal fun <T : Documentable> WithExtraProperties<T>.jvmField(): Annotations.Annotation? =
extra[Annotations]?.directAnnotations?.entries?.firstNotNullResult { (_, annotations) -> annotations.jvmFieldAnnotation() }

internal fun List<Annotations.Annotation>.jvmFieldAnnotation(): Annotations.Annotation? =
firstOrNull { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmField" }
firstOrNull { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmField" }
6 changes: 3 additions & 3 deletions plugins/kotlin-as-java/src/main/kotlin/jvmName.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ import org.jetbrains.dokka.model.isJvmName
import org.jetbrains.dokka.model.properties.WithExtraProperties
import org.jetbrains.kotlin.util.firstNotNullResult

internal fun WithExtraProperties<out Documentable>.directlyAnnotatedJvmName(): Annotations.Annotation? =
internal fun <T : Documentable> WithExtraProperties<T>.directlyAnnotatedJvmName(): Annotations.Annotation? =
extra[Annotations]?.directAnnotations?.entries?.firstNotNullResult { (_, annotations)-> annotations.jvmNameAnnotation() }

internal fun WithExtraProperties<out Documentable>.fileLevelJvmName(): Annotations.Annotation? =
internal fun <T : Documentable> WithExtraProperties<T>.fileLevelJvmName(): Annotations.Annotation? =
extra[Annotations]?.fileLevelAnnotations?.entries?.firstNotNullResult { (_, annotations) -> annotations.jvmNameAnnotation() }

internal fun List<Annotations.Annotation>.jvmNameAnnotation(): Annotations.Annotation? =
firstOrNull { it.isJvmName() }

internal fun Annotations.Annotation.jvmNameAsString(): String? = (params["name"] as? StringValue)?.value
internal fun Annotations.Annotation.jvmNameAsString(): String? = (params["name"] as? StringValue)?.value
4 changes: 2 additions & 2 deletions plugins/kotlin-as-java/src/main/kotlin/jvmOverloads.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ import org.jetbrains.dokka.model.Annotations
import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.properties.WithExtraProperties

internal fun WithExtraProperties<out Documentable>.hasJvmOverloads(): Boolean {
internal fun <T : Documentable> WithExtraProperties<T>.hasJvmOverloads(): Boolean {
return extra[Annotations]
?.directAnnotations
?.entries
?.any { (_, annotations) ->
annotations.any { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmOverloads" }
} == true
}
}
4 changes: 2 additions & 2 deletions plugins/kotlin-as-java/src/main/kotlin/jvmStatic.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.properties.WithExtraProperties
import org.jetbrains.kotlin.util.firstNotNullResult

internal fun WithExtraProperties<out Documentable>.jvmStatic(): Annotations.Annotation? =
internal fun <T : Documentable> WithExtraProperties<T>.jvmStatic(): Annotations.Annotation? =
extra[Annotations]?.directAnnotations?.entries?.firstNotNullResult { (_, annotations) -> annotations.jvmStaticAnnotation() }

internal fun List<Annotations.Annotation>.jvmStaticAnnotation(): Annotations.Annotation? =
firstOrNull { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmStatic" }
firstOrNull { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmStatic" }
5 changes: 2 additions & 3 deletions plugins/kotlin-as-java/src/main/kotlin/jvmSynthetic.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package org.jetbrains.dokka.kotlinAsJava

import org.jetbrains.dokka.model.Annotations
import org.jetbrains.dokka.model.Documentable
import org.jetbrains.dokka.model.properties.WithExtraProperties

internal fun WithExtraProperties<out Documentable>.hasJvmSynthetic(): Boolean {
internal fun <T : org.jetbrains.dokka.model.AnnotationTarget> WithExtraProperties<T>.hasJvmSynthetic(): Boolean {
return extra[Annotations]
?.directAnnotations
?.entries
?.any { (_, annotations) ->
annotations.any { it.dri.packageName == "kotlin.jvm" && it.dri.classNames == "JvmSynthetic" }
} == true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ data class Name(val fqName: String) {
}

class JvmNameProvider {
fun <T> nameFor(entry: T): String where T : Documentable, T : WithExtraProperties<out Documentable> =
fun <T> nameFor(entry: T): String where T : Documentable, T : WithExtraProperties<T> =
entry.directlyAnnotatedJvmName()?.jvmNameAsString()
?: entry.name
?: throw IllegalStateException("Failed to provide a name for ${entry.javaClass.canonicalName}")

fun <T> nameForSyntheticClass(entry: T): Name where T : WithSources, T : WithExtraProperties<out Documentable>, T : Documentable {
fun <T> nameForSyntheticClass(entry: T): Name where T : WithSources, T : WithExtraProperties<T>, T : Documentable {
val name: String = (entry.fileLevelJvmName()?.params?.get("name") as? StringValue)?.value
?: (entry.sources.entries.first().value.path.split("/").last().split(".").first().capitalize() + "Kt")
return Name("${entry.dri.packageName}.$name")
Expand Down
1 change: 1 addition & 0 deletions runners/gradle-plugin/api/gradle-plugin.api
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,7 @@ public class org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder : org/jetbra
}

public final class org/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilderExtensionsKt {
public static final fun dependsOn (Lorg/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder;Lcom/android/build/api/dsl/AndroidSourceSet;)V
public static final fun dependsOn (Lorg/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder;Lcom/android/build/gradle/api/AndroidSourceSet;)V
public static final fun dependsOn (Lorg/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder;Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)V
public static final fun kotlinSourceSet (Lorg/jetbrains/dokka/gradle/GradleDokkaSourceSetBuilder;Lorg/jetbrains/kotlin/gradle/plugin/KotlinSourceSet;)V
Expand Down
Loading