From 8fd831003375ba66ffcc50b279d30d284a94cc63 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 24 Mar 2017 03:55:17 +0300 Subject: [PATCH] Build and package kotlin-test-js with gradle --- .../kotlin/internal/internalAnnotations.kt | 18 ------- libraries/kotlin.test/js/build.gradle | 53 +++++++++++++++++++ .../js/src/main/kotlin/annotations.kt | 16 ------ libraries/settings.gradle | 3 +- 4 files changed, 55 insertions(+), 35 deletions(-) delete mode 100644 libraries/kotlin.test/common/src/main/kotlin/kotlin/internal/internalAnnotations.kt create mode 100644 libraries/kotlin.test/js/build.gradle delete mode 100644 libraries/kotlin.test/js/src/main/kotlin/annotations.kt diff --git a/libraries/kotlin.test/common/src/main/kotlin/kotlin/internal/internalAnnotations.kt b/libraries/kotlin.test/common/src/main/kotlin/kotlin/internal/internalAnnotations.kt deleted file mode 100644 index 9bad03bf83c..00000000000 --- a/libraries/kotlin.test/common/src/main/kotlin/kotlin/internal/internalAnnotations.kt +++ /dev/null @@ -1,18 +0,0 @@ -package kotlin.internal - - -/** - * The value of this type parameter should be mentioned in input types (argument types, receiver type or expected type). - */ -@Suppress("HEADER_WITHOUT_IMPLEMENTATION") -@Target(AnnotationTarget.TYPE_PARAMETER) -@Retention(AnnotationRetention.BINARY) -internal header annotation class OnlyInputTypes - -/** - * Specifies that this function should not be called directly without inlining - */ -@Suppress("HEADER_WITHOUT_IMPLEMENTATION") -@Target(AnnotationTarget.FUNCTION) -@Retention(AnnotationRetention.BINARY) -internal header annotation class InlineOnly diff --git a/libraries/kotlin.test/js/build.gradle b/libraries/kotlin.test/js/build.gradle new file mode 100644 index 00000000000..bb08f97cc8d --- /dev/null +++ b/libraries/kotlin.test/js/build.gradle @@ -0,0 +1,53 @@ +description = 'Kotlin Test for JS' + +apply plugin: 'kotlin-platform-js' + +dependencies { + implement project(':kotlin-test:kotlin-test-common') + compile project(':kotlin-stdlib-js') +} + +compileKotlin2Js { + // TODO: Why "-Xmulti-platfrom" ? + kotlinOptions.freeCompilerArgs = ["-Xallow-kotlin-package", "-Xmulti-platform"] + kotlinOptions { + moduleKind = "umd" + outputFile = "${buildDir}/classes/main/kotlin-test.js" + } +} + +compileTestKotlin2Js { + kotlinOptions.freeCompilerArgs = ["-Xallow-kotlin-package"] +} + + +archivesBaseName = 'kotlin-test-js' + +jar { + manifest { + attributes 'addDefaultImplementationEntries': true, + 'Implementation-Title': "${project.description ?: project.name}" + } + dependsOn classes + from sourceSets.main.output +} + +task sourcesJar(type: Jar, dependsOn: classes) { + classifier = 'sources' + from (sourceSets.main.allSource) +} + +task emptyJavadoc(type: Javadoc) { + source = sourceSets.main.java + failOnError = false +} + +task javadocJar(type: Jar, dependsOn: emptyJavadoc) { + classifier = 'javadoc' + from emptyJavadoc.destinationDir +} + +artifacts { + archives sourcesJar + archives javadocJar +} diff --git a/libraries/kotlin.test/js/src/main/kotlin/annotations.kt b/libraries/kotlin.test/js/src/main/kotlin/annotations.kt deleted file mode 100644 index e805b24f360..00000000000 --- a/libraries/kotlin.test/js/src/main/kotlin/annotations.kt +++ /dev/null @@ -1,16 +0,0 @@ -package kotlin.internal - - -/** - * The value of this type parameter should be mentioned in input types (argument types, receiver type or expected type). -// */ -//@Target(AnnotationTarget.TYPE_PARAMETER) -//@Retention(AnnotationRetention.BINARY) -//internal impl annotation class OnlyInputTypes - -/** - * Specifies that this function should not be called directly without inlining - */ -@Target(AnnotationTarget.FUNCTION) -@Retention(AnnotationRetention.BINARY) -internal impl annotation class InlineOnly \ No newline at end of file diff --git a/libraries/settings.gradle b/libraries/settings.gradle index b65eed51316..71ff64c26ac 100644 --- a/libraries/settings.gradle +++ b/libraries/settings.gradle @@ -5,6 +5,7 @@ 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' @@ -55,7 +56,7 @@ 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 project(':kotlin-test:kotlin-test-junit').projectDir = "$rootDir/kotlin.test/junit" as File -//project(':kotlin-test:kotlin-test-js').projectDir = "$rootDir/kotlin.test/js" as File +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