[upload] fix of pom generation on uploaded artifacts

problem introduced in d488e35219
This commit is contained in:
Vasily Levchenko
2017-09-04 07:26:27 +03:00
committed by Vasily Levchenko
parent 65aa2d4d77
commit 3a9169f5ea
2 changed files with 37 additions and 33 deletions
+9 -31
View File
@@ -75,46 +75,24 @@ dependencies {
kotlin_stdlib_jdk8_doc "$kotlinStdLibJdk8Module:javadoc@jar" kotlin_stdlib_jdk8_doc "$kotlinStdLibJdk8Module:javadoc@jar"
} }
// Hack kotlin-compiler pom-file to resolve the dependency correctly.
task generatePom(type: DefaultTask) {
def originalPom = configurations.kotlin_compiler_pom.singleFile
inputs.file(originalPom)
def (_, artifactIdString, versionString) = kotlinCompilerModule.tokenize(':')
def newPom = file("${temporaryDir.canonicalPath}/$artifactIdString-${versionString}.pom")
outputs.file(newPom)
doLast {
def xml = new XmlParser().parse(originalPom)
def parent = xml.children().find() { it.name().localPart == 'parent' } // <parent> </parent> section, not the parent node.
if (parent != null) {
def groupId = parent.groupId
def version = parent.version
xml.append(groupId)
xml.append(version)
xml.remove(parent)
}
new XmlNodePrinter(new PrintWriter(new FileWriter(newPom))).print(xml)
}
}
def modules = ['compiler' : kotlinCompilerModule, def modules = ['compiler' : kotlinCompilerModule,
'gradle_plugin': kotlinGradleModule, 'gradle_plugin': kotlinGradleModule,
'stdlib_jdk8' : kotlinStdLibJdk8Module] 'stdlib_jdk8' : kotlinStdLibJdk8Module]
def uploads = ['compiler', 'gradle_plugin', 'stdlib_jdk8'] def uploads = ['compiler', 'gradle_plugin', 'stdlib_jdk8']
uploads.each { target -> uploads.each { target ->
task("${target}Upload", type:GradleBuild) { task("${target}Upload", type:GradleBuild) {
tasks = ['dump', 'bintrayUpload'] tasks = ['bintrayUpload']
buildFile project.file("upload.gradle") buildFile project.file("upload.gradle")
dir project.projectDir dir project.projectDir
startParameter.projectProperties = [ startParameter.projectProperties = [
'user' : "${project.hasProperty('bintrayUser') ? project['bintrayUser'] : System.getenv('BINTRAY_USER')}", 'user' : "${project.hasProperty('bintrayUser') ? project['bintrayUser'] : System.getenv('BINTRAY_USER')}",
'key' : "${ project.hasProperty('bintrayKey') ? project.property('bintrayKey') : System.getenv('BINTRAY_KEY')}", 'key' : "${ project.hasProperty('bintrayKey') ? project.property('bintrayKey') : System.getenv('BINTRAY_KEY')}",
'module' : modules["${target}"], 'module' : modules["${target}"],
'jar' : project.configurations.getByName("kotlin_${target}_jar").files.collect {it.path}, 'jar' : project.configurations.getByName("kotlin_${target}_jar").files.collect {it.path},
'src' : project.configurations.getByName("kotlin_${target}_src").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}, 'doc' : project.configurations.getByName("kotlin_${target}_doc").files.collect {it.path},
'pom' : project.configurations.getByName("kotlin_${target}_pom").files.collect {it.path}, 'pom' : project.configurations.getByName("kotlin_${target}_pom").files.collect {it.path},
'override': project.hasProperty("override") && project["override"]
] ]
} }
+28 -2
View File
@@ -15,6 +15,32 @@ buildscript {
apply plugin: 'com.jfrog.bintray' apply plugin: 'com.jfrog.bintray'
// Hack kotlin-compiler pom-file to resolve the dependency correctly.
task generatePom(type: DefaultTask) {
def originalPom = project.files(gradle.startParameter.projectProperties.pom).first()
inputs.file(originalPom)
def (_, artifactIdString, versionString) = gradle.startParameter.projectProperties.module.tokenize(':')
def versionPath = "${versionString.tokenize('-')[0]}-SNAPSHOT"
def newPom = file("${temporaryDir.canonicalPath}/$artifactIdString-${versionString}.pom")
outputs.file(newPom)
doLast {
def xml = new XmlParser().parse(originalPom)
def parent = xml.children().find() { it.name().localPart == 'parent' }
if (parent != null) {
def groupId = parent.groupId
def version = parent.version
xml.append(groupId)
xml.append(version)
xml.remove(parent)
}
new XmlNodePrinter(new PrintWriter(new FileWriter(newPom))).print(xml)
}
}
bintray { bintray {
user = gradle.startParameter.projectProperties.user user = gradle.startParameter.projectProperties.user
key = gradle.startParameter.projectProperties.key key = gradle.startParameter.projectProperties.key
@@ -23,7 +49,7 @@ bintray {
name = 'kotlin-compiler-builds' name = 'kotlin-compiler-builds'
userOrg = 'jetbrains' userOrg = 'jetbrains'
publish = true publish = true
override = project.hasProperty("override") override = gradle.startParameter.projectProperties.override
} }
filesSpec { filesSpec {
@@ -34,7 +60,7 @@ bintray {
from project.files(gradle.startParameter.projectProperties.jar) from project.files(gradle.startParameter.projectProperties.jar)
from project.files(gradle.startParameter.projectProperties.src) from project.files(gradle.startParameter.projectProperties.src)
from project.files(gradle.startParameter.projectProperties.doc) from project.files(gradle.startParameter.projectProperties.doc)
from project.files(gradle.startParameter.projectProperties.pom) from generatePom.outputs.files
into "$groupPath/$artifactPath/$versionPath" into "$groupPath/$artifactPath/$versionPath"
} }