From 862c68b5c5e34f58eb61877a966bc4b7771bfbde Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Thu, 25 May 2017 11:20:32 +0700 Subject: [PATCH] Gradle plugin: fix --include-build workflow By convention, gradle uses project name as artifactId, `project.group` property for groupId and `project.version` for version. This commit switches to this convention instead of configuring publication tasks directly. It allows to easily substitute published plugin with a plugin build locally by issuing `./gradlew build --include-build ../kotlin-native` in the dependent project. --- build.gradle | 2 +- samples/build.gradle | 9 ++------- samples/gradle.properties | 3 +-- settings.gradle | 2 +- .../build.gradle | 8 ++++---- .../src/main/kotlin/CompilerDownloadTask.kt | 0 .../src/main/kotlin/KonanCompilerConfig.kt | 0 .../src/main/kotlin/KonanCompilerTask.kt | 0 .../src/main/kotlin/KonanInteropConfig.kt | 0 .../src/main/kotlin/KonanInteropTask.kt | 0 .../src/main/kotlin/KonanPlugin.kt | 0 .../src/main/kotlin/KonanToolingModelBuilder.kt | 0 .../src/main/kotlin/model/KonanModel.kt | 0 .../resources/META-INF/gradle-plugins/konan.properties | 0 14 files changed, 9 insertions(+), 15 deletions(-) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/build.gradle (96%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/CompilerDownloadTask.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanCompilerConfig.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanCompilerTask.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanInteropConfig.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanInteropTask.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanPlugin.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/KonanToolingModelBuilder.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/kotlin/model/KonanModel.kt (100%) rename tools/{gradle-plugin => kotlin-native-gradle-plugin}/src/main/resources/META-INF/gradle-plugins/konan.properties (100%) diff --git a/build.gradle b/build.gradle index 7fb22ba5680..607ee79b803 100644 --- a/build.gradle +++ b/build.gradle @@ -287,7 +287,7 @@ targetList.each { target -> } task dist { - dependsOn 'distCompiler', 'distRuntime', ':tools:gradle-plugin:dist' + dependsOn 'distCompiler', 'distRuntime', ':tools:kotlin-native-gradle-plugin:dist' } task crossDist { diff --git a/samples/build.gradle b/samples/build.gradle index 506070e6f74..a5030a883e3 100644 --- a/samples/build.gradle +++ b/samples/build.gradle @@ -8,17 +8,12 @@ subprojects { } dependencies { - if (project.hasProperty("konan.plugin.path")) { - classpath files(project.property("konan.plugin.path")) - classpath "org.jetbrains.kotlin:kotlin-stdlib:+" - } else { - classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:+" - } + classpath "org.jetbrains.kotlin:kotlin-native-gradle-plugin:+" } } } -task buildBash(type: Exec) { +task buildSh(type: Exec) { commandLine "${projectDir.canonicalPath}/build.sh" workingDir projectDir.canonicalPath } diff --git a/samples/gradle.properties b/samples/gradle.properties index cb093dd4dba..3be37412632 100644 --- a/samples/gradle.properties +++ b/samples/gradle.properties @@ -1,2 +1 @@ -konan.home=../../dist -konan.plugin.path=../../tools/gradle-plugin/dist/gradle-plugin.jar \ No newline at end of file +konan.home=../../dist \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 2f723332cee..83799699dd5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -25,4 +25,4 @@ include ':runtime' include ':common' include ':backend.native:tests' include ':tools:helpers' -include ':tools:gradle-plugin' +include ':tools:kotlin-native-gradle-plugin' diff --git a/tools/gradle-plugin/build.gradle b/tools/kotlin-native-gradle-plugin/build.gradle similarity index 96% rename from tools/gradle-plugin/build.gradle rename to tools/kotlin-native-gradle-plugin/build.gradle index e54c9d60d63..d0d65e1ae98 100644 --- a/tools/gradle-plugin/build.gradle +++ b/tools/kotlin-native-gradle-plugin/build.gradle @@ -20,6 +20,9 @@ apply plugin: 'kotlin' apply plugin: 'maven-publish' apply plugin: 'com.jfrog.bintray' +group = 'org.jetbrains.kotlin' +version = konanVersion + // TODO: move this code to top level (the same for backend.native) // Copied from backend.native allprojects { @@ -80,9 +83,6 @@ publishing { publications { gradlePlugin(MavenPublication) { artifact jar - groupId 'org.jetbrains.kotlin' - artifactId 'kotlin-native-gradle-plugin' - version konanVersion pom.withXml { XmlProvider xml -> def stdlibDep = xml.asNode().appendNode("dependencies").appendNode("dependency") stdlibDep.appendNode("groupId", "org.jetbrains.kotlin") @@ -111,4 +111,4 @@ bintray { override = project.hasProperty("override") } publications = ['gradlePlugin'] -} \ No newline at end of file +} diff --git a/tools/gradle-plugin/src/main/kotlin/CompilerDownloadTask.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/CompilerDownloadTask.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/CompilerDownloadTask.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/CompilerDownloadTask.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanCompilerConfig.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanCompilerConfig.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanCompilerConfig.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanCompilerConfig.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanCompilerTask.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanCompilerTask.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanCompilerTask.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanCompilerTask.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanInteropConfig.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanInteropConfig.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanInteropConfig.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanInteropTask.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanInteropTask.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanInteropTask.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanInteropTask.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanPlugin.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanPlugin.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanPlugin.kt diff --git a/tools/gradle-plugin/src/main/kotlin/KonanToolingModelBuilder.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanToolingModelBuilder.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/KonanToolingModelBuilder.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/KonanToolingModelBuilder.kt diff --git a/tools/gradle-plugin/src/main/kotlin/model/KonanModel.kt b/tools/kotlin-native-gradle-plugin/src/main/kotlin/model/KonanModel.kt similarity index 100% rename from tools/gradle-plugin/src/main/kotlin/model/KonanModel.kt rename to tools/kotlin-native-gradle-plugin/src/main/kotlin/model/KonanModel.kt diff --git a/tools/gradle-plugin/src/main/resources/META-INF/gradle-plugins/konan.properties b/tools/kotlin-native-gradle-plugin/src/main/resources/META-INF/gradle-plugins/konan.properties similarity index 100% rename from tools/gradle-plugin/src/main/resources/META-INF/gradle-plugins/konan.properties rename to tools/kotlin-native-gradle-plugin/src/main/resources/META-INF/gradle-plugins/konan.properties