+10
-6
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
|||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage
|
import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage
|
||||||
|
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots
|
||||||
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
|
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING
|
||||||
@@ -41,7 +42,10 @@ import org.jetbrains.kotlin.cli.jvm.config.*
|
|||||||
import org.jetbrains.kotlin.codegen.*
|
import org.jetbrains.kotlin.codegen.*
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
@@ -133,9 +137,9 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
|
|
||||||
for (module in chunk) {
|
for (module in chunk) {
|
||||||
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
|
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
|
||||||
val ktFiles = CompileEnvironmentUtil.getKtFiles(
|
val moduleSourcePaths = getAbsolutePaths(buildFile, module)
|
||||||
environment.project, getAbsolutePaths(buildFile, module), projectConfiguration
|
val ktFiles = environment.getSourceFiles().filter { file -> file.virtualFilePath in moduleSourcePaths }
|
||||||
) { path -> throw IllegalStateException("Should have been checked before: $path") }
|
|
||||||
if (!checkKotlinPackageUsage(environment, ktFiles)) return false
|
if (!checkKotlinPackageUsage(environment, ktFiles)) return false
|
||||||
|
|
||||||
val moduleConfiguration = projectConfiguration.copy().apply {
|
val moduleConfiguration = projectConfiguration.copy().apply {
|
||||||
@@ -196,7 +200,7 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
for (module in chunk) {
|
for (module in chunk) {
|
||||||
for (classpathRoot in module.getClasspathRoots()) {
|
for (classpathRoot in module.getClasspathRoots()) {
|
||||||
configuration.add(
|
configuration.add(
|
||||||
JVMConfigurationKeys.CONTENT_ROOTS,
|
CLIConfigurationKeys.CONTENT_ROOTS,
|
||||||
if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot))
|
if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -320,7 +324,7 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
val state = analyzeAndGenerate(environment) ?: return null
|
val state = analyzeAndGenerate(environment) ?: return null
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val urls = environment.configuration.getList(JVMConfigurationKeys.CONTENT_ROOTS).mapNotNull { root ->
|
val urls = environment.configuration.getList(CLIConfigurationKeys.CONTENT_ROOTS).mapNotNull { root ->
|
||||||
when (root) {
|
when (root) {
|
||||||
is JvmModulePathRoot -> root.file // TODO: only add required modules
|
is JvmModulePathRoot -> root.file // TODO: only add required modules
|
||||||
is JvmClasspathRoot -> root.file
|
is JvmClasspathRoot -> root.file
|
||||||
|
|||||||
+10
-6
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory
|
|||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage
|
import org.jetbrains.kotlin.cli.common.checkKotlinPackageUsage
|
||||||
|
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoots
|
||||||
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
|
import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.OUTPUT
|
||||||
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING
|
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.WARNING
|
||||||
@@ -41,7 +42,10 @@ import org.jetbrains.kotlin.cli.jvm.config.*
|
|||||||
import org.jetbrains.kotlin.codegen.*
|
import org.jetbrains.kotlin.codegen.*
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||||
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
import org.jetbrains.kotlin.codegen.state.GenerationStateEventCallback
|
||||||
import org.jetbrains.kotlin.config.*
|
import org.jetbrains.kotlin.config.CommonConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.config.CompilerConfiguration
|
||||||
|
import org.jetbrains.kotlin.config.JVMConfigurationKeys
|
||||||
|
import org.jetbrains.kotlin.config.languageVersionSettings
|
||||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||||
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
import org.jetbrains.kotlin.idea.MainFunctionDetector
|
||||||
import org.jetbrains.kotlin.javac.JavacWrapper
|
import org.jetbrains.kotlin.javac.JavacWrapper
|
||||||
@@ -133,9 +137,9 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
|
|
||||||
for (module in chunk) {
|
for (module in chunk) {
|
||||||
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
|
ProgressIndicatorAndCompilationCanceledStatus.checkCanceled()
|
||||||
val ktFiles = CompileEnvironmentUtil.getKtFiles(
|
val moduleSourcePaths = getAbsolutePaths(buildFile, module)
|
||||||
environment.project, getAbsolutePaths(buildFile, module), projectConfiguration
|
val ktFiles = environment.getSourceFiles().filter { file -> file.virtualFilePath in moduleSourcePaths }
|
||||||
) { path -> throw IllegalStateException("Should have been checked before: $path") }
|
|
||||||
if (!checkKotlinPackageUsage(environment, ktFiles)) return false
|
if (!checkKotlinPackageUsage(environment, ktFiles)) return false
|
||||||
|
|
||||||
val moduleConfiguration = projectConfiguration.copy().apply {
|
val moduleConfiguration = projectConfiguration.copy().apply {
|
||||||
@@ -196,7 +200,7 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
for (module in chunk) {
|
for (module in chunk) {
|
||||||
for (classpathRoot in module.getClasspathRoots()) {
|
for (classpathRoot in module.getClasspathRoots()) {
|
||||||
configuration.add(
|
configuration.add(
|
||||||
JVMConfigurationKeys.CONTENT_ROOTS,
|
CLIConfigurationKeys.CONTENT_ROOTS,
|
||||||
if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot))
|
if (isJava9Module) JvmModulePathRoot(File(classpathRoot)) else JvmClasspathRoot(File(classpathRoot))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -320,7 +324,7 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
val state = analyzeAndGenerate(environment) ?: return null
|
val state = analyzeAndGenerate(environment) ?: return null
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val urls = environment.configuration.getList(JVMConfigurationKeys.CONTENT_ROOTS).mapNotNull { root ->
|
val urls = environment.configuration.getList(CLIConfigurationKeys.CONTENT_ROOTS).mapNotNull { root ->
|
||||||
when (root) {
|
when (root) {
|
||||||
is JvmModulePathRoot -> root.file // TODO: only add required modules
|
is JvmModulePathRoot -> root.file // TODO: only add required modules
|
||||||
is JvmClasspathRoot -> root.file
|
is JvmClasspathRoot -> root.file
|
||||||
|
|||||||
Reference in New Issue
Block a user