Build kotlin-stdlib-js with gradle
This commit is contained in:
@@ -1,14 +1,13 @@
|
||||
rootProject.name = 'kotlin-libraries'
|
||||
include ':kotlin-runtime'
|
||||
include ':kotlin-script-runtime'
|
||||
//include ':kotlin-js-library'
|
||||
include ':kotlin-test'
|
||||
include ':kotlin-test:kotlin-test-common'
|
||||
include ':kotlin-test:kotlin-test-jvm'
|
||||
include ':kotlin-test:kotlin-test-junit'
|
||||
//include ':kotlin-test:kotlin-test-js'
|
||||
include ':kotlin-stdlib-common'
|
||||
include ':kotlin-stdlib'
|
||||
include ':kotlin-stdlib-js'
|
||||
include ':kotlin-stdlib-jre7'
|
||||
include ':kotlin-stdlib-jre8'
|
||||
//include ':kotlin-reflect'
|
||||
@@ -52,7 +51,6 @@ include ':kotlin-stdlib-jre8'
|
||||
|
||||
project(':kotlin-runtime').projectDir = "$rootDir/tools/runtime" as File
|
||||
project(':kotlin-script-runtime').projectDir = "$rootDir/tools/script-runtime" as File
|
||||
//project(':kotlin-js-library').projectDir = "$rootDir/tools/kotlin-js-library" as File
|
||||
project(':kotlin-test').projectDir = "$rootDir/kotlin.test" as File
|
||||
project(':kotlin-test:kotlin-test-common').projectDir = "$rootDir/kotlin.test/common" as File
|
||||
project(':kotlin-test:kotlin-test-jvm').projectDir = "$rootDir/kotlin.test/jvm" as File
|
||||
@@ -60,6 +58,7 @@ project(':kotlin-test:kotlin-test-junit').projectDir = "$rootDir/kotlin.test/jun
|
||||
//project(':kotlin-test:kotlin-test-js').projectDir = "$rootDir/kotlin.test/js" as File
|
||||
project(':kotlin-stdlib-common').projectDir = "$rootDir/stdlib/common" as File
|
||||
project(':kotlin-stdlib').projectDir = "$rootDir/stdlib" as File
|
||||
project(':kotlin-stdlib-js').projectDir = "$rootDir/stdlib/js" as File
|
||||
project(':kotlin-stdlib-jre7').projectDir = "$rootDir/stdlib/jre7" as File
|
||||
project(':kotlin-stdlib-jre8').projectDir = "$rootDir/stdlib/jre8" as File
|
||||
//project(':kotlin-reflect').projectDir = "$rootDir/tools/kotlin-reflect" as File
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
description = 'Kotlin Standard Library for JS'
|
||||
|
||||
apply plugin: 'kotlin2js'
|
||||
|
||||
ext.commonSrcDir = "${buildDir}/common-sources"
|
||||
|
||||
|
||||
sourceSets {
|
||||
builtinsFiles {
|
||||
kotlin {
|
||||
srcDir "${rootDir}/../core/builtins/native/kotlin/"
|
||||
include "Comparable.kt"
|
||||
}
|
||||
}
|
||||
builtins {
|
||||
kotlin {
|
||||
source builtinsFiles.kotlin
|
||||
srcDir "${rootDir}/../js/js.libraries/src/builtins"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mainNativeFiles {
|
||||
kotlin {
|
||||
srcDir "${rootDir}/../core/builtins/native/kotlin"
|
||||
include "Iterator.kt"
|
||||
include "Collections.kt"
|
||||
include "CharSequence.kt"
|
||||
include "Annotation.kt"
|
||||
}
|
||||
}
|
||||
mainCoreFiles {
|
||||
kotlin {
|
||||
srcDir "${rootDir}/../core/builtins/src/kotlin/"
|
||||
include "annotation/Annotations.kt"
|
||||
include "Function.kt"
|
||||
include "Iterators.kt"
|
||||
include "Range.kt"
|
||||
include "Progressions.kt"
|
||||
include "ProgressionIterators.kt"
|
||||
include "Ranges.kt"
|
||||
include "internal/InternalAnnotations.kt"
|
||||
include "internal/progressionUtil.kt"
|
||||
include "coroutines/**/*.kt"
|
||||
include "reflect/**/*.kt"
|
||||
include "Unit.kt"
|
||||
}
|
||||
}
|
||||
main {
|
||||
kotlin {
|
||||
source mainNativeFiles.kotlin
|
||||
source mainCoreFiles.kotlin
|
||||
srcDir "${rootDir}/../js/js.libraries/src"
|
||||
exclude "builtins"
|
||||
srcDir commonSrcDir
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ant.properties.baseDir = projectDir
|
||||
ant.properties.commonSrcDir = commonSrcDir
|
||||
ant.properties.kotlinCompiler = bootstrapCompilerFile.path
|
||||
ant.properties.compilerPreloader = compilerPreloaderFile.path
|
||||
|
||||
println(projectDir)
|
||||
|
||||
ant.importBuild('../common/tasks.xml')
|
||||
|
||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile) {
|
||||
compilerJarFile = bootstrapCompilerFile
|
||||
kotlinOptions {
|
||||
main = "noCall"
|
||||
moduleKind = "commonjs"
|
||||
freeCompilerArgs = [
|
||||
"-version",
|
||||
"-Xallow-kotlin-package",
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
compileBuiltinsKotlin2Js {
|
||||
kotlinOptions {
|
||||
metaInfo = false
|
||||
outputFile = "${buildDir}/classes/builtins/kotlin.js"
|
||||
}
|
||||
}
|
||||
|
||||
compileKotlin2Js {
|
||||
dependsOn commonSources
|
||||
kotlinOptions {
|
||||
outputFile = "${buildDir}/classes/main/kotlin.js"
|
||||
}
|
||||
}
|
||||
|
||||
classes.dependsOn compileBuiltinsKotlin2Js
|
||||
|
||||
kotlin.experimental.coroutines "enable"
|
||||
@@ -1,7 +0,0 @@
|
||||
|
||||
description = 'Kotlin JavaScript Library'
|
||||
|
||||
artifacts {
|
||||
archives file: file("${rootDir}/../dist/kotlinc/lib/kotlin-jslib.jar"), name: project.name, type: 'jar'
|
||||
archives file: file("${rootDir}/../dist/kotlinc/lib/kotlin-jslib-sources.jar"), name: project.name, classifier: 'sources', type: 'jar'
|
||||
}
|
||||
Reference in New Issue
Block a user