From d488e35219782d78151efdf541c7c52a07fee82c Mon Sep 17 00:00:00 2001 From: Vasily Levchenko Date: Mon, 28 Aug 2017 18:46:28 +0300 Subject: [PATCH] [upload]: make bintray load several artifacts --- dependencies/build.gradle | 72 +++++++++++++++++++++++--------------- dependencies/upload.gradle | 41 ++++++++++++++++++++++ gradle.properties | 4 +-- 3 files changed, 86 insertions(+), 31 deletions(-) create mode 100644 dependencies/upload.gradle diff --git a/dependencies/build.gradle b/dependencies/build.gradle index 7147141c46c..36288dc1b57 100644 --- a/dependencies/build.gradle +++ b/dependencies/build.gradle @@ -31,21 +31,28 @@ buildscript { repositories { jcenter() } - - dependencies { - classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' - } } -apply plugin: 'com.jfrog.bintray' - configurations { kotlin_compiler_jar kotlin_compiler_pom kotlin_compiler_src kotlin_compiler_doc + + kotlin_gradle_plugin_jar + kotlin_gradle_plugin_pom + kotlin_gradle_plugin_src + kotlin_gradle_plugin_doc + + kotlin_stdlib_jdk8_jar + kotlin_stdlib_jdk8_pom + kotlin_stdlib_jdk8_src + kotlin_stdlib_jdk8_doc } +def kotlinGradleModule = "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinGradlePluginVersion" +def kotlinStdLibJdk8Module = "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlinStdLibJdk8Version" + // TODO: Check if we really need the our bintray mirror and delete the uploading code below if we don't. repositories { maven { url kotlinCompilerRepo } @@ -56,6 +63,16 @@ dependencies { kotlin_compiler_pom "$kotlinCompilerModule@pom" kotlin_compiler_src "$kotlinCompilerModule:sources@jar" kotlin_compiler_doc "$kotlinCompilerModule:javadoc@jar" + + kotlin_gradle_plugin_jar "$kotlinGradleModule@jar" + kotlin_gradle_plugin_pom "$kotlinGradleModule@pom" + kotlin_gradle_plugin_src "$kotlinGradleModule:sources@jar" + kotlin_gradle_plugin_doc "$kotlinGradleModule:javadoc@jar" + + kotlin_stdlib_jdk8_jar "$kotlinStdLibJdk8Module@jar" + kotlin_stdlib_jdk8_pom "$kotlinStdLibJdk8Module@pom" + kotlin_stdlib_jdk8_src "$kotlinStdLibJdk8Module:sources@jar" + kotlin_stdlib_jdk8_doc "$kotlinStdLibJdk8Module:javadoc@jar" } // Hack kotlin-compiler pom-file to resolve the dependency correctly. @@ -81,33 +98,30 @@ task generatePom(type: DefaultTask) { } } -bintray { - user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER') - key = project.hasProperty('bintrayKey') ? project.property('bintrayKey') : System.getenv('BINTRAY_KEY') - pkg { - repo = 'kotlin-native-dependencies' - name = 'kotlin-compiler-builds' - userOrg = 'jetbrains' - publish = true - override = project.hasProperty("override") - } - filesSpec { - // kotlinCompilerModule@jar and @pom -> groupId/with/dots/replaced/by/slashes/artifactId/-SNAPSHOT - // e.g. org.jetbrains.kotlin:kotlin-compiler:1.1-20170426.212805-507 -> org/jetbrains/kotlin/kotlin-compiler/1.1-SNAPSHOT - def (groupId, artifactId, version) = kotlinCompilerModule.tokenize(':') - def groupPath = groupId.replace('.', '/') - def artifactPath = artifactId - def versionPath = "${version.tokenize('-')[0]}-SNAPSHOT" - from project.configurations.kotlin_compiler_jar.files - from project.configurations.kotlin_compiler_src.files - from project.configurations.kotlin_compiler_doc.files - from generatePom.outputs.files - into "$groupPath/$artifactPath/$versionPath" +def modules = ['compiler' : kotlinCompilerModule, + 'gradle_plugin': kotlinGradleModule, + 'stdlib_jdk8' : kotlinStdLibJdk8Module] +def uploads = ['compiler', 'gradle_plugin', 'stdlib_jdk8'] +uploads.each { target -> + task("${target}Upload", type:GradleBuild) { + tasks = ['dump', 'bintrayUpload'] + buildFile project.file("upload.gradle") + dir project.projectDir + startParameter.projectProperties = [ + 'user' : "${project.hasProperty('bintrayUser') ? project['bintrayUser'] : System.getenv('BINTRAY_USER')}", + 'key' : "${ project.hasProperty('bintrayKey') ? project.property('bintrayKey') : System.getenv('BINTRAY_KEY')}", + 'module' : modules["${target}"], + 'jar' : project.configurations.getByName("kotlin_${target}_jar").files.collect {it.path}, + 'src' : project.configurations.getByName("kotlin_${target}_src").files.collect {it.path}, + 'doc' : project.configurations.getByName("kotlin_${target}_doc").files.collect {it.path}, + 'pom' : project.configurations.getByName("kotlin_${target}_pom").files.collect {it.path}, + + ] } } task update_kotlin_compiler(type: DefaultTask) { - dependsOn(bintrayUpload) + dependsOn compilerUpload, gradle_pluginUpload, stdlib_jdk8Upload } abstract class NativeDep extends DefaultTask { diff --git a/dependencies/upload.gradle b/dependencies/upload.gradle new file mode 100644 index 00000000000..2b10abdb952 --- /dev/null +++ b/dependencies/upload.gradle @@ -0,0 +1,41 @@ +buildscript { + def rootProperties = new Properties() + rootProperties.load(new FileReader(project.file("../gradle.properties"))) + rootProperties.each {k,v -> ext.set(k, v)} + apply from: "../gradle/kotlinGradlePlugin.gradle" + + repositories { + jcenter() + } + + dependencies { + classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' + } +} + +apply plugin: 'com.jfrog.bintray' + +bintray { + user = gradle.startParameter.projectProperties.user + key = gradle.startParameter.projectProperties.key + pkg { + repo = 'kotlin-native-dependencies' + name = 'kotlin-compiler-builds' + userOrg = 'jetbrains' + publish = true + override = project.hasProperty("override") + } + + filesSpec { + def (groupId, artifactId, version) = gradle.startParameter.projectProperties.module.tokenize(':') + def groupPath = groupId.replace('.', '/') + def artifactPath = artifactId + def versionPath = "${version.tokenize('-')[0]}-SNAPSHOT" + from project.files(gradle.startParameter.projectProperties.jar) + from project.files(gradle.startParameter.projectProperties.src) + from project.files(gradle.startParameter.projectProperties.doc) + from project.files(gradle.startParameter.projectProperties.pom) + into "$groupPath/$artifactPath/$versionPath" + } + +} diff --git a/gradle.properties b/gradle.properties index aa1e5483f39..068aafcf4e2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -29,5 +29,5 @@ org.gradle.jvmargs='-Dfile.encoding=UTF-8' ## # required for performance mesuarement tasks -kotlinStdLibJdk8Version=1.1-20170822.213444-718 -kotlinGradlePluginVersion=1.1-20170821.192225-785 +kotlinStdLibJdk8Version=1.1-20170828.150132-731 +kotlinGradlePluginVersion=1.1-20170828.151747-800