diff --git a/backend.native/build.gradle b/backend.native/build.gradle
index 3631e1ab505..24c47b1eb3d 100644
--- a/backend.native/build.gradle
+++ b/backend.native/build.gradle
@@ -38,8 +38,7 @@ apply plugin: org.jetbrains.kotlin.NativeInteropPlugin
allprojects {
repositories {
maven {
- url 'http://oss.sonatype.org/content/repositories/snapshots'
- //url 'http://dl.bintray.com/kotlin/kotlin-dev'
+ url 'http://dl.bintray.com/jetbrains/kotlin-native-dependencies'
}
}
diff --git a/dependencies/build.gradle b/dependencies/build.gradle
index 6006000bfa4..421bd64b25e 100644
--- a/dependencies/build.gradle
+++ b/dependencies/build.gradle
@@ -17,13 +17,80 @@
buildscript {
repositories {
mavenCentral()
+ jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3'
}
}
+apply plugin: 'com.jfrog.bintray'
+
+configurations {
+ kotlin_compiler_jar
+ kotlin_compiler_pom
+}
+
+repositories {
+ maven {
+ url 'http://oss.sonatype.org/content/repositories/snapshots'
+ }
+}
+
+dependencies {
+ kotlin_compiler_jar "$kotlinCompilerModule@jar"
+ kotlin_compiler_pom "$kotlinCompilerModule@pom"
+}
+
+// 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 newPom = file("${temporaryDir.canonicalPath}/${originalPom.name}")
+ outputs.file(newPom)
+
+ doLast {
+ def xml = new XmlParser().parse(originalPom)
+ def parent = xml.parent // section, not the parent node.
+ 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 {
+ 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 generatePom.outputs.files
+ into "$groupPath/$artifactPath/$versionPath"
+ }
+}
+
+task update_kotlin_compiler(type: DefaultTask) {
+ dependsOn(bintrayUpload)
+}
+
abstract class NativeDep extends DefaultTask {
private String getCurrentHostTarget() {
diff --git a/tools/gradle-plugin/build.gradle b/tools/gradle-plugin/build.gradle
index 0af59efaa62..535d619fbc2 100644
--- a/tools/gradle-plugin/build.gradle
+++ b/tools/gradle-plugin/build.gradle
@@ -25,7 +25,7 @@ apply plugin: 'com.jfrog.bintray'
allprojects {
repositories {
maven {
- url 'http://oss.sonatype.org/content/repositories/snapshots'
+ url 'http://dl.bintray.com/jetbrains/kotlin-native-dependencies'
}
}
diff --git a/tools/helpers/build.gradle b/tools/helpers/build.gradle
index de1081f282e..49dbfb4fdf7 100644
--- a/tools/helpers/build.gradle
+++ b/tools/helpers/build.gradle
@@ -34,7 +34,7 @@ buildscript {
// Copied from backend.native project. =====
repositories {
maven {
- url 'http://oss.sonatype.org/content/repositories/snapshots'
+ url 'http://dl.bintray.com/jetbrains/kotlin-native-dependencies'
}
}