Fix explicit custom scripting definitions choice logic:
add standard script def after custom defs are processed
This commit is contained in:
@@ -212,6 +212,13 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
}
|
}
|
||||||
sourceFiles.sortBy { it.virtualFile.path }
|
sourceFiles.sortBy { it.virtualFile.path }
|
||||||
|
|
||||||
|
// If not disabled explicitly, we should always support at least the standard script definition
|
||||||
|
if (!configuration.getBoolean(JVMConfigurationKeys.DISABLE_STANDARD_SCRIPT_DEFINITION) &&
|
||||||
|
StandardScriptDefinition !in configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
|
||||||
|
) {
|
||||||
|
configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, StandardScriptDefinition)
|
||||||
|
}
|
||||||
|
|
||||||
val scriptDefinitionProvider = ScriptDefinitionProvider.getInstance(project) as? CliScriptDefinitionProvider
|
val scriptDefinitionProvider = ScriptDefinitionProvider.getInstance(project) as? CliScriptDefinitionProvider
|
||||||
if (scriptDefinitionProvider != null) {
|
if (scriptDefinitionProvider != null) {
|
||||||
scriptDefinitionProvider.setScriptDefinitionsSources(configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS_SOURCES))
|
scriptDefinitionProvider.setScriptDefinitionsSources(configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS_SOURCES))
|
||||||
@@ -416,12 +423,6 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
parentDisposable: Disposable, configuration: CompilerConfiguration, configFiles: EnvironmentConfigFiles
|
parentDisposable: Disposable, configuration: CompilerConfiguration, configFiles: EnvironmentConfigFiles
|
||||||
): KotlinCoreEnvironment {
|
): KotlinCoreEnvironment {
|
||||||
setCompatibleBuild()
|
setCompatibleBuild()
|
||||||
// If not disabled explicitly, we should always support at least the standard script definition
|
|
||||||
if (!configuration.getBoolean(JVMConfigurationKeys.DISABLE_STANDARD_SCRIPT_DEFINITION) &&
|
|
||||||
StandardScriptDefinition !in configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS)
|
|
||||||
) {
|
|
||||||
configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, StandardScriptDefinition)
|
|
||||||
}
|
|
||||||
val appEnv = getOrCreateApplicationEnvironmentForProduction(configuration)
|
val appEnv = getOrCreateApplicationEnvironmentForProduction(configuration)
|
||||||
// Disposing of the environment is unsafe in production then parallel builds are enabled, but turning it off universally
|
// Disposing of the environment is unsafe in production then parallel builds are enabled, but turning it off universally
|
||||||
// breaks a lot of tests, therefore it is disabled for production and enabled for tests
|
// breaks a lot of tests, therefore it is disabled for production and enabled for tests
|
||||||
@@ -458,12 +459,6 @@ class KotlinCoreEnvironment private constructor(
|
|||||||
parentDisposable: Disposable, initialConfiguration: CompilerConfiguration, extensionConfigs: EnvironmentConfigFiles
|
parentDisposable: Disposable, initialConfiguration: CompilerConfiguration, extensionConfigs: EnvironmentConfigFiles
|
||||||
): KotlinCoreEnvironment {
|
): KotlinCoreEnvironment {
|
||||||
val configuration = initialConfiguration.copy()
|
val configuration = initialConfiguration.copy()
|
||||||
// in tests we assume that standard definition should only be added if no other explicit defs are already added
|
|
||||||
if (!configuration.getBoolean(JVMConfigurationKeys.DISABLE_STANDARD_SCRIPT_DEFINITION) &&
|
|
||||||
configuration.getList(JVMConfigurationKeys.SCRIPT_DEFINITIONS).isEmpty()
|
|
||||||
) {
|
|
||||||
configuration.add(JVMConfigurationKeys.SCRIPT_DEFINITIONS, StandardScriptDefinition)
|
|
||||||
}
|
|
||||||
// Tests are supposed to create a single project and dispose it right after use
|
// Tests are supposed to create a single project and dispose it right after use
|
||||||
return KotlinCoreEnvironment(
|
return KotlinCoreEnvironment(
|
||||||
parentDisposable,
|
parentDisposable,
|
||||||
|
|||||||
Reference in New Issue
Block a user