Build and package kotlin-test-js with gradle

This commit is contained in:
Ilya Gorbunov
2017-03-24 03:55:17 +03:00
parent 49ce11f363
commit 8fd8310033
4 changed files with 55 additions and 35 deletions
@@ -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
+53
View File
@@ -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
}
@@ -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
+2 -1
View File
@@ -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