From 258999fa9e57627d0c630dfdc752ce62e338c01d Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 26 Sep 2018 19:36:31 +0300 Subject: [PATCH] Always use Gradle wrapper 4.7 in MPP projects #KT-27177 Fixed --- ...radleAbstractMultiplatformModuleBuilder.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt index 191b0eb0335..aa175f87887 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinGradleAbstractMultiplatformModuleBuilder.kt @@ -20,6 +20,7 @@ import org.jetbrains.kotlin.konan.target.TargetSupportException import org.jetbrains.plugins.gradle.frameworkSupport.BuildScriptDataBuilder import org.jetbrains.plugins.gradle.service.project.wizard.GradleModuleBuilder import org.jetbrains.plugins.gradle.service.settings.GradleProjectSettingsControl +import org.jetbrains.plugins.gradle.settings.DistributionType import javax.swing.Icon abstract class KotlinGradleAbstractMultiplatformModuleBuilder( @@ -70,6 +71,9 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder( } } createProjectSkeleton(module, rootDir) + if (externalProjectSettings.distributionType == DistributionType.DEFAULT_WRAPPED) { + setGradleWrapperToUseVersion(rootDir, "4.7") + } if (notImportedCommonSourceSets) GradlePropertiesFileFacade.forProject(module.project).addNotImportedCommonSourceSetsProperty() } finally { @@ -77,6 +81,22 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder( } } + private fun setGradleWrapperToUseVersion(rootDir: VirtualFile, version: String) { + val wrapperDir = rootDir.createChildDirectory(null, "gradle").createChildDirectory(null, "wrapper") + val wrapperProperties = wrapperDir.createChildData(null, "gradle-wrapper.properties").bufferedWriter() + wrapperProperties.use { + it.write( + """ + distributionBase=GRADLE_USER_HOME + distributionPath=wrapper/dists + distributionUrl=https\://services.gradle.org/distributions/gradle-$version-bin.zip + zipStoreBase=GRADLE_USER_HOME + zipStorePath=wrapper/dists + """.trimIndent() + ) + } + } + protected abstract fun buildMultiPlatformPart(): String protected open fun BuildScriptDataBuilder.setupAdditionalDependencies() {}