Wizard: use cache redirector on project importing tests

This commit is contained in:
Ilya Kirillov
2020-06-02 17:08:39 +03:00
parent cce5a9a1ca
commit 8a4521864e
13 changed files with 108 additions and 55 deletions
@@ -64,4 +64,5 @@ testsJar()
projectTest { projectTest {
dependsOn(":dist") dependsOn(":dist")
workingDir = rootDir workingDir = rootDir
systemProperty("cacheRedirectorEnabled", findProperty("cacheRedirectorEnabled")?.toString()?.toBoolean() == true)
} }
@@ -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.asNullable
import org.jetbrains.kotlin.tools.projectWizard.core.safe 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.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.core.service.KotlinVersionProviderService
import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version
import org.jetbrains.kotlin.tools.projectWizard.wizard.KotlinNewProjectWizardUIBundle import org.jetbrains.kotlin.tools.projectWizard.wizard.KotlinNewProjectWizardUIBundle
import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.runWithProgressBar import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.runWithProgressBar
class IdeaKotlinVersionProviderService : KotlinVersionProviderService, IdeaWizardService { class IdeaKotlinVersionProviderService : KotlinVersionProviderService(), IdeaWizardService {
override fun getKotlinVersion(): Version = override fun getKotlinVersion(): WizardKotlinVersion {
getPatchedKotlinVersion() val version = getPatchedKotlinVersion()
?: getKotlinVersionFromCompiler() ?: getKotlinVersionFromCompiler()
?: VersionsDownloader.downloadLatestEapOrStableKotlinVersion() ?: VersionsDownloader.downloadLatestEapOrStableKotlinVersion()
?: Versions.KOTLIN ?: Versions.KOTLIN
return kotlinVersionWithDefaultValues(version)
}
private fun getPatchedKotlinVersion() = private fun getPatchedKotlinVersion() =
if (ApplicationManager.getApplication().isInternal) { if (ApplicationManager.getApplication().isInternal) {
@@ -6,13 +6,41 @@
package org.jetbrains.kotlin.tools.projectWizard.cli package org.jetbrains.kotlin.tools.projectWizard.cli
import org.jetbrains.kotlin.tools.projectWizard.core.service.EapVersionDownloader 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.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 { class KotlinVersionProviderTestWizardService() : KotlinVersionProviderService(), TestWizardService {
override fun getKotlinVersion(): Version = TEST_KOTLIN_VERSION 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 { 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 { val TEST_KOTLIN_VERSION by lazy {
EapVersionDownloader.getLatestDevVersion()!! EapVersionDownloader.getLatestDevVersion()!!
} }
@@ -20,28 +20,47 @@ import java.io.InputStreamReader
import java.net.URL import java.net.URL
import java.util.stream.Collectors import java.util.stream.Collectors
interface KotlinVersionProviderService : WizardService { data class WizardKotlinVersion(val version: Version, val kind: KotlinVersionKind, val repository: Repository)
fun getKotlinVersion(): Version
}
class KotlinVersionProviderServiceImpl : KotlinVersionProviderService, IdeaIndependentWizardService { abstract class KotlinVersionProviderService : WizardService {
override fun getKotlinVersion(): Version = Versions.KOTLIN abstract fun getKotlinVersion(): WizardKotlinVersion
}
protected fun kotlinVersionWithDefaultValues(version: Version) = WizardKotlinVersion(
version,
getKotlinVersionKind(version),
getKotlinVersionRepository(version)
)
val Version.kotlinVersionKind protected open fun getKotlinVersionRepository(versionKind: KotlinVersionKind): Repository = when (versionKind) {
get() = when { KotlinVersionKind.STABLE -> DefaultRepository.MAVEN_CENTRAL
"eap" in toString().toLowerCase() -> KotlinVersionKind.EAP KotlinVersionKind.EAP -> Repositories.KOTLIN_EAP_BINTRAY
"dev" in toString().toLowerCase() -> KotlinVersionKind.DEV KotlinVersionKind.M -> Repositories.KOTLIN_EAP_BINTRAY
"m" in toString().toLowerCase() -> KotlinVersionKind.M KotlinVersionKind.DEV -> Repositories.KOTLIN_DEV_BINTRAY
else -> KotlinVersionKind.STABLE
} }
enum class KotlinVersionKind(val repository: Repository) { private fun getKotlinVersionRepository(version: Version) =
STABLE(repository = DefaultRepository.MAVEN_CENTRAL), getKotlinVersionRepository(getKotlinVersionKind(version))
EAP(repository = Repositories.KOTLIN_EAP_BINTRAY),
DEV(repository = Repositories.KOTLIN_DEV_BINTRAY), private fun getKotlinVersionKind(version: Version) = when {
M(repository = Repositories.KOTLIN_EAP_BINTRAY) "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 val KotlinVersionKind.isStable
@@ -2,6 +2,7 @@ package org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem
import org.jetbrains.annotations.NonNls import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.tools.projectWizard.core.ignore 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.ir.buildsystem.gradle.GradleIR
import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.BuildFilePrinter 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.GradlePrinter
@@ -39,7 +40,7 @@ data class GradleOnlyPluginByNameIR(@NonNls val pluginId: String, override val p
data class KotlinBuildSystemPluginIR( data class KotlinBuildSystemPluginIR(
val type: Type, val type: Type,
val version: Version?, val version: WizardKotlinVersion?,
override val priority: Int? = null override val priority: Int? = null
) : BuildSystemPluginIR { ) : BuildSystemPluginIR {
@@ -49,7 +50,7 @@ data class KotlinBuildSystemPluginIR(
GradlePrinter.GradleDsl.KOTLIN -> call("kotlin") { +type.toString().quotified } GradlePrinter.GradleDsl.KOTLIN -> call("kotlin") { +type.toString().quotified }
GradlePrinter.GradleDsl.GROOVY -> call("id") { +"org.jetbrains.kotlin.$type".quotified } GradlePrinter.GradleDsl.GROOVY -> call("id") { +"org.jetbrains.kotlin.$type".quotified }
} }
version?.let { version?.version?.let {
+" version " +" version "
+it.toString().quotified +it.toString().quotified
}.ignore() }.ignore()
@@ -57,7 +58,7 @@ data class KotlinBuildSystemPluginIR(
is MavenPrinter -> node("plugin") { is MavenPrinter -> node("plugin") {
singleLineNode("groupId") { +"org.jetbrains.kotlin" } singleLineNode("groupId") { +"org.jetbrains.kotlin" }
singleLineNode("artifactId") { +"kotlin-maven-plugin" } singleLineNode("artifactId") { +"kotlin-maven-plugin" }
singleLineNode("version") { +version.toString() } singleLineNode("version") { +version?.version.toString() }
node("executions") { node("executions") {
node("execution") { node("execution") {
@@ -1,6 +1,6 @@
package org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem 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.ir.buildsystem.gradle.GradleIR
import org.jetbrains.kotlin.tools.projectWizard.library.LibraryArtifact import org.jetbrains.kotlin.tools.projectWizard.library.LibraryArtifact
import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact 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.BuildFilePrinter
import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.GradlePrinter import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.GradlePrinter
import org.jetbrains.kotlin.tools.projectWizard.plugins.printer.MavenPrinter 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.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.buildsystem.SourcesetType
import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version
@@ -112,14 +110,15 @@ data class ArtifactBasedLibraryDependencyIR(
abstract class KotlinLibraryDependencyIR( abstract class KotlinLibraryDependencyIR(
val artifactName: String, val artifactName: String,
override val version: Version,
override val dependencyType: DependencyType override val dependencyType: DependencyType
) : LibraryDependencyIR { ) : LibraryDependencyIR {
abstract val kotlinVersion: WizardKotlinVersion
final override val version: Version get() = kotlinVersion.version
abstract val isInMppModule: Boolean abstract val isInMppModule: Boolean
override val artifact: LibraryArtifact override val artifact: LibraryArtifact
get() = MavenArtifact( get() = MavenArtifact(
version.kotlinVersionKind.repository, kotlinVersion.repository,
"org.jetbrains.kotlin", "org.jetbrains.kotlin",
"kotlin-$artifactName" "kotlin-$artifactName"
) )
@@ -153,18 +152,18 @@ abstract class KotlinLibraryDependencyIR(
data class KotlinStdlibDependencyIR( data class KotlinStdlibDependencyIR(
val type: StdlibType, val type: StdlibType,
override val isInMppModule: Boolean, override val isInMppModule: Boolean,
override val version: Version, override val kotlinVersion: WizardKotlinVersion,
override val dependencyType: DependencyType override val dependencyType: DependencyType
) : KotlinLibraryDependencyIR(type.artifact, version, dependencyType) { ) : KotlinLibraryDependencyIR(type.artifact, dependencyType) {
override fun withDependencyType(type: DependencyType): KotlinStdlibDependencyIR = copy(dependencyType = type) override fun withDependencyType(type: DependencyType): KotlinStdlibDependencyIR = copy(dependencyType = type)
} }
data class KotlinArbitraryDependencyIR( data class KotlinArbitraryDependencyIR(
val name: String, val name: String,
override val isInMppModule: Boolean, override val isInMppModule: Boolean,
override val version: Version, override val kotlinVersion: WizardKotlinVersion,
override val dependencyType: DependencyType override val dependencyType: DependencyType
) : KotlinLibraryDependencyIR(name, version, dependencyType) { ) : KotlinLibraryDependencyIR(name, dependencyType) {
override fun withDependencyType(type: DependencyType): KotlinArbitraryDependencyIR = copy(dependencyType = type) override fun withDependencyType(type: DependencyType): KotlinArbitraryDependencyIR = copy(dependencyType = type)
} }
@@ -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.PluginSettingReference
import org.jetbrains.kotlin.tools.projectWizard.core.entity.settings.SettingType 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.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.*
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.AndroidConfigIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.AndroidConfigIR
import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact import org.jetbrains.kotlin.tools.projectWizard.library.MavenArtifact
@@ -111,11 +111,11 @@ interface AndroidModuleConfigurator : ModuleConfigurator,
} }
companion object { companion object {
fun createRepositories(kotlinVersion: Version) = buildList<Repository> { fun createRepositories(kotlinVersion: WizardKotlinVersion) = buildList<Repository> {
+DefaultRepository.GRADLE_PLUGIN_PORTAL +DefaultRepository.GRADLE_PLUGIN_PORTAL
+DefaultRepository.GOOGLE +DefaultRepository.GOOGLE
+DefaultRepository.JCENTER +DefaultRepository.JCENTER
addIfNotNull(kotlinVersion.kotlinVersionKind.repository) +kotlinVersion.repository
} }
} }
} }
@@ -5,7 +5,6 @@ import org.jetbrains.annotations.NonNls
import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle import org.jetbrains.kotlin.tools.projectWizard.KotlinNewProjectWizardBundle
import org.jetbrains.kotlin.tools.projectWizard.Versions import org.jetbrains.kotlin.tools.projectWizard.Versions
import org.jetbrains.kotlin.tools.projectWizard.core.* 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.*
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptDependencyIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptDependencyIR
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptRepositoryIR import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.gradle.BuildScriptRepositoryIR
@@ -45,13 +44,13 @@ object AndroidSinglePlatformModuleConfigurator :
DefaultRepository.GRADLE_PLUGIN_PORTAL, DefaultRepository.GRADLE_PLUGIN_PORTAL,
DefaultRepository.JCENTER, DefaultRepository.JCENTER,
DefaultRepository.GOOGLE, DefaultRepository.GOOGLE,
configurationData.kotlinVersion.kotlinVersionKind.repository configurationData.kotlinVersion.repository
).forEach { repository -> ).forEach { repository ->
+BuildScriptRepositoryIR(RepositoryIR((repository))) +BuildScriptRepositoryIR(RepositoryIR((repository)))
} }
irsList { 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}")) "classpath"(const("com.android.tools.build:gradle:${Versions.GRADLE_PLUGINS.ANDROID}"))
}.forEach { }.forEach {
+BuildScriptDependencyIR(it) +BuildScriptDependencyIR(it)
@@ -63,7 +63,7 @@ interface ModuleConfiguratorWithTests : ModuleConfiguratorWithSettings {
dependencyName, dependencyName,
isInMppModule = module.kind isInMppModule = module.kind
.let { it == ModuleKind.multiplatform || it == ModuleKind.target }, .let { it == ModuleKind.multiplatform || it == ModuleKind.target },
version = KotlinPlugin::version.propertyValue, kotlinVersion = KotlinPlugin::version.propertyValue,
dependencyType = DependencyType.TEST dependencyType = DependencyType.TEST
) )
} }
@@ -23,7 +23,10 @@ import org.jetbrains.kotlin.tools.projectWizard.settings.version.Version
import java.nio.file.Path import java.nio.file.Path
class KotlinPlugin(context: Context) : Plugin(context) { 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) { val initKotlinVersions by pipelineTask(GenerationPhase.PREPARE_GENERATION) {
title = KotlinNewProjectWizardBundle.message("plugin.kotlin.downloading.kotlin.versions") 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) { val createPluginRepositories by pipelineTask(GenerationPhase.PROJECT_GENERATION) {
runBefore(BuildSystemPlugin::createModules) runBefore(BuildSystemPlugin::createModules)
withAction { withAction {
val pluginRepository = KotlinPlugin::version.propertyValue.kotlinVersionKind val version = KotlinPlugin::version.propertyValue
.takeUnless(KotlinVersionKind::isStable) if (version.kind.isStable) return@withAction UNIT_SUCCESS
?.repository val pluginRepository = version.repository
?: return@withAction UNIT_SUCCESS
BuildSystemPlugin::pluginRepositoreis.addValues(pluginRepository) andThen BuildSystemPlugin::pluginRepositoreis.addValues(pluginRepository) andThen
updateBuildFiles { buildFile -> updateBuildFiles { buildFile ->
buildFile.withIrs(RepositoryIR(pluginRepository)).asSuccess() buildFile.withIrs(RepositoryIR(pluginRepository)).asSuccess()
@@ -5,6 +5,7 @@ import kotlinx.collections.immutable.toPersistentList
import org.jetbrains.kotlin.tools.projectWizard.core.* 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.ir.buildsystem.*
import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.* import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.*
import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemType import org.jetbrains.kotlin.tools.projectWizard.plugins.buildSystem.BuildSystemType
@@ -19,7 +20,7 @@ data class ModulesToIrConversionData(
val rootModules: List<Module>, val rootModules: List<Module>,
val projectPath: Path, val projectPath: Path,
val projectName: String, val projectName: String,
val kotlinVersion: Version, val kotlinVersion: WizardKotlinVersion,
val buildSystemType: BuildSystemType, val buildSystemType: BuildSystemType,
val pomIr: PomIR val pomIr: PomIR
) { ) {
@@ -147,7 +148,7 @@ class ModulesToIRsConverter(
KotlinStdlibDependencyIR( KotlinStdlibDependencyIR(
type = stdlibType, type = stdlibType,
isInMppModule = false, isInMppModule = false,
version = data.kotlinVersion, kotlinVersion = data.kotlinVersion,
dependencyType = DependencyType.MAIN dependencyType = DependencyType.MAIN
) )
} }
@@ -243,7 +244,7 @@ class ModulesToIRsConverter(
KotlinStdlibDependencyIR( KotlinStdlibDependencyIR(
type = stdlibType, type = stdlibType,
isInMppModule = true, isInMppModule = true,
version = data.kotlinVersion, kotlinVersion = data.kotlinVersion,
dependencyType = DependencyType.MAIN dependencyType = DependencyType.MAIN
) )
} }
@@ -30,8 +30,8 @@ data class DefaultRepository(val type: Type) : Repository {
interface CustomMavenRepository : Repository interface CustomMavenRepository : Repository
data class BintrayRepository(val repository: String) : CustomMavenRepository { data class BintrayRepository(val repository: String, val base: String = "https://dl.bintray.com") : CustomMavenRepository {
override val url: String = "https://dl.bintray.com/$repository" override val url: String = "$base/$repository"
override val idForMaven: String override val idForMaven: String
get() = "bintray." + repository.replace('/', '.') get() = "bintray." + repository.replace('/', '.')
@@ -78,13 +78,13 @@ class SimpleJsClientTemplate : Template() {
val kotlinVersion = KotlinPlugin::version.propertyValue val kotlinVersion = KotlinPlugin::version.propertyValue
if (renderEngine.reference.settingValue != RenderEngine.KOTLINX_HTML) { if (renderEngine.reference.settingValue != RenderEngine.KOTLINX_HTML) {
+Dependencies.KOTLIN_REACT(kotlinVersion) +Dependencies.KOTLIN_REACT(kotlinVersion.version)
+Dependencies.KOTLIN_REACT_DOM(kotlinVersion) +Dependencies.KOTLIN_REACT_DOM(kotlinVersion.version)
+Dependencies.NPM_REACT +Dependencies.NPM_REACT
+Dependencies.NPM_REACT_DOM +Dependencies.NPM_REACT_DOM
if (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED) { if (renderEngine.reference.settingValue == RenderEngine.REACT_WITH_STYLED) {
+Dependencies.NPM_REACT_IS +Dependencies.NPM_REACT_IS
+Dependencies.KOTLIN_STYLED(kotlinVersion) +Dependencies.KOTLIN_STYLED(kotlinVersion.version)
+Dependencies.NPM_STYLED_COMPONENTS +Dependencies.NPM_STYLED_COMPONENTS
+Dependencies.NPM_INLINE_STYLE_PREFIXER +Dependencies.NPM_INLINE_STYLE_PREFIXER
} }