diff --git a/libraries/settings.gradle b/libraries/settings.gradle index 745fabb9aa7..b65eed51316 100644 --- a/libraries/settings.gradle +++ b/libraries/settings.gradle @@ -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 diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle new file mode 100644 index 00000000000..72cd7427085 --- /dev/null +++ b/libraries/stdlib/js/build.gradle @@ -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" diff --git a/libraries/tools/kotlin-js-library/build.gradle b/libraries/tools/kotlin-js-library/build.gradle deleted file mode 100644 index c3d08e00d79..00000000000 --- a/libraries/tools/kotlin-js-library/build.gradle +++ /dev/null @@ -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' -}