[Test] Add ability to provide additional analysis flags in EnvironmentConfigurator
This commit is contained in:
committed by
TeamCityServer
parent
c4691de72d
commit
e287742842
+11
-10
@@ -49,11 +49,20 @@ class TestConfigurationImpl(
|
||||
}
|
||||
}
|
||||
|
||||
private val environmentConfigurators: List<EnvironmentConfigurator> =
|
||||
environmentConfigurators.map { it.invoke(testServices) }.also { configurators ->
|
||||
configurators.flatMapTo(allDirectives) { it.directivesContainers }
|
||||
for (configurator in configurators) {
|
||||
configurator.additionalServices.forEach { testServices.register(it) }
|
||||
}
|
||||
}
|
||||
|
||||
override val moduleStructureExtractor: ModuleStructureExtractor = ModuleStructureExtractorImpl(
|
||||
testServices,
|
||||
additionalSourceProviders.map { it.invoke(testServices) }.also {
|
||||
it.flatMapTo(allDirectives) { provider -> provider.directives }
|
||||
}
|
||||
},
|
||||
this.environmentConfigurators
|
||||
)
|
||||
|
||||
override val metaTestConfigurators: List<MetaTestConfigurator> = metaTestConfigurators.map {
|
||||
@@ -75,15 +84,7 @@ class TestConfigurationImpl(
|
||||
val sourceFileProvider = SourceFileProviderImpl(sourceFilePreprocessors)
|
||||
register(SourceFileProvider::class, sourceFileProvider)
|
||||
|
||||
val configurators = environmentConfigurators.map { it.invoke(this) }
|
||||
configurators.flatMapTo(allDirectives) { it.directivesContainers }
|
||||
for (configurator in configurators) {
|
||||
configurator.additionalServices.forEach { register(it) }
|
||||
}
|
||||
val environmentProvider = CompilerConfigurationProviderImpl(
|
||||
rootDisposable,
|
||||
configurators
|
||||
)
|
||||
val environmentProvider = CompilerConfigurationProviderImpl(rootDisposable, this@TestConfigurationImpl.environmentConfigurators)
|
||||
register(CompilerConfigurationProvider::class, environmentProvider)
|
||||
|
||||
register(AssertionsService::class, assertions)
|
||||
|
||||
+3
-2
@@ -24,7 +24,8 @@ import java.io.File
|
||||
|
||||
class ModuleStructureExtractorImpl(
|
||||
testServices: TestServices,
|
||||
additionalSourceProviders: List<AdditionalSourceProvider>
|
||||
additionalSourceProviders: List<AdditionalSourceProvider>,
|
||||
private val environmentConfigurators: List<EnvironmentConfigurator>
|
||||
) : ModuleStructureExtractor(testServices, additionalSourceProviders) {
|
||||
companion object {
|
||||
private val allowedExtensionsForFiles = listOf(".kt", ".kts", ".java")
|
||||
@@ -210,7 +211,7 @@ class ModuleStructureExtractorImpl(
|
||||
private fun finishModule() {
|
||||
finishFile()
|
||||
val moduleDirectives = directivesBuilder.build() + testServices.defaultDirectives + globalDirectives
|
||||
currentModuleLanguageVersionSettingsBuilder.configureUsingDirectives(moduleDirectives)
|
||||
currentModuleLanguageVersionSettingsBuilder.configureUsingDirectives(moduleDirectives, environmentConfigurators)
|
||||
val moduleName = currentModuleName ?: defaultModuleName
|
||||
val testModule = TestModule(
|
||||
name = moduleName,
|
||||
|
||||
Reference in New Issue
Block a user