Fix script compiler options processing

This commit is contained in:
Ilya Chernikov
2019-06-07 16:04:27 +02:00
parent 38a692abcf
commit c39896165e
2 changed files with 62 additions and 12 deletions
@@ -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)
}
}