294bd8c7fa
When Gradle resolves a dependency on a publication with no metadata (or with metadata disabled), it represents it as two variants, one with Usage `java-api`, the other with `java-runtime`. It turns out that the `java-api` one does not contain transitive dependencies with Maven scope `runtime`. This commit makes the Kotlin Gradle plugin disambiguation rules behave the same way as those defined in the JavaBasePlugin: when no Usage is requested, prefer the runtime usages as they are more complete.
Gradle Plugin
The Gradle plugin sources can be found in this (kotlin-gradle-plugin) module.
To install the Gradle plugin into the local Maven repository, run this command from the root of Kotlin project:
./gradlew :kotlin-gradle-plugin:install
The subplugin modules are :kotlin-allopen, :kotlin-noarg, :kotlin-sam-with-receiver. To install them, run:
./gradlew :kotlin-allopen:install :kotlin-noarg:install :kotlin-sam-with-receiver:install
To find more details about the plugins provided by this artifact and their tasks refer to Module.md.
Gradle Plugin Integration Tests
See the module libraries/tools/kotlin-gradle-plugin-integration-tests