From da6c2ddb2f92cdd05b0aca077bf063c422d7c9b9 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Mon, 4 May 2020 10:00:48 +0300 Subject: [PATCH] Build: Migrate stdlib & kotlin-test to maven-publish publication --- libraries/kotlin.test/js/build.gradle | 5 ++-- libraries/stdlib/jdk7/build.gradle | 11 ++++----- libraries/stdlib/jdk8/build.gradle | 12 ++++------ libraries/stdlib/js-v1/build.gradle | 20 ++++------------ libraries/stdlib/jvm/build.gradle | 10 ++++---- .../kotlin-test-js-runner/build.gradle.kts | 24 +++++-------------- 6 files changed, 26 insertions(+), 56 deletions(-) diff --git a/libraries/kotlin.test/js/build.gradle b/libraries/kotlin.test/js/build.gradle index e83488eaf5d..50627f8fff5 100644 --- a/libraries/kotlin.test/js/build.gradle +++ b/libraries/kotlin.test/js/build.gradle @@ -2,11 +2,9 @@ description = 'Kotlin Test for JS' apply plugin: 'kotlin-platform-js' -// TODO: Migrate to maven-publish publishing -configureLegacyPublishing(project) +configurePublishing(project) configurations { - sources distJs distLibrary } @@ -78,6 +76,7 @@ task sourcesJar(type: Jar, dependsOn: classes) { artifacts { runtime libraryJarWithIr archives libraryJarWithIr + publishedRuntime libraryJarWithIr distLibrary libraryJarWithIr archives sourcesJar distJs(file(compileKotlin2Js.kotlinOptions.outputFile)) { diff --git a/libraries/stdlib/jdk7/build.gradle b/libraries/stdlib/jdk7/build.gradle index fd38f55924c..20f99c42277 100644 --- a/libraries/stdlib/jdk7/build.gradle +++ b/libraries/stdlib/jdk7/build.gradle @@ -3,8 +3,10 @@ description = 'Kotlin Standard Library JDK 7 extension' apply plugin: 'kotlin' configureJvm6Project(project) -// TODO: Migrate to maven-publish publishing -configureLegacyPublishing(project) +configurePublishing(project) +configureSourcesJar() +configureJavadocJar() + ext.javaHome = JDK_17 sourceSets { @@ -50,10 +52,9 @@ jar { from sourceSets.java9.output } -task modularJar(type: Jar) { +configureModularJar { dependsOn(jar) manifestAttributes(manifest, project, 'Main', true) - classifier = 'modular' from zipTree(jar.outputs.files.singleFile) } @@ -66,8 +67,6 @@ artifacts { archives modularJar } -configureJavadocJar() - tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions.jdkHome = JDK_17 } diff --git a/libraries/stdlib/jdk8/build.gradle b/libraries/stdlib/jdk8/build.gradle index 61344d21b1f..882523a3eaf 100644 --- a/libraries/stdlib/jdk8/build.gradle +++ b/libraries/stdlib/jdk8/build.gradle @@ -3,8 +3,10 @@ description = 'Kotlin Standard Library JDK 8 extension' apply plugin: 'kotlin' configureJvm6Project(project) -// TODO: Migrate to maven-publish publishing -configureLegacyPublishing(project) +configurePublishing(project) +configureSourcesJar() +configureJavadocJar() + ext.javaHome = JDK_18 ext.jvmTarget = "1.8" @@ -44,15 +46,13 @@ jar { from sourceSets.java9.output } -task modularJar(type: Jar) { +configureModularJar { dependsOn(jar) manifestAttributes(manifest, project, 'Main', true) - classifier = 'modular' from zipTree(jar.outputs.files.singleFile) } - artifacts { archives sourcesJar sources sourcesJar @@ -60,8 +60,6 @@ artifacts { archives modularJar } -configureJavadocJar() - tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) { kotlinOptions.jdkHome = JDK_18 kotlinOptions.jvmTarget = 1.8 diff --git a/libraries/stdlib/js-v1/build.gradle b/libraries/stdlib/js-v1/build.gradle index a9606137e16..61a8da3bc4d 100644 --- a/libraries/stdlib/js-v1/build.gradle +++ b/libraries/stdlib/js-v1/build.gradle @@ -7,8 +7,8 @@ description = 'Kotlin Standard Library for JS' apply plugin: 'kotlin-platform-js' apply plugin: 'idea' -// TODO: Migrate to maven-publish publishing -configureLegacyPublishing(project) +configurePublishing(project) +configureJavadocJar() configurations { sources @@ -16,7 +16,6 @@ configurations { distSources distJs distLibrary - publishedArtifacts } def builtinsSrcDir = "${buildDir}/builtin-sources" @@ -306,13 +305,10 @@ task distSourcesJar(type: Jar) { } } -def javadocJar = configureJavadocJar() - artifacts { runtime libraryJarWithIr - publishedArtifacts libraryJarWithIr - publishedArtifacts sourcesJar - publishedArtifacts javadocJar + publishedRuntime libraryJarWithIr + publishedRuntime sourcesJar sources sourcesJar distSources distSourcesJar distLibrary libraryJarWithIr @@ -322,14 +318,6 @@ artifacts { } } -uploadArchives { - configuration = configurations.publishedArtifacts -} - -install { - configuration = configurations.publishedArtifacts -} - node { download = true version = '8.9.4' // The default 6.9.1 has buggy hyperbolic functions implementation diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index 82f9b5cd888..2783cd37f7b 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -5,8 +5,9 @@ apply plugin: 'kotlin-platform-jvm' archivesBaseName = 'kotlin-stdlib' configureJvm6Project(project) -// TODO: Migrate to maven-publish publishing -configureLegacyPublishing(project) +configurePublishing(project) +configureJavadocJar() +configureSourcesJar() configurations { distSources @@ -85,10 +86,9 @@ task distSourcesJar(type: Jar) { } } -task modularJar(type: Jar) { +configureModularJar { dependsOn(jar) manifestAttributes(manifest, project, 'Main', true) - classifier = 'modular' from zipTree(jar.outputs.files.singleFile) } @@ -100,8 +100,6 @@ artifacts { archives modularJar } -configureJavadocJar() - DexMethodCountKt.dexMethodCount(project) { task -> task.from(jar) task.ownPackages = ['kotlin'] diff --git a/libraries/tools/kotlin-test-js-runner/build.gradle.kts b/libraries/tools/kotlin-test-js-runner/build.gradle.kts index a70375a3aac..1ee4d34924a 100644 --- a/libraries/tools/kotlin-test-js-runner/build.gradle.kts +++ b/libraries/tools/kotlin-test-js-runner/build.gradle.kts @@ -7,20 +7,14 @@ plugins { id("com.github.node-gradle.node") version "2.2.0" } +publish() + val default = configurations.getByName(Dependency.DEFAULT_CONFIGURATION) -val archives = configurations.getByName(Dependency.ARCHIVES_CONFIGURATION) - -default.extendsFrom(archives) - -plugins.apply("maven") - -convention.getPlugin(MavenPluginConvention::class.java).also { - it.conf2ScopeMappings.addMapping(MavenPlugin.RUNTIME_PRIORITY, archives, Conf2ScopeMappingContainer.RUNTIME) -} +default.extendsFrom(configurations.publishedRuntime.get()) dependencies { if (!kotlinBuildProperties.isInJpsBuildIdeaSync) { - archives(project(":kotlin-test:kotlin-test-js")) + publishedRuntime(project(":kotlin-test:kotlin-test-js")) } } @@ -88,12 +82,6 @@ val jar by tasks.creating(Jar::class) { } artifacts { - add( - "archives", - jar.archiveFile.get().asFile - ) { - builtBy(jar) - } + add(configurations.archives.name, jar) + add(configurations.publishedRuntime.name, jar) } - -publishWithLegacyMavenPlugin() \ No newline at end of file