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
@@ -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()!!
}