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() {}