Build: Add JPS artifact for dist

This commit is contained in:
Vyacheslav Gerasimov
2019-05-15 16:43:11 +03:00
parent 86ad25ba55
commit 72be81ba46
4 changed files with 83 additions and 71 deletions
+26 -41
View File
@@ -4,66 +4,51 @@ import java.util.regex.Pattern
description = "Stdlib configuration for JPS build (to be interpreted during IDEA project import)"
val distLib by configurations.creating
val distCommon by configurations.creating
val distRoot by configurations.creating
val stdlibMinimal by configurations.creating
val stdlibJS by configurations.creating
val stdlibSources by configurations.creating
val compilerLib by configurations.creating
val commonStdlib by configurations.creating
val commonStdlibSources by configurations.creating
val builtins by configurations.creating
dependencies {
distRoot("org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test:$bootstrapKotlinVersion")
stdlibMinimal("org.jetbrains.kotlin:kotlin-stdlib-minimal-for-test:$bootstrapKotlinVersion")
stdlibJS("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion") { isTransitive = false }
stdlibSources("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources") { isTransitive = false }
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")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion")
compilerLib("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")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion:sources")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-js:$bootstrapKotlinVersion:sources")
compilerLib("org.jetbrains.kotlin:kotlin-stdlib-jdk7:$bootstrapKotlinVersion:sources")
compilerLib("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")
commonStdlib("org.jetbrains.kotlin:kotlin-stdlib-common:$bootstrapKotlinVersion")
commonStdlibSources("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)
dependsOn(stdlibMinimal)
from(stdlibMinimal)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}
task<Copy>("distLib") {
destinationDir = distLibDir
dependsOn(distLib)
from(distLib)
dependsOn(compilerLib)
from(compilerLib)
rename("-${Pattern.quote(bootstrapKotlinVersion)}", "")
}