kotlin-stdlib-js: copy sources in order to prevent duplicate source root in IDEA
This commit is contained in:
@@ -2,14 +2,15 @@ description = 'Kotlin Standard Library for JS'
|
|||||||
|
|
||||||
apply plugin: 'kotlin2js'
|
apply plugin: 'kotlin2js'
|
||||||
|
|
||||||
ext.commonSrcDir = "${buildDir}/common-sources"
|
def builtinsSrcDir = "${buildDir}/builtin-sources"
|
||||||
ext.commonTestSrcDir = "${buildDir}/common-test-sources"
|
def commonSrcDir = "${buildDir}/common-sources"
|
||||||
ext.builtinsDir = "${rootDir}/../core/builtins"
|
def commonTestSrcDir = "${buildDir}/common-test-sources"
|
||||||
ext.jsLibrariesDir = "${rootDir}/../js/js.libraries"
|
def builtinsDir = "${rootDir}/../core/builtins"
|
||||||
ext.jsSrcDir = "${jsLibrariesDir}/src"
|
def jsLibrariesDir = "${rootDir}/../js/js.libraries"
|
||||||
ext.jsTestSrcDir = "${jsLibrariesDir}/test"
|
def jsSrcDir = "${jsLibrariesDir}/src"
|
||||||
ext.jsSrcJsDir = "${jsSrcDir}/js"
|
def jsTestSrcDir = "${jsLibrariesDir}/test"
|
||||||
ext.jsOutputFile = "${buildDir}/classes/kotlin.js"
|
def jsSrcJsDir = "${jsSrcDir}/js"
|
||||||
|
def jsOutputFile = "${buildDir}/classes/kotlin.js"
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
builtinsFiles {
|
builtinsFiles {
|
||||||
@@ -25,37 +26,9 @@ sourceSets {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
mainNativeFiles {
|
|
||||||
kotlin {
|
|
||||||
srcDir "${builtinsDir}/native/kotlin"
|
|
||||||
include "Iterator.kt"
|
|
||||||
include "Collections.kt"
|
|
||||||
include "CharSequence.kt"
|
|
||||||
include "Annotation.kt"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mainCoreFiles {
|
|
||||||
kotlin {
|
|
||||||
srcDir "${builtinsDir}/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 {
|
main {
|
||||||
kotlin {
|
kotlin {
|
||||||
source mainNativeFiles.kotlin
|
srcDir builtinsSrcDir
|
||||||
source mainCoreFiles.kotlin
|
|
||||||
srcDir jsSrcDir
|
srcDir jsSrcDir
|
||||||
exclude "builtins"
|
exclude "builtins"
|
||||||
srcDir commonSrcDir
|
srcDir commonSrcDir
|
||||||
@@ -77,6 +50,32 @@ dependencies {
|
|||||||
createPreprocessorTask(project, "Main", "${projectDir}/../src/kotlin", commonSrcDir)
|
createPreprocessorTask(project, "Main", "${projectDir}/../src/kotlin", commonSrcDir)
|
||||||
createPreprocessorTask(project, "Test", "${projectDir}/../test", commonTestSrcDir)
|
createPreprocessorTask(project, "Test", "${projectDir}/../test", commonTestSrcDir)
|
||||||
|
|
||||||
|
task prepareBuiltinsSources(type: Copy) {
|
||||||
|
doFirst {
|
||||||
|
delete builtinsSrcDir
|
||||||
|
}
|
||||||
|
from("${builtinsDir}/native/kotlin") {
|
||||||
|
include "Iterator.kt"
|
||||||
|
include "Collections.kt"
|
||||||
|
include "CharSequence.kt"
|
||||||
|
include "Annotation.kt"
|
||||||
|
}
|
||||||
|
from("${builtinsDir}/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 "reflect/**/*.kt"
|
||||||
|
include "Unit.kt"
|
||||||
|
}
|
||||||
|
into builtinsSrcDir
|
||||||
|
}
|
||||||
|
|
||||||
kotlin.experimental.coroutines "enable"
|
kotlin.experimental.coroutines "enable"
|
||||||
|
|
||||||
tasks.withType(org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile) {
|
tasks.withType(org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile) {
|
||||||
@@ -98,7 +97,7 @@ compileBuiltinsKotlin2Js {
|
|||||||
}
|
}
|
||||||
|
|
||||||
compileKotlin2Js {
|
compileKotlin2Js {
|
||||||
dependsOn preprocessSourcesMain
|
dependsOn preprocessSourcesMain, prepareBuiltinsSources
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
outputFile = "${buildDir}/classes/main/kotlin.js"
|
outputFile = "${buildDir}/classes/main/kotlin.js"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user