From 6c0ff40197e71747f3a8f252e90e431ca9d70b33 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Wed, 18 May 2016 17:03:55 +0300 Subject: [PATCH] Move JVMConfigurationKeys to frontend.java Similarly to K2JVMCompilerArguments, they will soon be needed in the IDE code. Move COMPILER_JAR_LOCATOR to CLIConfigurationKeys because it's used both in JVM and JS, and only in CLI. Other keys, non-relevant in the IDE, may be moved out soon as well, such as incremental compilation components --- .../tests/CodegenTestsOnAndroidGenerator.java | 2 +- .../kotlin/cli/common/CLIConfigurationKeys.java | 3 +++ .../org/jetbrains/kotlin/cli/js/K2JSCompiler.java | 3 +-- .../org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt | 3 +-- .../cli/jvm/compiler/CompileEnvironmentUtil.java | 2 +- .../cli/jvm/compiler/KotlinCoreEnvironment.kt | 3 +-- .../jvm/compiler/KotlinToJVMBytecodeCompiler.kt | 6 +++++- .../jetbrains/kotlin/cli/jvm/config/ModuleName.kt | 5 +++-- .../kotlin}/config/JVMConfigurationKeys.java | 14 +++++--------- .../jetbrains/kotlin/codegen/CodegenTestCase.java | 2 +- .../jetbrains/kotlin/codegen/CodegenTestUtil.java | 2 +- .../jetbrains/kotlin/codegen/GenerationUtils.java | 2 +- .../org/jetbrains/kotlin/test/KotlinTestUtils.java | 2 +- .../codegen/GenerateNotNullAssertionsTest.java | 2 +- .../kotlin/maven/ExecuteKotlinScriptMojo.java | 2 +- 15 files changed, 27 insertions(+), 26 deletions(-) rename compiler/{cli/src/org/jetbrains/kotlin/cli/jvm => frontend.java/src/org/jetbrains/kotlin}/config/JVMConfigurationKeys.java (82%) diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java index fd1af79ea16..e6913494d0f 100644 --- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java +++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/CodegenTestsOnAndroidGenerator.java @@ -26,11 +26,11 @@ import org.jetbrains.kotlin.backend.common.output.OutputFileCollection; import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt; import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.codegen.CodegenTestFiles; import org.jetbrains.kotlin.codegen.GenerationUtils; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.config.CompilerConfiguration; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.idea.KotlinFileType; import org.jetbrains.kotlin.load.java.JvmAbi; import org.jetbrains.kotlin.name.FqName; diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java index 2b49e6bbfdd..10e68063f31 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/common/CLIConfigurationKeys.java @@ -17,6 +17,7 @@ package org.jetbrains.kotlin.cli.common; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; +import org.jetbrains.kotlin.cli.jvm.compiler.CompilerJarLocator; import org.jetbrains.kotlin.config.CompilerConfigurationKey; import java.util.List; @@ -30,6 +31,8 @@ public class CLIConfigurationKeys { CompilerConfigurationKey.create("allow kotlin package"); public static final CompilerConfigurationKey REPORT_PERF = CompilerConfigurationKey.create("report performance information"); + public static final CompilerConfigurationKey COMPILER_JAR_LOCATOR = + CompilerConfigurationKey.create("compiler jar locator"); private CLIConfigurationKeys() { } diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java index 8771e153e74..99ad85a86b3 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/js/K2JSCompiler.java @@ -40,7 +40,6 @@ import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt; import org.jetbrains.kotlin.cli.jvm.compiler.CompilerJarLocator; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.ContentRootsKt; import org.jetbrains.kotlin.config.Services; @@ -99,7 +98,7 @@ public class K2JSCompiler extends CLICompiler { CompilerJarLocator locator = services.get(CompilerJarLocator.class); if (locator != null) { - configuration.put(JVMConfigurationKeys.COMPILER_JAR_LOCATOR, locator); + configuration.put(CLIConfigurationKeys.COMPILER_JAR_LOCATOR, locator); } ContentRootsKt.addKotlinSourceRoots(configuration, arguments.freeArgs); diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt index f105b90d4f8..c3ecebdf062 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -25,7 +25,6 @@ import org.jetbrains.kotlin.cli.common.ExitCode.* import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.messages.* import org.jetbrains.kotlin.cli.jvm.compiler.* -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots import org.jetbrains.kotlin.cli.jvm.repl.ReplFromTerminal @@ -67,7 +66,7 @@ open class K2JVMCompiler : CLICompiler() { } val locator = services.get(CompilerJarLocator::class.java) - configuration.put(JVMConfigurationKeys.COMPILER_JAR_LOCATOR, locator) + configuration.put(CLIConfigurationKeys.COMPILER_JAR_LOCATOR, locator) try { if (!arguments.noJdk) { diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CompileEnvironmentUtil.java b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CompileEnvironmentUtil.java index eac05d97c0e..dbce98a82fc 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CompileEnvironmentUtil.java +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/CompileEnvironmentUtil.java @@ -39,8 +39,8 @@ import org.jetbrains.kotlin.backend.common.output.OutputFileCollection; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import org.jetbrains.kotlin.cli.common.modules.ModuleScriptData; import org.jetbrains.kotlin.cli.common.modules.ModuleXmlParser; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.config.CompilerConfiguration; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.idea.KotlinFileType; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtFile; diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt index fb78c4057b3..fc443ed0781 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreEnvironment.kt @@ -64,7 +64,6 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.ERROR import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING import org.jetbrains.kotlin.cli.common.toBooleanLenient -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys import org.jetbrains.kotlin.cli.jvm.config.JavaSourceRoot import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot import org.jetbrains.kotlin.cli.jvm.config.JvmContentRoot @@ -351,7 +350,7 @@ class KotlinCoreEnvironment private constructor( } private fun registerApplicationExtensionPointsAndExtensionsFrom(configuration: CompilerConfiguration, configFilePath: String) { - val locator = configuration.get(JVMConfigurationKeys.COMPILER_JAR_LOCATOR) + val locator = configuration.get(CLIConfigurationKeys.COMPILER_JAR_LOCATOR) var pluginRoot = if (locator == null) PathUtil.getPathUtilJar() else locator.compilerJar val app = ApplicationManager.getApplication() diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt index b03a75497ae..3fe1bb047e4 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinToJVMBytecodeCompiler.kt @@ -27,11 +27,15 @@ import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.messages.* import org.jetbrains.kotlin.cli.common.output.outputUtils.writeAll import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler -import org.jetbrains.kotlin.cli.jvm.config.* +import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot +import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot +import org.jetbrains.kotlin.cli.jvm.config.getModuleName +import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots import org.jetbrains.kotlin.codegen.* import org.jetbrains.kotlin.codegen.state.GenerationState import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.config.JVMConfigurationKeys import org.jetbrains.kotlin.config.addKotlinSourceRoots import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil import org.jetbrains.kotlin.idea.MainFunctionDetector diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/ModuleName.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/ModuleName.kt index c793e6c231b..360a1dfc5bf 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/ModuleName.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/ModuleName.kt @@ -1,5 +1,5 @@ /* - * Copyright 2010-2015 JetBrains s.r.o. + * Copyright 2010-2016 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,5 +17,6 @@ package org.jetbrains.kotlin.cli.jvm.config import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment +import org.jetbrains.kotlin.config.JVMConfigurationKeys -fun KotlinCoreEnvironment.getModuleName(): String = configuration.get(JVMConfigurationKeys.MODULE_NAME)!! \ No newline at end of file +fun KotlinCoreEnvironment.getModuleName(): String = configuration.get(JVMConfigurationKeys.MODULE_NAME)!! diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/JVMConfigurationKeys.java b/compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java similarity index 82% rename from compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/JVMConfigurationKeys.java rename to compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java index 512aa04c129..16a3518ce45 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/config/JVMConfigurationKeys.java +++ b/compiler/frontend.java/src/org/jetbrains/kotlin/config/JVMConfigurationKeys.java @@ -14,10 +14,8 @@ * limitations under the License. */ -package org.jetbrains.kotlin.cli.jvm.config; +package org.jetbrains.kotlin.config; -import org.jetbrains.kotlin.cli.jvm.compiler.CompilerJarLocator; -import org.jetbrains.kotlin.config.CompilerConfigurationKey; import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents; import org.jetbrains.kotlin.modules.Module; @@ -41,17 +39,15 @@ public class JVMConfigurationKeys { public static final CompilerConfigurationKey INCREMENTAL_COMPILATION_COMPONENTS = CompilerConfigurationKey.create("incremental cache provider"); - public static final CompilerConfigurationKey COMPILER_JAR_LOCATOR = - CompilerConfigurationKey.create("Compiler jar locator"); + public static final CompilerConfigurationKey MODULE_XML_FILE_PATH = + CompilerConfigurationKey.create("path to module.xml"); - public static final CompilerConfigurationKey MODULE_XML_FILE_PATH = CompilerConfigurationKey.create("path to module.xml"); - - public static final CompilerConfigurationKey DECLARATIONS_JSON_PATH = CompilerConfigurationKey.create("path to declarations output"); + public static final CompilerConfigurationKey DECLARATIONS_JSON_PATH = + CompilerConfigurationKey.create("path to declarations output"); public static final CompilerConfigurationKey> MODULES = CompilerConfigurationKey.create("module data"); public static final CompilerConfigurationKey MODULE_NAME = CompilerConfigurationKey.create("module name"); - } diff --git a/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestCase.java b/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestCase.java index 0205e14e621..2af4e04ed77 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestCase.java +++ b/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestCase.java @@ -32,11 +32,11 @@ import org.jetbrains.kotlin.checkers.CheckerTestUtil; import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.cli.jvm.config.JvmContentRootsKt; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.CompilerConfigurationKey; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtFile; diff --git a/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestUtil.java b/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestUtil.java index c8c461f1a8a..5d517a10d83 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestUtil.java +++ b/compiler/tests-common/org/jetbrains/kotlin/codegen/CodegenTestUtil.java @@ -23,10 +23,10 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.analyzer.AnalysisResult; import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.config.CompilerConfiguration; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.resolve.AnalyzingUtils; import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil; import org.jetbrains.kotlin.test.KotlinTestUtils; diff --git a/compiler/tests-common/org/jetbrains/kotlin/codegen/GenerationUtils.java b/compiler/tests-common/org/jetbrains/kotlin/codegen/GenerationUtils.java index 5d9e45983ef..cd570e4f7ff 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/codegen/GenerationUtils.java +++ b/compiler/tests-common/org/jetbrains/kotlin/codegen/GenerationUtils.java @@ -22,10 +22,10 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.kotlin.analyzer.AnalysisResult; import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.config.CompilerConfiguration; import org.jetbrains.kotlin.config.CompilerConfigurationKey; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.descriptors.PackagePartProvider; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.psi.KtFile; diff --git a/compiler/tests-common/org/jetbrains/kotlin/test/KotlinTestUtils.java b/compiler/tests-common/org/jetbrains/kotlin/test/KotlinTestUtils.java index 06e2b68f424..b57b433f13e 100644 --- a/compiler/tests-common/org/jetbrains/kotlin/test/KotlinTestUtils.java +++ b/compiler/tests-common/org/jetbrains/kotlin/test/KotlinTestUtils.java @@ -95,7 +95,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys.MODULE_NAME; +import static org.jetbrains.kotlin.config.JVMConfigurationKeys.MODULE_NAME; import static org.jetbrains.kotlin.jvm.compiler.LoadDescriptorUtil.compileKotlinToDirAndGetAnalysisResult; import static org.jetbrains.kotlin.test.ConfigurationKind.ALL; diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/GenerateNotNullAssertionsTest.java b/compiler/tests/org/jetbrains/kotlin/codegen/GenerateNotNullAssertionsTest.java index eceaf8ff739..98297f0c3fd 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/GenerateNotNullAssertionsTest.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/GenerateNotNullAssertionsTest.java @@ -24,8 +24,8 @@ import org.jetbrains.kotlin.backend.common.output.OutputFileCollection; import org.jetbrains.kotlin.cli.common.output.outputUtils.OutputUtilsKt; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.config.CompilerConfiguration; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil; import org.jetbrains.kotlin.psi.KtFile; import org.jetbrains.kotlin.test.ConfigurationKind; diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java index 7c3595a69d8..ff544822a29 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/ExecuteKotlinScriptMojo.java @@ -40,13 +40,13 @@ import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler; import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment; import org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler; -import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys; import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot; import org.jetbrains.kotlin.codegen.GeneratedClassLoader; import org.jetbrains.kotlin.codegen.state.GenerationState; import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback; import org.jetbrains.kotlin.config.CommonConfigurationKeys; import org.jetbrains.kotlin.config.CompilerConfiguration; +import org.jetbrains.kotlin.config.JVMConfigurationKeys; import org.jetbrains.kotlin.config.KotlinSourceRoot; import org.jetbrains.kotlin.load.java.JvmAbi; import org.jetbrains.kotlin.name.FqName;