1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
import org.jetbrains.kotlin.ideaExt.*
import org.jetbrains.gradle.ext.TopLevelArtifact
import java.util.regex.Pattern
description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)"
repositories {
maven(bootstrapKotlinRepo!!.replace("artifacts/content/maven/", "artifacts/content/internal/repo"))
}
val distLib by configurations.creating
val distCommon by configurations.creating
val distRoot by configurations.creating
val builtins by configurations.creating
dependencies {
distRoot("org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test:$bootstrapKotlinVersion")
builtins("org.jetbrains.kotlin:builtins:$bootstrapKotlinVersion")
distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion")
distLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
distLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
distLib("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$bootstrapKotlinVersion:sources")
distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
distCommon("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion:sources")
}
val distDir: String by rootProject.extra
val distLibDir: File by rootProject.extra
fun TopLevelArtifact.addFromConfiguration(configuration: Configuration) {
configuration.resolve().forEach {
file(it)
}
}
afterEvaluate {
rootProject.idea {
project {
settings {
ideArtifacts {
create("dist_auto_stdlib_reference_dont_use") {
addFromConfiguration(distRoot)
addFromConfiguration(distCommon)
addFromConfiguration(distLib)
addFromConfiguration(builtins)
}
}
}
}
}
}
task<Copy>("distRoot") {
destinationDir = File(distDir)
dependsOn(distRoot)
from(distRoot)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}
task<Copy>("distLib") {
destinationDir = distLibDir
dependsOn(distLib)
from(distLib)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}
|