[JS IR] Build hybrid versions of stdlib and kotlin.test
IR version of libraries are no published by default inside pre-IR JARs
This commit is contained in:
@@ -14,6 +14,7 @@ configurations {
|
||||
commonSources
|
||||
distSources
|
||||
distJs
|
||||
distLibrary
|
||||
}
|
||||
|
||||
def builtinsSrcDir = "${buildDir}/builtin-sources"
|
||||
@@ -283,9 +284,10 @@ jar {
|
||||
enabled false
|
||||
}
|
||||
|
||||
task mergedJar(type: Jar, dependsOn: compileJs) {
|
||||
task libraryJarWithoutIr(type: Jar, dependsOn: compileJs) {
|
||||
classifier = null
|
||||
manifestAttributes(manifest, project, 'Main')
|
||||
destinationDirectory = file("$buildDir/lib/dist")
|
||||
|
||||
// TODO: Use standard implementation title after js stdlib detector becomes more flexible (KT-17655)
|
||||
Properties properties = new Properties()
|
||||
@@ -307,6 +309,22 @@ task mergedJar(type: Jar, dependsOn: compileJs) {
|
||||
exclude "${experimentalJsModuleName}.*"
|
||||
}
|
||||
|
||||
task libraryJarWithIr(type: Zip, dependsOn: libraryJarWithoutIr) {
|
||||
def irStdlibJar = tasks.getByPath(":kotlin-stdlib-js-ir:jar")
|
||||
dependsOn(irStdlibJar)
|
||||
|
||||
archiveExtension = "jar"
|
||||
destinationDirectory = file("$buildDir/libs")
|
||||
|
||||
duplicatesStrategy DuplicatesStrategy.FAIL
|
||||
|
||||
from zipTree(libraryJarWithoutIr.archiveFile)
|
||||
from(zipTree(irStdlibJar.archiveFile)) {
|
||||
exclude 'META-INF/*'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
task sourcesJar(type: Jar, dependsOn: compileJs) {
|
||||
classifier = 'sources'
|
||||
includeEmptyDirs false
|
||||
@@ -352,11 +370,12 @@ task distSourcesJar(type: Jar) {
|
||||
|
||||
|
||||
artifacts {
|
||||
runtime mergedJar
|
||||
archives mergedJar
|
||||
runtime libraryJarWithIr
|
||||
archives libraryJarWithIr
|
||||
archives sourcesJar
|
||||
sources sourcesJar
|
||||
distSources distSourcesJar
|
||||
distLibrary libraryJarWithoutIr
|
||||
|
||||
compileJs.outputs.files.forEach { artifact ->
|
||||
distJs(artifact) { builtBy(compileJs) }
|
||||
|
||||
Reference in New Issue
Block a user