kotlin-stdlib-js: copy sources in order to prevent duplicate source root in IDEA

This commit is contained in:
Ilya Gorbunov
2017-03-27 19:10:55 +03:00
parent 026a76e98c
commit dedf9fe898
+37 -38
View File
@@ -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"
} }