Fix script compiler options processing
This commit is contained in:
+26
-12
@@ -99,9 +99,34 @@ internal fun createInitialConfigurations(
|
||||
)
|
||||
)
|
||||
|
||||
initialScriptCompilationConfiguration[ScriptCompilationConfiguration.compilerOptions]?.let { compilerOptions ->
|
||||
kotlinCompilerConfiguration.updateWithCompilerOptions(compilerOptions, messageCollector, ignoredOptionsReportingState, false)
|
||||
}
|
||||
|
||||
return Pair(initialScriptCompilationConfiguration, kotlinCompilerConfiguration)
|
||||
}
|
||||
|
||||
private fun CompilerConfiguration.updateWithCompilerOptions(
|
||||
compilerOptions: List<String>,
|
||||
messageCollector: ScriptDiagnosticsMessageCollector,
|
||||
ignoredOptionsReportingState: IgnoredOptionsReportingState,
|
||||
isRefinement: Boolean
|
||||
) {
|
||||
val compilerArguments = K2JVMCompilerArguments()
|
||||
parseCommandLineArguments(compilerOptions, compilerArguments)
|
||||
|
||||
reportArgumentsIgnoredGenerally(compilerArguments, messageCollector, ignoredOptionsReportingState)
|
||||
if (isRefinement) {
|
||||
reportArgumentsIgnoredFromRefinement(compilerArguments, messageCollector, ignoredOptionsReportingState)
|
||||
}
|
||||
|
||||
setupCommonArguments(compilerArguments)
|
||||
|
||||
setupJvmSpecificArguments(compilerArguments)
|
||||
|
||||
configureAdvancedJvmOptions(compilerArguments)
|
||||
}
|
||||
|
||||
private fun ScriptCompilationConfiguration.withUpdatesFromCompilerConfiguration(kotlinCompilerConfiguration: CompilerConfiguration) =
|
||||
withUpdatedClasspath(kotlinCompilerConfiguration.jvmClasspathRoots)
|
||||
|
||||
@@ -212,17 +237,6 @@ private fun CompilerConfiguration.updateWithRefinedConfigurations(
|
||||
if (updatedCompilerOptions.isNotEmpty() &&
|
||||
updatedCompilerOptions != initialScriptCompilationConfiguration[ScriptCompilationConfiguration.compilerOptions]
|
||||
) {
|
||||
|
||||
val updatedArguments = K2JVMCompilerArguments()
|
||||
parseCommandLineArguments(updatedCompilerOptions, updatedArguments)
|
||||
|
||||
reportArgumentsIgnoredGenerally(updatedArguments, messageCollector, reportingState)
|
||||
reportArgumentsIgnoredFromRefinement(updatedArguments, messageCollector, reportingState)
|
||||
|
||||
setupCommonArguments(updatedArguments)
|
||||
|
||||
setupJvmSpecificArguments(updatedArguments)
|
||||
|
||||
configureAdvancedJvmOptions(updatedArguments)
|
||||
updateWithCompilerOptions(updatedCompilerOptions, messageCollector, reportingState, true)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user