Rework Gradle plugin (#1666)

* [gradle-plugin] Basic implementation for the new plugin

* [gradle-plugin] Use one component for both libraries and executables

* [gradle-plugin] Support library compilation and publishing

* [gradle-plugin] Support compilation for different targets

* [gradle-plugin] Use different output paths for libs and kexe

* [gradle-plugin] Implement ProductionComponent

* [gradle-plugin] Add smoke tests for the new Gradle plugin

* [gradle-plugin] Backport to Gradle 4.7 and rename plugin package

* [gradle-plugin] Implement our own BuildType

* Remove the 'publish-release.sh' script

* [gradle-plugin] Support tests in new plugin

* [gradle-plugin] Refactor the new plugin

    * Rename sourceSets.main.common -> sourceSets.main.kotlin.
    * Generate dummy tasks for unsupported test targets.
    * Add identities in publication for unsupported on the current
      host targets.
    * Provide a component DSL method for setting targets.

* [gradle-plugin] Codestyle fixes

* [gradle-plugin] Add checks for Gradle version and metadata

* [gradle-plugin] Support compiler downloading in the new plugin

* [gradle-plugin] Support MPP in the new Gradle plugin

* [gradle-plugin] Fix tests after removing implicit GRADLE_METADATA
This commit is contained in:
ilmat192
2018-06-19 10:09:46 +03:00
committed by Vasily Levchenko
parent 3b8cb2a542
commit 67279c4148
30 changed files with 1821 additions and 135 deletions
@@ -166,5 +166,21 @@ gradlePlugin {
id = 'konan'
implementationClass = 'org.jetbrains.kotlin.gradle.plugin.KonanPlugin'
}
create("kotlin-native") {
id = 'kotlin-native'
implementationClass = 'org.jetbrains.kotlin.gradle.plugin.experimental.plugins.KotlinNativePlugin'
}
create("kotlin-platform-native") {
id = 'kotlin-platform-native'
implementationClass = 'org.jetbrains.kotlin.gradle.plugin.experimental.plugins.KotlinPlatformNativePlugin'
}
create("org.jetbrains.kotlin.native"){
id = 'org.jetbrains.kotlin.native'
implementationClass = 'org.jetbrains.kotlin.gradle.plugin.experimental.plugins.KotlinNativePlugin'
}
create("org.jetbrains.kotlin.platform.native") {
id = 'org.jetbrains.kotlin.platform.native'
implementationClass = 'org.jetbrains.kotlin.gradle.plugin.experimental.plugins.KotlinPlatformNativePlugin'
}
}
}