diff --git a/build.gradle.kts b/build.gradle.kts index c89a03f218..2dbd12f50c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -67,14 +67,6 @@ subprojects { } } -// Workaround for https://github.com/bintray/gradle-bintray-plugin/issues/267 -// Manually disable bintray tasks added to the root project -tasks.whenTaskAdded { - if ("bintray" in name) { - enabled = false - } -} - println("Publication version: $dokka_version") tasks.register("validatePublications") diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 7234f33fa6..ade06b2c0e 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -7,8 +7,7 @@ repositories { } dependencies { - implementation("com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4") implementation("com.github.jengelman.gradle.plugins:shadow:2.0.4") - implementation("org.jetbrains.kotlinx:binary-compatibility-validator:0.6.0") + implementation("org.jetbrains.kotlinx:binary-compatibility-validator:0.8.0") implementation("io.github.gradle-nexus:publish-plugin:1.0.0") } diff --git a/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt b/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt index c4f22a9083..6b78edbaff 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/DokkaPublicationChannel.kt @@ -6,20 +6,11 @@ import org.gradle.api.Project enum class DokkaPublicationChannel { SpaceDokkaDev, - BintrayKotlinDev, - BintrayKotlinEap, - BintrayKotlinDokka, MavenCentral, MavenCentralSnapshot; val isSpaceRepository get() = this == SpaceDokkaDev - val isBintrayRepository - get() = when (this) { - BintrayKotlinDev, BintrayKotlinEap, BintrayKotlinDokka -> true - else -> false - } - val isMavenRepository get() = when (this) { MavenCentral, MavenCentralSnapshot -> true @@ -31,17 +22,11 @@ enum class DokkaPublicationChannel { MavenCentral -> listOf(DokkaVersionType.Release) MavenCentralSnapshot -> listOf(DokkaVersionType.Snapshot) SpaceDokkaDev -> listOf(DokkaVersionType.Release, DokkaVersionType.Dev, DokkaVersionType.MC, DokkaVersionType.Snapshot) - BintrayKotlinDev -> listOf(DokkaVersionType.Dev, DokkaVersionType.MC, DokkaVersionType.Snapshot) - BintrayKotlinEap -> listOf(DokkaVersionType.MC) - BintrayKotlinDokka -> listOf(DokkaVersionType.Release) } companion object { fun fromPropertyString(value: String): DokkaPublicationChannel = when (value) { "space-dokka-dev" -> SpaceDokkaDev - "bintray-kotlin-dev" -> BintrayKotlinDev - "bintray-kotlin-eap" -> BintrayKotlinEap - "bintray-kotlin-dokka" -> BintrayKotlinDokka "maven-central-release" -> MavenCentral "maven-central-snapshot" -> MavenCentralSnapshot else -> throw IllegalArgumentException("Unknown dokka_publication_channel=$value") diff --git a/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt b/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt index 4b97d74a4a..a074dcf051 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/ValidatePublications.kt @@ -1,6 +1,5 @@ package org.jetbrains -import com.jfrog.bintray.gradle.BintrayExtension import org.gradle.api.DefaultTask import org.gradle.api.GradleException import org.gradle.api.Project @@ -9,12 +8,8 @@ import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication import org.gradle.api.tasks.TaskAction import org.gradle.kotlin.dsl.findByType -import org.gradle.kotlin.dsl.provideDelegate open class ValidatePublications : DefaultTask() { - class MissingBintrayPublicationException(project: Project, publication: MavenPublication) : GradleException( - "Project ${project.path} has publication ${publication.name} that is not configured for bintray publication" - ) class UnpublishedProjectDependencyException( project: Project, dependencyProject: Project @@ -32,27 +27,12 @@ open class ValidatePublications : DefaultTask() { .filterIsInstance() .filter { it.version == project.dokkaVersion } .forEach { publication -> - if (project.publicationChannels.any { it.isBintrayRepository }) { - checkPublicationIsConfiguredForBintray(subProject, publication) - } checkProjectDependenciesArePublished(subProject) subProject.assertPublicationVersion() } } } - private fun checkPublicationIsConfiguredForBintray(project: Project, publication: MavenPublication) { - val bintrayExtension = project.extensions.findByType() - ?: throw MissingBintrayPublicationException(project, publication) - - val isPublicationConfiguredForBintray = bintrayExtension.publications.orEmpty() - .any { publicationName -> publicationName == publication.name } - - if (!isPublicationConfiguredForBintray) { - throw MissingBintrayPublicationException(project, publication) - } - } - private fun checkProjectDependenciesArePublished(project: Project) { (project.configurations.findByName("implementation")?.allDependencies.orEmpty() + project.configurations.findByName("api")?.allDependencies.orEmpty()) diff --git a/buildSrc/src/main/kotlin/org/jetbrains/binaryCompatibility.kt b/buildSrc/src/main/kotlin/org/jetbrains/binaryCompatibility.kt index fb686e1d51..0b8386b61e 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/binaryCompatibility.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/binaryCompatibility.kt @@ -16,14 +16,12 @@ internal object BinaryCompatibilityConfig { } internal fun Project.registerBinaryCompatibilityCheck(publicationName: String) { - publicationName.takeIf { - it !in BinaryCompatibilityConfig.ignoredPublications - }?.let { + if (publicationName !in BinaryCompatibilityConfig.ignoredPublications) { if (tasks.findByName("apiBuild") == null) { plugins.apply(kotlinx.validation.BinaryCompatibilityValidatorPlugin::class.java) configure { ignoredProjects.addAll( - BinaryCompatibilityConfig.ignoredSubprojects.intersect(allprojects.map { it.name }) + BinaryCompatibilityConfig.ignoredSubprojects.intersect(allprojects.map { it.name }.toSet()) ) } } diff --git a/buildSrc/src/main/kotlin/org/jetbrains/publication.kt b/buildSrc/src/main/kotlin/org/jetbrains/publication.kt index bb4f3ad3d7..c3fc2ac711 100644 --- a/buildSrc/src/main/kotlin/org/jetbrains/publication.kt +++ b/buildSrc/src/main/kotlin/org/jetbrains/publication.kt @@ -1,8 +1,6 @@ package org.jetbrains import com.github.jengelman.gradle.plugins.shadow.ShadowExtension -import com.jfrog.bintray.gradle.BintrayExtension -import kotlinx.validation.ApiValidationExtension import org.gradle.api.Project import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication @@ -10,7 +8,6 @@ import org.gradle.api.publish.maven.tasks.PublishToMavenRepository import org.gradle.kotlin.dsl.* import org.gradle.plugins.signing.SigningExtension import org.jetbrains.DokkaPublicationChannel.* -import io.github.gradlenexus.publishplugin.NexusPublishExtension import java.net.URI class DokkaPublicationBuilder { @@ -42,7 +39,6 @@ fun Project.registerDokkaArtifactPublication(publicationName: String, configure: } } - configureBintrayPublicationIfNecessary(publicationName) configureSpacePublicationIfNecessary(publicationName) configureSonatypePublicationIfNecessary(publicationName) createDokkaPublishTaskIfNecessary() @@ -88,50 +84,6 @@ fun Project.createDokkaPublishTaskIfNecessary() { if (publicationChannels.any { it.isMavenRepository }) { dependsOn(tasks.named("publishToSonatype")) } - - if (publicationChannels.any { it.isBintrayRepository }) { - dependsOn(tasks.named("bintrayUpload")) - } - } -} - -fun Project.configureBintrayPublicationIfNecessary(vararg publications: String) { - if (publicationChannels.any { it.isBintrayRepository }) { - configureBintrayPublication(*publications) - } -} - -private fun Project.configureBintrayPublication(vararg publications: String) { - extensions.configure("bintray") { - user = System.getenv("BINTRAY_USER") - key = System.getenv("BINTRAY_KEY") - dryRun = System.getenv("BINTRAY_DRY_RUN") == "true" || - project.properties["bintray_dry_run"] == "true" - pkg = PackageConfig().apply { - val bintrayPublicationChannels = publicationChannels.filter { it.isBintrayRepository } - if (bintrayPublicationChannels.size > 1) { - throw IllegalArgumentException( - "Only a single bintray repository can be used for publishing at once. Found $publicationChannels" - ) - } - - repo = when (bintrayPublicationChannels.single()) { - SpaceDokkaDev, MavenCentral, MavenCentralSnapshot -> throw IllegalStateException("${bintrayPublicationChannels.single()} is not a bintray repository") - BintrayKotlinDev -> "kotlin-dev" - BintrayKotlinEap -> "kotlin-eap" - BintrayKotlinDokka -> "dokka" - } - - name = "dokka" - userOrg = "kotlin" - desc = "Dokka, the Kotlin documentation tool" - vcsUrl = "https://github.com/kotlin/dokka.git" - setLicenses("Apache-2.0") - version = VersionConfig().apply { - name = dokkaVersion - } - } - setPublications(*publications) } } diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 3dc1d27017..c24a175c6f 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -3,7 +3,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { `maven-publish` - id("com.jfrog.bintray") } dependencies { diff --git a/core/test-api/build.gradle.kts b/core/test-api/build.gradle.kts index 4acb260b9b..cb36dc2016 100644 --- a/core/test-api/build.gradle.kts +++ b/core/test-api/build.gradle.kts @@ -2,7 +2,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { `maven-publish` - id("com.jfrog.bintray") } dependencies { diff --git a/kotlin-analysis/build.gradle.kts b/kotlin-analysis/build.gradle.kts index 9f1588f34d..c517000ea8 100644 --- a/kotlin-analysis/build.gradle.kts +++ b/kotlin-analysis/build.gradle.kts @@ -3,7 +3,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("com.github.johnrengelman.shadow") `maven-publish` - id("com.jfrog.bintray") } dependencies { diff --git a/kotlin-analysis/compiler-dependency/build.gradle.kts b/kotlin-analysis/compiler-dependency/build.gradle.kts index 44e2f0b57b..779fbfd257 100644 --- a/kotlin-analysis/compiler-dependency/build.gradle.kts +++ b/kotlin-analysis/compiler-dependency/build.gradle.kts @@ -4,7 +4,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("com.github.johnrengelman.shadow") `maven-publish` - id("com.jfrog.bintray") } dependencies { diff --git a/kotlin-analysis/intellij-dependency/build.gradle.kts b/kotlin-analysis/intellij-dependency/build.gradle.kts index 5993c4d892..b2ee35e1ef 100644 --- a/kotlin-analysis/intellij-dependency/build.gradle.kts +++ b/kotlin-analysis/intellij-dependency/build.gradle.kts @@ -4,7 +4,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("com.github.johnrengelman.shadow") `maven-publish` - id("com.jfrog.bintray") } repositories { diff --git a/plugins/build.gradle.kts b/plugins/build.gradle.kts index dad4d64773..1b15a20979 100644 --- a/plugins/build.gradle.kts +++ b/plugins/build.gradle.kts @@ -4,7 +4,6 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent subprojects { apply { plugin("maven-publish") - plugin("com.jfrog.bintray") } dependencies { diff --git a/runners/build.gradle.kts b/runners/build.gradle.kts index cf8aa15dc8..095367ad3f 100644 --- a/runners/build.gradle.kts +++ b/runners/build.gradle.kts @@ -1,7 +1,6 @@ subprojects { apply { plugin("maven-publish") - plugin("com.jfrog.bintray") } tasks.processResources { diff --git a/runners/cli/build.gradle.kts b/runners/cli/build.gradle.kts index 2785e92fdd..f345df7d7d 100644 --- a/runners/cli/build.gradle.kts +++ b/runners/cli/build.gradle.kts @@ -3,7 +3,6 @@ import org.jetbrains.registerDokkaArtifactPublication plugins { id("com.github.johnrengelman.shadow") - id("com.jfrog.bintray") } dependencies { diff --git a/runners/gradle-plugin/build.gradle.kts b/runners/gradle-plugin/build.gradle.kts index 95884e2566..7cc5266dc9 100644 --- a/runners/gradle-plugin/build.gradle.kts +++ b/runners/gradle-plugin/build.gradle.kts @@ -97,7 +97,6 @@ tasks.withType().configureEach { } afterEvaluate { // Workaround for an interesting design choice https://github.com/gradle/gradle/blob/c4f935f77377f1783f70ec05381c8182b3ade3ea/subprojects/plugin-development/src/main/java/org/gradle/plugin/devel/plugins/MavenPluginPublishPlugin.java#L49 - configureBintrayPublicationIfNecessary("pluginMaven", "dokkaGradlePluginPluginMarkerMaven") configureSpacePublicationIfNecessary("pluginMaven", "dokkaGradlePluginPluginMarkerMaven") configureSonatypePublicationIfNecessary("pluginMaven", "dokkaGradlePluginPluginMarkerMaven") createDokkaPublishTaskIfNecessary() diff --git a/settings.gradle.kts b/settings.gradle.kts index b3c0015370..b664451502 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -43,7 +43,6 @@ pluginManagement { plugins { id("org.jetbrains.kotlin.jvm") version kotlin_version id("com.github.johnrengelman.shadow") version "5.2.0" - id("com.jfrog.bintray") version "1.8.5" id("com.gradle.plugin-publish") version "0.20.0" } }