[Test] Don't pass MockProject to environment configurators
This commit is contained in:
committed by
TeamCityServer
parent
bd37badf29
commit
a932f69b8a
+3
-5
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services
|
package org.jetbrains.kotlin.test.services
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import org.jetbrains.kotlin.config.AnalysisFlag
|
import org.jetbrains.kotlin.config.AnalysisFlag
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
||||||
@@ -22,20 +21,19 @@ abstract class EnvironmentConfigurator(protected val testServices: TestServices)
|
|||||||
protected val moduleStructure: TestModuleStructure
|
protected val moduleStructure: TestModuleStructure
|
||||||
get() = testServices.moduleStructure
|
get() = testServices.moduleStructure
|
||||||
|
|
||||||
protected open fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {}
|
protected open fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {}
|
||||||
|
|
||||||
fun configureCompileConfigurationWithAdditionalConfigurationKeys(
|
fun configureCompileConfigurationWithAdditionalConfigurationKeys(
|
||||||
configuration: CompilerConfiguration,
|
configuration: CompilerConfiguration,
|
||||||
module: TestModule,
|
module: TestModule,
|
||||||
project: MockProject
|
|
||||||
) {
|
) {
|
||||||
configureCompilerConfiguration(configuration, module, project)
|
configureCompilerConfiguration(configuration, module)
|
||||||
val extractor = DirectiveToConfigurationKeyExtractor()
|
val extractor = DirectiveToConfigurationKeyExtractor()
|
||||||
extractor.provideConfigurationKeys()
|
extractor.provideConfigurationKeys()
|
||||||
extractor.configure(configuration, module.directives)
|
extractor.configure(configuration, module.directives)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun DirectiveToConfigurationKeyExtractor.provideConfigurationKeys() {}
|
open fun DirectiveToConfigurationKeyExtractor.provideConfigurationKeys() {}
|
||||||
|
|
||||||
open fun provideAdditionalAnalysisFlags(directives: RegisteredDirectives): Map<AnalysisFlag<*>, Any?> {
|
open fun provideAdditionalAnalysisFlags(directives: RegisteredDirectives): Map<AnalysisFlag<*>, Any?> {
|
||||||
return emptyMap()
|
return emptyMap()
|
||||||
|
|||||||
+2
-3
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services
|
package org.jetbrains.kotlin.test.services
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import com.intellij.openapi.Disposable
|
import com.intellij.openapi.Disposable
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
import com.intellij.psi.search.GlobalSearchScope
|
import com.intellij.psi.search.GlobalSearchScope
|
||||||
@@ -90,7 +89,7 @@ open class CompilerConfigurationProviderImpl(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun createCompilerConfiguration(module: TestModule, project: MockProject): CompilerConfiguration {
|
fun createCompilerConfiguration(module: TestModule): CompilerConfiguration {
|
||||||
val configuration = CompilerConfiguration()
|
val configuration = CompilerConfiguration()
|
||||||
configuration[CommonConfigurationKeys.MODULE_NAME] = module.name
|
configuration[CommonConfigurationKeys.MODULE_NAME] = module.name
|
||||||
|
|
||||||
@@ -108,7 +107,7 @@ open class CompilerConfigurationProviderImpl(
|
|||||||
}
|
}
|
||||||
configuration.languageVersionSettings = module.languageVersionSettings
|
configuration.languageVersionSettings = module.languageVersionSettings
|
||||||
|
|
||||||
configurators.forEach { it.configureCompileConfigurationWithAdditionalConfigurationKeys(configuration, module, project) }
|
configurators.forEach { it.configureCompileConfigurationWithAdditionalConfigurationKeys(configuration, module) }
|
||||||
|
|
||||||
return configuration
|
return configuration
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services.configuration
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
import org.jetbrains.kotlin.config.CompilerConfigurationKey
|
||||||
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
import org.jetbrains.kotlin.test.directives.ConfigurationDirectives
|
||||||
@@ -19,7 +18,7 @@ class CommonEnvironmentConfigurator(testServices: TestServices) : EnvironmentCon
|
|||||||
override val directivesContainers: List<DirectivesContainer>
|
override val directivesContainers: List<DirectivesContainer>
|
||||||
get() = listOf(ConfigurationDirectives)
|
get() = listOf(ConfigurationDirectives)
|
||||||
|
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
val rawFlags = module.directives[ConfigurationDirectives.KOTLIN_CONFIGURATION_FLAGS]
|
val rawFlags = module.directives[ConfigurationDirectives.KOTLIN_CONFIGURATION_FLAGS]
|
||||||
parseAnalysisFlags(rawFlags).forEach { (key, value) ->
|
parseAnalysisFlags(rawFlags).forEach { (key, value) ->
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
|||||||
+1
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services.configuration
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
|
import org.jetbrains.kotlin.js.config.JSConfigurationKeys
|
||||||
import org.jetbrains.kotlin.js.config.JsConfig
|
import org.jetbrains.kotlin.js.config.JsConfig
|
||||||
@@ -21,7 +20,7 @@ class JsEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigu
|
|||||||
override val directivesContainers: List<DirectivesContainer>
|
override val directivesContainers: List<DirectivesContainer>
|
||||||
get() = listOf(JsEnvironmentConfigurationDirectives)
|
get() = listOf(JsEnvironmentConfigurationDirectives)
|
||||||
|
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
val moduleKinds = module.directives[JsEnvironmentConfigurationDirectives.MODULE_KIND]
|
val moduleKinds = module.directives[JsEnvironmentConfigurationDirectives.MODULE_KIND]
|
||||||
val moduleKind = when (moduleKinds.size) {
|
val moduleKind = when (moduleKinds.size) {
|
||||||
0 -> ModuleKind.PLAIN
|
0 -> ModuleKind.PLAIN
|
||||||
|
|||||||
+1
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services.configuration
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import com.intellij.openapi.util.SystemInfo
|
import com.intellij.openapi.util.SystemInfo
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
|
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
|
||||||
@@ -62,7 +61,7 @@ class JvmEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfig
|
|||||||
register(USE_OLD_INLINE_CLASSES_MANGLING_SCHEME, JVMConfigurationKeys.USE_OLD_INLINE_CLASSES_MANGLING_SCHEME)
|
register(USE_OLD_INLINE_CLASSES_MANGLING_SCHEME, JVMConfigurationKeys.USE_OLD_INLINE_CLASSES_MANGLING_SCHEME)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
if (module.targetPlatform !in JvmPlatforms.allJvmPlatforms) return
|
if (module.targetPlatform !in JvmPlatforms.allJvmPlatforms) return
|
||||||
val registeredDirectives = module.directives
|
val registeredDirectives = module.directives
|
||||||
val targets = registeredDirectives[JvmEnvironmentConfigurationDirectives.JVM_TARGET]
|
val targets = registeredDirectives[JvmEnvironmentConfigurationDirectives.JVM_TARGET]
|
||||||
|
|||||||
+2
-5
@@ -5,8 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services.configuration
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.JvmContentRoot
|
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
||||||
import org.jetbrains.kotlin.codegen.CodegenTestUtil
|
import org.jetbrains.kotlin.codegen.CodegenTestUtil
|
||||||
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
|
||||||
@@ -24,7 +22,6 @@ import org.jetbrains.kotlin.test.directives.model.RegisteredDirectives
|
|||||||
import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
|
import org.jetbrains.kotlin.test.directives.model.singleOrZeroValue
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
import org.jetbrains.kotlin.test.services.*
|
import org.jetbrains.kotlin.test.services.*
|
||||||
import org.jetbrains.kotlin.test.util.KtTestUtil
|
|
||||||
import org.jetbrains.kotlin.utils.JavaTypeEnhancementState
|
import org.jetbrains.kotlin.utils.JavaTypeEnhancementState
|
||||||
import org.jetbrains.kotlin.utils.ReportLevel
|
import org.jetbrains.kotlin.utils.ReportLevel
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -48,7 +45,7 @@ open class JvmForeignAnnotationsConfigurator(testServices: TestServices) : Envir
|
|||||||
get() = listOf(ForeignAnnotationsDirectives)
|
get() = listOf(ForeignAnnotationsDirectives)
|
||||||
|
|
||||||
@OptIn(ExperimentalStdlibApi::class)
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
val extraClassPath = buildList {
|
val extraClassPath = buildList {
|
||||||
val foreignAnnotations = createJarWithForeignAnnotations(module)
|
val foreignAnnotations = createJarWithForeignAnnotations(module)
|
||||||
addAll(foreignAnnotations)
|
addAll(foreignAnnotations)
|
||||||
@@ -102,7 +99,7 @@ open class JvmForeignAnnotationsConfigurator(testServices: TestServices) : Envir
|
|||||||
|
|
||||||
class JvmForeignAnnotationsAgainstCompiledJavaConfigurator(testServices: TestServices) : JvmForeignAnnotationsConfigurator(testServices) {
|
class JvmForeignAnnotationsAgainstCompiledJavaConfigurator(testServices: TestServices) : JvmForeignAnnotationsConfigurator(testServices) {
|
||||||
@OptIn(ExperimentalStdlibApi::class)
|
@OptIn(ExperimentalStdlibApi::class)
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
val compiledJavaPath = testServices.createTempDirectory("java-compiled-files")
|
val compiledJavaPath = testServices.createTempDirectory("java-compiled-files")
|
||||||
|
|
||||||
val foreignAnnotations = createJarWithForeignAnnotations(module)
|
val foreignAnnotations = createJarWithForeignAnnotations(module)
|
||||||
|
|||||||
+1
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.test.services.configuration
|
package org.jetbrains.kotlin.test.services.configuration
|
||||||
|
|
||||||
import com.intellij.mock.MockProject
|
|
||||||
import org.jetbrains.kotlin.config.CompilerConfiguration
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
||||||
import org.jetbrains.kotlin.test.model.TestModule
|
import org.jetbrains.kotlin.test.model.TestModule
|
||||||
@@ -14,7 +13,7 @@ import org.jetbrains.kotlin.test.services.TestServices
|
|||||||
import org.jetbrains.kotlin.test.services.isKtsFile
|
import org.jetbrains.kotlin.test.services.isKtsFile
|
||||||
|
|
||||||
class ScriptingEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
|
class ScriptingEnvironmentConfigurator(testServices: TestServices) : EnvironmentConfigurator(testServices) {
|
||||||
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule, project: MockProject) {
|
override fun configureCompilerConfiguration(configuration: CompilerConfiguration, module: TestModule) {
|
||||||
if (module.files.any { it.isKtsFile }) {
|
if (module.files.any { it.isKtsFile }) {
|
||||||
loadScriptingPlugin(configuration)
|
loadScriptingPlugin(configuration)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user