javac-wrapper: -Xuse-javac -> -Xuse-javac and -Xcompile-java

This commit is contained in:
baratynskiy
2017-06-26 15:21:48 +03:00
committed by Alexander Baratynskiy
parent 2224720a90
commit 8494e54608
8 changed files with 22 additions and 5 deletions
@@ -148,6 +148,9 @@ class K2JVMCompilerArguments : CommonCompilerArguments() {
@Argument(value = "-Xuse-javac", description = "Use javac for Java source and class files analysis")
var useJavac: Boolean by FreezableVar(false)
@Argument(value = "-Xcompile-java", description = "Reuse javac analysis and compile Java source files")
public boolean compileJava;
@Argument(
value = "-Xjavac-arguments",
valueDescription = "<option[,]>",
@@ -242,7 +242,7 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
arguments: K2JVMCompilerArguments): Boolean {
if (arguments.useJavac) {
environment.configuration.put(JVMConfigurationKeys.USE_JAVAC, true)
return environment.registerJavac(arguments = arguments.javacArguments)
return environment.registerJavac(compileJava = arguments.compileJava, arguments = arguments.javacArguments)
}
return true
@@ -275,9 +275,10 @@ class KotlinCoreEnvironment private constructor(
fun registerJavac(
javaFiles: List<File> = allJavaFiles,
kotlinFiles: List<KtFile> = sourceFiles,
compileJava: Boolean = false,
arguments: Array<String>? = null
): Boolean {
return JavacWrapperRegistrar.registerJavac(projectEnvironment.project, configuration, javaFiles, kotlinFiles, arguments)
return JavacWrapperRegistrar.registerJavac(projectEnvironment.project, configuration, javaFiles, kotlinFiles, compileJava, arguments)
}
private val applicationEnvironment: CoreApplicationEnvironment
@@ -36,6 +36,7 @@ object JavacWrapperRegistrar {
configuration: CompilerConfiguration,
javaFiles: List<File>,
kotlinFiles: List<KtFile>,
compileJava: Boolean,
arguments: Array<String>?
): Boolean {
val messageCollector = configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY)
@@ -54,7 +55,7 @@ object JavacWrapperRegistrar {
val jvmClasspathRoots = configuration.jvmClasspathRoots
val outputDirectory = configuration.get(JVMConfigurationKeys.OUTPUT_DIRECTORY)
val javacWrapper = JavacWrapper(javaFiles, kotlinFiles, arguments, jvmClasspathRoots, outputDirectory, context)
val javacWrapper = JavacWrapper(javaFiles, kotlinFiles, arguments, jvmClasspathRoots, compileJava, outputDirectory, context)
project.registerService(JavacWrapper::class.java, javacWrapper)