From 8a4521864eaf4b9a8aeebf8fa93e92759bee8e34 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Tue, 2 Jun 2020 17:08:39 +0300 Subject: [PATCH] Wizard: use cache redirector on project importing tests --- idea/idea-new-project-wizard/build.gradle.kts | 1 + .../IdeaKotlinVersionProviderService.kt | 9 ++-- .../KotlinVersionProviderTestWizardService.kt | 34 ++++++++++-- .../service/KotlinVersionProviderService.kt | 53 +++++++++++++------ .../ir/buildsystem/BuildSystemPluginIR.kt | 7 +-- .../ir/buildsystem/DependencyIR.kt | 17 +++--- .../AndroidModuleConfigurator.kt | 6 +-- ...AndroidSinglePlatformModuleConfigurator.kt | 5 +- .../ModuleConfiguratorWithTests.kt | 2 +- .../plugins/kotlin/KotlinPlugin.kt | 12 +++-- .../plugins/kotlin/ModulesToIRsConverter.kt | 7 +-- .../settings/buildsystem/Repository.kt | 4 +- .../templates/SimpleJsClientTemplate.kt | 6 +-- 13 files changed, 108 insertions(+), 55 deletions(-) diff --git a/idea/idea-new-project-wizard/build.gradle.kts b/idea/idea-new-project-wizard/build.gradle.kts index 0bb8f8aa102..25de2a08a68 100644 --- a/idea/idea-new-project-wizard/build.gradle.kts +++ b/idea/idea-new-project-wizard/build.gradle.kts @@ -64,4 +64,5 @@ testsJar() projectTest { dependsOn(":dist") workingDir = rootDir + systemProperty("cacheRedirectorEnabled", findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() == true) } diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt index 855ef76c5c3..bb08effe401 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/service/IdeaKotlinVersionProviderService.kt @@ -14,17 +14,20 @@ import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.core.asNullable import org.jetbrains.kotlin.tools.projectWizard.core.safe import org.jetbrains.kotlin.tools.projectWizard.core.service.EapVersionDownloader +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.core.service.KotlinVersionProviderService import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version import org.jetbrains.kotlin.tools.projectWizard.wizard.KotlinNewProjectWizardUIBundle import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.runWithProgressBar -class IdeaKotlinVersionProviderService : KotlinVersionProviderService, IdeaWizardService { - override fun getKotlinVersion(): Version = - getPatchedKotlinVersion() +class IdeaKotlinVersionProviderService : KotlinVersionProviderService(), IdeaWizardService { + override fun getKotlinVersion(): WizardKotlinVersion { + val version = getPatchedKotlinVersion() ?: getKotlinVersionFromCompiler() ?: VersionsDownloader.downloadLatestEapOrStableKotlinVersion() ?: Versions.KOTLIN + return kotlinVersionWithDefaultValues(version) + } private fun getPatchedKotlinVersion() = if (ApplicationManager.getApplication().isInternal) { diff --git a/libraries/tools/new-project-wizard/new-project-wizard-cli/tests/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt b/libraries/tools/new-project-wizard/new-project-wizard-cli/tests/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt index 50ce2363268..90ea439bec7 100644 --- a/libraries/tools/new-project-wizard/new-project-wizard-cli/tests/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt +++ b/libraries/tools/new-project-wizard/new-project-wizard-cli/tests/org/jetbrains/kotlin/tools/projectWizard/cli/KotlinVersionProviderTestWizardService.kt @@ -6,13 +6,41 @@ package org.jetbrains.kotlin.tools.projectWizard.cli import org.jetbrains.kotlin.tools.projectWizard.core.service.EapVersionDownloader +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion +import org.jetbrains.kotlin.tools.projectWizard.core.service.KotlinVersionKind import org.jetbrains.kotlin.tools.projectWizard.core.service.KotlinVersionProviderService -import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version +import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.BintrayRepository +import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.DefaultRepository +import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Repository -class KotlinVersionProviderTestWizardService : KotlinVersionProviderService, TestWizardService { - override fun getKotlinVersion(): Version = TEST_KOTLIN_VERSION +class KotlinVersionProviderTestWizardService() : KotlinVersionProviderService(), TestWizardService { + private val useCacheRedirector + get() = System.getProperty("cacheRedirectorEnabled")?.toBoolean() == true + + + override fun getKotlinVersion(): WizardKotlinVersion = + kotlinVersionWithDefaultValues(TEST_KOTLIN_VERSION) + + override fun getKotlinVersionRepository(versionKind: KotlinVersionKind): Repository = if (useCacheRedirector) { + getKotlinVersionRepositoryWithCacheRedirector(versionKind) + } else { + super.getKotlinVersionRepository(versionKind) + } + + private fun getKotlinVersionRepositoryWithCacheRedirector(versionKind: KotlinVersionKind): Repository = when (versionKind) { + KotlinVersionKind.STABLE -> DefaultRepository.MAVEN_CENTRAL + KotlinVersionKind.EAP -> KOTLIN_EAP_BINTRAY_WITH_CACHE_REDIRECTOR + KotlinVersionKind.DEV -> KOTLIN_DEV_BINTRAY_WITH_CACHE_REDIRECTOR + KotlinVersionKind.M -> KOTLIN_EAP_BINTRAY_WITH_CACHE_REDIRECTOR + } companion object { + private const val CACHE_REDIRECTOR_BINTRAY_URL = "https://cache-redirector.jetbrains.com/dl.bintray.com" + + private val KOTLIN_EAP_BINTRAY_WITH_CACHE_REDIRECTOR = BintrayRepository("kotlin/kotlin-eap", CACHE_REDIRECTOR_BINTRAY_URL) + private val KOTLIN_DEV_BINTRAY_WITH_CACHE_REDIRECTOR = BintrayRepository("kotlin/kotlin-dev", CACHE_REDIRECTOR_BINTRAY_URL) + + val TEST_KOTLIN_VERSION by lazy { EapVersionDownloader.getLatestDevVersion()!! } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/KotlinVersionProviderService.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/KotlinVersionProviderService.kt index 4a2b634a156..5d3f325c687 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/KotlinVersionProviderService.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/core/service/KotlinVersionProviderService.kt @@ -20,28 +20,47 @@ import java.io.InputStreamReader import java.net.URL import java.util.stream.Collectors -interface KotlinVersionProviderService : WizardService { - fun getKotlinVersion(): Version -} +data class WizardKotlinVersion(val version: Version, val kind: KotlinVersionKind, val repository: Repository) -class KotlinVersionProviderServiceImpl : KotlinVersionProviderService, IdeaIndependentWizardService { - override fun getKotlinVersion(): Version = Versions.KOTLIN -} +abstract class KotlinVersionProviderService : WizardService { + abstract fun getKotlinVersion(): WizardKotlinVersion + protected fun kotlinVersionWithDefaultValues(version: Version) = WizardKotlinVersion( + version, + getKotlinVersionKind(version), + getKotlinVersionRepository(version) + ) -val Version.kotlinVersionKind - get() = when { - "eap" in toString().toLowerCase() -> KotlinVersionKind.EAP - "dev" in toString().toLowerCase() -> KotlinVersionKind.DEV - "m" in toString().toLowerCase() -> KotlinVersionKind.M - else -> KotlinVersionKind.STABLE + protected open fun getKotlinVersionRepository(versionKind: KotlinVersionKind): Repository = when (versionKind) { + KotlinVersionKind.STABLE -> DefaultRepository.MAVEN_CENTRAL + KotlinVersionKind.EAP -> Repositories.KOTLIN_EAP_BINTRAY + KotlinVersionKind.M -> Repositories.KOTLIN_EAP_BINTRAY + KotlinVersionKind.DEV -> Repositories.KOTLIN_DEV_BINTRAY } -enum class KotlinVersionKind(val repository: Repository) { - STABLE(repository = DefaultRepository.MAVEN_CENTRAL), - EAP(repository = Repositories.KOTLIN_EAP_BINTRAY), - DEV(repository = Repositories.KOTLIN_DEV_BINTRAY), - M(repository = Repositories.KOTLIN_EAP_BINTRAY) + private fun getKotlinVersionRepository(version: Version) = + getKotlinVersionRepository(getKotlinVersionKind(version)) + + private fun getKotlinVersionKind(version: Version) = when { + "eap" in version.toString().toLowerCase() -> KotlinVersionKind.EAP + "dev" in version.toString().toLowerCase() -> KotlinVersionKind.DEV + "m" in version.toString().toLowerCase() -> KotlinVersionKind.M + else -> KotlinVersionKind.STABLE + } +} + + +class KotlinVersionProviderServiceImpl : KotlinVersionProviderService(), IdeaIndependentWizardService { + override fun getKotlinVersion(): WizardKotlinVersion = + kotlinVersionWithDefaultValues(Versions.KOTLIN) +} + + +enum class KotlinVersionKind { + STABLE, + EAP, + DEV, + M } val KotlinVersionKind.isStable diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildSystemPluginIR.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildSystemPluginIR.kt index 67e84eb0f17..1d0a405d4d6 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildSystemPluginIR.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/BuildSystemPluginIR.kt @@ -2,6 +2,7 @@ package org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.tools.projectWizard.core.ignore +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleIR import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.BuildFilePrinter import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.GradlePrinter @@ -39,7 +40,7 @@ data class GradleOnlyPluginByNameIR(@NonNls val pluginId: String, override val p data class KotlinBuildSystemPluginIR( val type: Type, - val version: Version?, + val version: WizardKotlinVersion?, override val priority: Int? = null ) : BuildSystemPluginIR { @@ -49,7 +50,7 @@ data class KotlinBuildSystemPluginIR( GradlePrinter.GradleDsl.KOTLIN -> call("kotlin") { +type.toString().quotified } GradlePrinter.GradleDsl.GROOVY -> call("id") { +"org.jetbrains.kotlin.$type".quotified } } - version?.let { + version?.version?.let { +" version " +it.toString().quotified }.ignore() @@ -57,7 +58,7 @@ data class KotlinBuildSystemPluginIR( is MavenPrinter -> node("plugin") { singleLineNode("groupId") { +"org.jetbrains.kotlin" } singleLineNode("artifactId") { +"kotlin-maven-plugin" } - singleLineNode("version") { +version.toString() } + singleLineNode("version") { +version?.version.toString() } node("executions") { node("execution") { diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/DependencyIR.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/DependencyIR.kt index 37e81db1129..872caa0fe81 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/DependencyIR.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/ir/buildsystem/DependencyIR.kt @@ -1,6 +1,6 @@ package org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem -import org.jetbrains.kotlin.tools.projectWizard.core.service.kotlinVersionKind +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.GradleIR import org.jetbrains.kotlin.tools.projectWizard.library.LibraryArtifact import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact @@ -8,9 +8,7 @@ import org.jetbrains.kotlin.tools.projectWizard.library.NpmArtifact import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.BuildFilePrinter import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.GradlePrinter import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.MavenPrinter -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.DefaultRepository.Companion.MAVEN_CENTRAL import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModulePath -import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Repository import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.SourcesetType import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version @@ -112,14 +110,15 @@ data class ArtifactBasedLibraryDependencyIR( abstract class KotlinLibraryDependencyIR( val artifactName: String, - override val version: Version, override val dependencyType: DependencyType ) : LibraryDependencyIR { + abstract val kotlinVersion: WizardKotlinVersion + final override val version: Version get() = kotlinVersion.version abstract val isInMppModule: Boolean override val artifact: LibraryArtifact get() = MavenArtifact( - version.kotlinVersionKind.repository, + kotlinVersion.repository, "org.jetbrains.kotlin", "kotlin-$artifactName" ) @@ -153,18 +152,18 @@ abstract class KotlinLibraryDependencyIR( data class KotlinStdlibDependencyIR( val type: StdlibType, override val isInMppModule: Boolean, - override val version: Version, + override val kotlinVersion: WizardKotlinVersion, override val dependencyType: DependencyType -) : KotlinLibraryDependencyIR(type.artifact, version, dependencyType) { +) : KotlinLibraryDependencyIR(type.artifact, dependencyType) { override fun withDependencyType(type: DependencyType): KotlinStdlibDependencyIR = copy(dependencyType = type) } data class KotlinArbitraryDependencyIR( val name: String, override val isInMppModule: Boolean, - override val version: Version, + override val kotlinVersion: WizardKotlinVersion, override val dependencyType: DependencyType -) : KotlinLibraryDependencyIR(name, version, dependencyType) { +) : KotlinLibraryDependencyIR(name, dependencyType) { override fun withDependencyType(type: DependencyType): KotlinArbitraryDependencyIR = copy(dependencyType = type) } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt index 3e9e0a8b23e..f4ead21cb44 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidModuleConfigurator.kt @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.ModuleConfi import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.PluginSettingReference import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.SettingType import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.reference -import org.jetbrains.kotlin.tools.projectWizard.core.service.kotlinVersionKind +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.AndroidConfigIR import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact @@ -111,11 +111,11 @@ interface AndroidModuleConfigurator : ModuleConfigurator, } companion object { - fun createRepositories(kotlinVersion: Version) = buildList { + fun createRepositories(kotlinVersion: WizardKotlinVersion) = buildList { +DefaultRepository.GRADLE_PLUGIN_PORTAL +DefaultRepository.GOOGLE +DefaultRepository.JCENTER - addIfNotNull(kotlinVersion.kotlinVersionKind.repository) + +kotlinVersion.repository } } } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidSinglePlatformModuleConfigurator.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidSinglePlatformModuleConfigurator.kt index f5ea3389651..ea016cef889 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidSinglePlatformModuleConfigurator.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/AndroidSinglePlatformModuleConfigurator.kt @@ -5,7 +5,6 @@ import org.jetbrains.annotations.NonNls import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.core.* -import org.jetbrains.kotlin.tools.projectWizard.core.service.kotlinVersionKind import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptDependencyIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptRepositoryIR @@ -45,13 +44,13 @@ object AndroidSinglePlatformModuleConfigurator : DefaultRepository.GRADLE_PLUGIN_PORTAL, DefaultRepository.JCENTER, DefaultRepository.GOOGLE, - configurationData.kotlinVersion.kotlinVersionKind.repository + configurationData.kotlinVersion.repository ).forEach { repository -> +BuildScriptRepositoryIR(RepositoryIR((repository))) } irsList { - "classpath"(const("org.jetbrains.kotlin:kotlin-gradle-plugin:${configurationData.kotlinVersion}")) + "classpath"(const("org.jetbrains.kotlin:kotlin-gradle-plugin:${configurationData.kotlinVersion.version}")) "classpath"(const("com.android.tools.build:gradle:${Versions.GRADLE_PLUGINS.ANDROID}")) }.forEach { +BuildScriptDependencyIR(it) diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfiguratorWithTests.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfiguratorWithTests.kt index b5ce10c6185..fc251991c53 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfiguratorWithTests.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/moduleConfigurators/ModuleConfiguratorWithTests.kt @@ -63,7 +63,7 @@ interface ModuleConfiguratorWithTests : ModuleConfiguratorWithSettings { dependencyName, isInMppModule = module.kind .let { it == ModuleKind.multiplatform || it == ModuleKind.target }, - version = KotlinPlugin::version.propertyValue, + kotlinVersion = KotlinPlugin::version.propertyValue, dependencyType = DependencyType.TEST ) } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt index a71488f2cd5..902af700569 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/KotlinPlugin.kt @@ -23,7 +23,10 @@ import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version import java.nio.file.Path class KotlinPlugin(context: Context) : Plugin(context) { - val version by property(Versions.KOTLIN) + val version by property( + // todo do not hardcode kind & repository + WizardKotlinVersion(Versions.KOTLIN, KotlinVersionKind.M, Repositories.KOTLIN_EAP_BINTRAY) + ) val initKotlinVersions by pipelineTask(GenerationPhase.PREPARE_GENERATION) { title = KotlinNewProjectWizardBundle.message("plugin.kotlin.downloading.kotlin.versions") @@ -93,10 +96,9 @@ class KotlinPlugin(context: Context) : Plugin(context) { val createPluginRepositories by pipelineTask(GenerationPhase.PROJECT_GENERATION) { runBefore(BuildSystemPlugin::createModules) withAction { - val pluginRepository = KotlinPlugin::version.propertyValue.kotlinVersionKind - .takeUnless(KotlinVersionKind::isStable) - ?.repository - ?: return@withAction UNIT_SUCCESS + val version = KotlinPlugin::version.propertyValue + if (version.kind.isStable) return@withAction UNIT_SUCCESS + val pluginRepository = version.repository BuildSystemPlugin::pluginRepositoreis.addValues(pluginRepository) andThen updateBuildFiles { buildFile -> buildFile.withIrs(RepositoryIR(pluginRepository)).asSuccess() diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt index e912d3877e3..a3614b75495 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/plugins/kotlin/ModulesToIRsConverter.kt @@ -5,6 +5,7 @@ import kotlinx.collections.immutable.toPersistentList import org.jetbrains.kotlin.tools.projectWizard.core.* +import org.jetbrains.kotlin.tools.projectWizard.core.service.WizardKotlinVersion import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.* import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemType @@ -19,7 +20,7 @@ data class ModulesToIrConversionData( val rootModules: List, val projectPath: Path, val projectName: String, - val kotlinVersion: Version, + val kotlinVersion: WizardKotlinVersion, val buildSystemType: BuildSystemType, val pomIr: PomIR ) { @@ -147,7 +148,7 @@ class ModulesToIRsConverter( KotlinStdlibDependencyIR( type = stdlibType, isInMppModule = false, - version = data.kotlinVersion, + kotlinVersion = data.kotlinVersion, dependencyType = DependencyType.MAIN ) } @@ -243,7 +244,7 @@ class ModulesToIRsConverter( KotlinStdlibDependencyIR( type = stdlibType, isInMppModule = true, - version = data.kotlinVersion, + kotlinVersion = data.kotlinVersion, dependencyType = DependencyType.MAIN ) } diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt index 7c0ad91e0a2..829f7f28bda 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/settings/buildsystem/Repository.kt @@ -30,8 +30,8 @@ data class DefaultRepository(val type: Type) : Repository { interface CustomMavenRepository : Repository -data class BintrayRepository(val repository: String) : CustomMavenRepository { - override val url: String = "https://dl.bintray.com/$repository" +data class BintrayRepository(val repository: String, val base: String = "https://dl.bintray.com") : CustomMavenRepository { + override val url: String = "$base/$repository" override val idForMaven: String get() = "bintray." + repository.replace('/', '.') diff --git a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt index eca80d8bb72..945e451514a 100644 --- a/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt +++ b/libraries/tools/new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/templates/SimpleJsClientTemplate.kt @@ -78,13 +78,13 @@ class SimpleJsClientTemplate : Template() { val kotlinVersion = KotlinPlugin::version.propertyValue if (renderEngine.reference.settingValue != RenderEngine.KOTLINX_HTML) { - +Dependencies.KOTLIN_REACT(kotlinVersion) - +Dependencies.KOTLIN_REACT_DOM(kotlinVersion) + +Dependencies.KOTLIN_REACT(kotlinVersion.version) + +Dependencies.KOTLIN_REACT_DOM(kotlinVersion.version) +Dependencies.NPM_REACT +Dependencies.NPM_REACT_DOM if (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED) { +Dependencies.NPM_REACT_IS - +Dependencies.KOTLIN_STYLED(kotlinVersion) + +Dependencies.KOTLIN_STYLED(kotlinVersion.version) +Dependencies.NPM_STYLED_COMPONENTS +Dependencies.NPM_INLINE_STYLE_PREFIXER }