31c84e9ac4
Previously JS IR versions of stdlib and kotlin-test were build
by default using compiler previously built on a buildserver.
It had some issues:
- This required us to advance bootstrap every time we made any
incompatible IR changes. This happens often since IR ABI is
not quite stable yet.
- We never tested the exact combination of compiler and stdlib we publish
We tested:
- new compiler with new stdlib build by new compiler (in box tests)
- old compiler with new stdlib build by old compiler (in stdlib tests)
We published:
- new compiler with new stdlib build by old compiler
After this change JS IR compiler tests, builds and publishes
single configuration:
new compiler with new stdlib build by new compiler
JS IR stdlib and kotlin-test are now built using JavaExec of CLI instead
of Gradle plugin to avoid troubles of loading a freshly built plugin.
This also allows to have a granular dependencies: we don't rebuild klib
if we changed a lowering in a compiler backend, but we do rebuild it if
we changed IR serialization algorithm.
46 lines
1.3 KiB
Kotlin
46 lines
1.3 KiB
Kotlin
|
|
plugins {
|
|
kotlin("jvm")
|
|
id("jps-compatible")
|
|
}
|
|
|
|
dependencies {
|
|
compile(project(":core:descriptors"))
|
|
compile(project(":core:descriptors.jvm"))
|
|
compile(project(":core:deserialization"))
|
|
compile(project(":compiler:util"))
|
|
compile(project(":compiler:frontend"))
|
|
compile(project(":compiler:frontend.java"))
|
|
compile(project(":compiler:cli"))
|
|
compile(project(":compiler:cli-js"))
|
|
compile(project(":kotlin-build-common"))
|
|
compile(project(":daemon-common"))
|
|
compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
|
|
|
|
testCompile(commonDep("junit:junit"))
|
|
testCompile(project(":kotlin-test:kotlin-test-junit"))
|
|
testCompile(kotlinStdlib())
|
|
testCompile(projectTests(":kotlin-build-common"))
|
|
testCompile(projectTests(":compiler:tests-common"))
|
|
testCompile(intellijCoreDep()) { includeJars("intellij-core") }
|
|
testCompile(intellijDep()) { includeJars("log4j", "jdom") }
|
|
|
|
if (Platform.P192.orHigher()) {
|
|
testRuntime(intellijDep()) { includeJars("lz4-java-1.6.0") }
|
|
} else {
|
|
testRuntime(intellijDep()) { includeJars("lz4-1.3.0") }
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
"main" { projectDefault() }
|
|
"test" { projectDefault() }
|
|
}
|
|
|
|
projectTest(parallel = true) {
|
|
workingDir = rootDir
|
|
dependsOn(":kotlin-stdlib-js-ir:packFullRuntimeKLib")
|
|
}
|
|
|
|
testsJar()
|