diff --git a/libraries/stdlib/common/build.gradle b/libraries/stdlib/common/build.gradle index beb72910735..a0c9a29c59f 100644 --- a/libraries/stdlib/common/build.gradle +++ b/libraries/stdlib/common/build.gradle @@ -55,8 +55,13 @@ task sourcesJar(type: Jar, dependsOn: classes) { from sourceSets.main.kotlin } +configurations { + sources +} + artifacts { archives sourcesJar + sources sourcesJar archives javadocJar } diff --git a/libraries/stdlib/js/build.gradle b/libraries/stdlib/js/build.gradle index 6eecc163636..2320f27168d 100644 --- a/libraries/stdlib/js/build.gradle +++ b/libraries/stdlib/js/build.gradle @@ -63,9 +63,11 @@ sourceSets { configurations { merger + commonSources } dependencies { expectedBy project(":kotlin-stdlib-common") + commonSources project(path: ":kotlin-stdlib-common", configuration: "sources") testCompile project(':kotlin-test:kotlin-test-js') merger project(":tools:kotlin-stdlib-js-merger") } @@ -275,6 +277,22 @@ task sourcesJar(type: Jar, dependsOn: classes) { } } +task distSourcesJar(type: Jar) { + dependsOn(sourcesJar, configurations.commonSources) + baseName = 'dist-kotlin-stdlib-js' + version = null + classifier = 'sources' + duplicatesStrategy = DuplicatesStrategy.FAIL + from zipTree(sourcesJar.outputs.files.singleFile) + + from(zipTree(configurations.commonSources.singleFile)) { + it.includeEmptyDirs = false + exclude 'META-INF/*' + into 'common' + } +} + + artifacts { runtime mergedJar @@ -290,7 +308,8 @@ task distJs(type: Copy) { dist { dependsOn distJs - [mergedJar, sourcesJar].forEach { + [mergedJar, distSourcesJar].forEach { + rename("dist-", "") from(it) // legacy from(it) { diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index c7ea5aef124..eb89c5ba509 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -46,9 +46,15 @@ sourceSets { } } +configurations { + commonSources +} + dependencies { expectedBy project(":kotlin-stdlib-common") + commonSources project(path: ":kotlin-stdlib-common", configuration: "sources") + compile group: 'org.jetbrains', name: 'annotations', version:'13.0' testCompile project(':kotlin-test:kotlin-test-junit') @@ -79,13 +85,28 @@ sourcesJar { from "${rootDir}/core/builtins/native" } +task distSourcesJar(type: Jar) { + dependsOn(sourcesJar, configurations.commonSources) + baseName = 'dist-kotlin-stdlib' + version = null + classifier = 'sources' + duplicatesStrategy = DuplicatesStrategy.FAIL + from zipTree(sourcesJar.outputs.files.singleFile) + + from(zipTree(configurations.commonSources.singleFile)) { + it.includeEmptyDirs = false + exclude 'META-INF/*' + into 'common' + } +} + artifacts { archives sourcesJar archives javadocJar } dist { - [distJar, sourcesJar].forEach { + [distJar, distSourcesJar].forEach { from(it) { rename('dist-', '') }