0cb73e55d0
#KT-24532: Fixed
129 lines
2.7 KiB
Groovy
129 lines
2.7 KiB
Groovy
description = 'Kotlin Common Standard Library'
|
|
|
|
apply plugin: 'kotlin-platform-common'
|
|
apply plugin: 'pill-configurable'
|
|
|
|
configureDist(project)
|
|
configurePublishing(project)
|
|
|
|
def commonSrcDir = "../src"
|
|
def commonTestSrcDir = "../test"
|
|
|
|
pill {
|
|
importAsLibrary = true
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
kotlin {
|
|
srcDir 'src'
|
|
srcDir commonSrcDir
|
|
}
|
|
}
|
|
test {
|
|
kotlin {
|
|
srcDir commonTestSrcDir
|
|
srcDir 'test'
|
|
}
|
|
}
|
|
unsigned {
|
|
kotlin {
|
|
srcDir '../unsigned/src'
|
|
}
|
|
}
|
|
coroutines {
|
|
kotlin {
|
|
srcDir '../coroutines/common/src'
|
|
srcDir '../coroutines/src'
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
testCompile project(":kotlin-test:kotlin-test-common")
|
|
testCompile project(":kotlin-test:kotlin-test-annotations-common")
|
|
|
|
unsignedCompile sourceSets.main.output
|
|
coroutinesCompile sourceSets.main.output
|
|
}
|
|
|
|
compileKotlinCommon {
|
|
dependsOn(":prepare:build.version:writeStdlibVersion")
|
|
// dependsOn ":prepare:compiler:prepare-compiler-with-bootstrap-runtime"
|
|
// compilerJarFile = compilerJarWithBootstrapRuntime
|
|
}
|
|
|
|
compileKotlinCommon {
|
|
kotlinOptions {
|
|
freeCompilerArgs = [
|
|
"-module-name", project.name,
|
|
"-Xuse-experimental=kotlin.Experimental"
|
|
]
|
|
}
|
|
}
|
|
|
|
compileUnsignedKotlinCommon {
|
|
kotlinOptions {
|
|
freeCompilerArgs += [
|
|
"-XXLanguage:+InlineClasses"
|
|
]
|
|
}
|
|
}
|
|
|
|
compileCoroutinesKotlinCommon {
|
|
kotlinOptions {
|
|
languageVersion = "1.3"
|
|
apiVersion = "1.3"
|
|
freeCompilerArgs = [
|
|
"-module-name", project.name
|
|
]
|
|
}
|
|
}
|
|
|
|
kotlin.experimental.coroutines 'enable'
|
|
|
|
jar {
|
|
manifestAttributes(manifest, project, 'Main')
|
|
}
|
|
|
|
task coroutinesCommonJar(type: Jar) {
|
|
classifier = 'coroutines'
|
|
version = null
|
|
manifestAttributes(manifest, project, 'Main')
|
|
project.configure(manifest) { attributes 'Kotlin-Version': '1.3' }
|
|
from sourceSets.coroutines.output
|
|
}
|
|
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.kotlin
|
|
}
|
|
|
|
configurations {
|
|
sources
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
sources sourcesJar
|
|
archives javadocJar
|
|
}
|
|
|
|
// TODO: call the "dist" task instead, once we need to publish kotlin-stdlib-common.jar with the compiler distribution
|
|
task distCommon(type: Copy) {
|
|
from(jar)
|
|
into "$distDir/common"
|
|
rename "-${java.util.regex.Pattern.quote(version)}", ''
|
|
}
|
|
|
|
dist.dependsOn distCommon
|
|
|
|
task experimentalCommonJarsDist(type: Copy) {
|
|
from coroutinesCommonJar
|
|
into distDir
|
|
}
|
|
|
|
dist.dependsOn experimentalCommonJarsDist
|
|
|
|
classes.setDependsOn(classes.dependsOn.findAll { it != "compileJava" })
|