From 10810aa90f7bbe7435aaa923038bb1c8773d69c4 Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Wed, 13 Jun 2018 12:37:17 +0300 Subject: [PATCH] Build: upgrade gradle to 4.8, fix ivy artifacts publication Fix kotlin gradle plugin compilation against gradle 4.8 api Internal ivy artifacts api has been changed, there is no longer DefaultIvyArtifact --- buildSrc/prepare-deps/android-dx/build.gradle.kts | 6 +++--- buildSrc/prepare-deps/intellij-sdk/build.gradle.kts | 6 +++--- gradle/wrapper/gradle-wrapper.properties | 2 +- .../kotlin/gradle/plugin/mpp/KotlinSoftwareComponent.kt | 5 ++++- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/buildSrc/prepare-deps/android-dx/build.gradle.kts b/buildSrc/prepare-deps/android-dx/build.gradle.kts index 0c7ed3c4a1c..2534cefb131 100644 --- a/buildSrc/prepare-deps/android-dx/build.gradle.kts +++ b/buildSrc/prepare-deps/android-dx/build.gradle.kts @@ -1,5 +1,5 @@ -import org.gradle.api.publish.ivy.internal.artifact.DefaultIvyArtifact +import org.gradle.api.publish.ivy.internal.artifact.FileBasedIvyArtifact import org.gradle.api.publish.ivy.internal.publication.DefaultIvyConfiguration import org.gradle.api.publish.ivy.internal.publication.DefaultIvyPublicationIdentity import org.gradle.api.publish.ivy.internal.publisher.IvyDescriptorFileGenerator @@ -92,8 +92,8 @@ val prepareIvyXml by tasks.creating { with(IvyDescriptorFileGenerator(DefaultIvyPublicationIdentity(customDepsOrg, dxModuleName, dxRevision))) { addConfiguration(DefaultIvyConfiguration("default")) addConfiguration(DefaultIvyConfiguration("sources")) - addArtifact(DefaultIvyArtifact(File(dxRepoModuleDir, "dx.jar"), "dx", "jar", "jar", null).also { it.conf = "default" }) - addArtifact(DefaultIvyArtifact(File(dxRepoModuleDir, "dx-sources.jar"), "dx", "jar", "sources", "sources").also { it.conf = "sources" }) + addArtifact(FileBasedIvyArtifact(File(dxRepoModuleDir, "dx.jar"), DefaultIvyPublicationIdentity(customDepsOrg, "dx", dxRevision)).also { it.conf = "default" }) + addArtifact(FileBasedIvyArtifact(File(dxRepoModuleDir, "dx-sources.jar"), DefaultIvyPublicationIdentity(customDepsOrg, "dx", dxRevision)).also { it.conf = "sources" }) writeTo(ivyFile) } } diff --git a/buildSrc/prepare-deps/intellij-sdk/build.gradle.kts b/buildSrc/prepare-deps/intellij-sdk/build.gradle.kts index 559f683f8d0..7687b8d075e 100644 --- a/buildSrc/prepare-deps/intellij-sdk/build.gradle.kts +++ b/buildSrc/prepare-deps/intellij-sdk/build.gradle.kts @@ -1,7 +1,7 @@ @file:Suppress("PropertyName") -import org.gradle.api.publish.ivy.internal.artifact.DefaultIvyArtifact +import org.gradle.api.publish.ivy.internal.artifact.FileBasedIvyArtifact import org.gradle.api.publish.ivy.internal.publication.DefaultIvyConfiguration import org.gradle.api.publish.ivy.internal.publication.DefaultIvyPublicationIdentity import org.gradle.api.publish.ivy.internal.publisher.IvyDescriptorFileGenerator @@ -171,12 +171,12 @@ fun writeIvyXml(moduleName: String, fileName: String, jarFiles: FileCollection, jarFiles.asFileTree.files.forEach { if (it.isFile && it.extension == "jar") { val relativeName = it.toRelativeString(baseDir).removeSuffix(".jar") - addArtifact(DefaultIvyArtifact(it, relativeName, "jar", "jar", null).also { it.conf = "default" }) + addArtifact(FileBasedIvyArtifact(it, DefaultIvyPublicationIdentity(customDepsOrg, relativeName, intellijVersion)).also { it.conf = "default" }) } } if (sourcesJar != null) { val sourcesArtifactName = sourcesJar.name.removeSuffix(".jar").substringBefore("-") - addArtifact(DefaultIvyArtifact(sourcesJar, sourcesArtifactName, "jar", "sources", "sources").also { it.conf = "sources" }) + addArtifact(FileBasedIvyArtifact(sourcesJar, DefaultIvyPublicationIdentity(customDepsOrg, sourcesArtifactName, intellijVersion)).also { it.conf = "sources" }) } writeTo(File(customDepsRepoModulesDir, "$fileName.ivy.xml")) } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 16d28051c9c..d2c45a4b260 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinSoftwareComponent.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinSoftwareComponent.kt index 43ff703f9ff..437b50d361d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinSoftwareComponent.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/mpp/KotlinSoftwareComponent.kt @@ -6,7 +6,10 @@ package org.jetbrains.kotlin.gradle.plugin.mpp import org.gradle.api.Project -import org.gradle.api.artifacts.* +import org.gradle.api.artifacts.Configuration +import org.gradle.api.artifacts.DependencyConstraint +import org.gradle.api.artifacts.ModuleDependency +import org.gradle.api.artifacts.PublishArtifact import org.gradle.api.attributes.AttributeContainer import org.gradle.api.attributes.Usage import org.gradle.api.capabilities.Capability