binary-compatibility-validator icon indicating copy to clipboard operation
binary-compatibility-validator copied to clipboard

Kotlin 1.9.0: API files are not generated for a target if its leaf source set is empty

Open arkivanov opened this issue 2 years ago • 3 comments

Kotlin version 1.9.0 Plugin version: 0.13.0-0.13.2 Android + JVM + JS + linuxX64 + All Apple targets

When running apiDump task, no .api files are generated under api/jvm or api/android folder, if the corresponding leaf source set (i.e. jvmMain and androidMain respectively) is empty. If there is some code present in e.g. jvmMain source set (or at least jvmMain/kotlin empty folder is present), then the jvm API file gets generated, similar situate with android.

Also, running apiCheck task fails:

A problem was found with the configuration of task ':instance-keeper:jvmApiCheck' (type 'KotlinApiCompareTask').
  - In plugin 'org.jetbrains.kotlinx.binary-compatibility-validator' type 'kotlinx.validation.KotlinApiCompareTask' property 'apiBuildDir' specifies directory '/Users/arkivanov/dev/workspace/Essenty/instance-keeper/build/api/jvm' which doesn't exist.

Works fine with version 0.12.1 and Kotlin 1.8.20.

arkivanov avatar Aug 11 '23 00:08 arkivanov