From de24e68adcbe1a7a957db16cb6229cb246ac54be Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 31 Jan 2017 19:05:56 +0300 Subject: [PATCH] Revert "Avoid having -d and -module set at the same time" This reverts commit ac241e267648e9344d718c3a44446c6e13d8d2e4. --- ChangeLog.md | 1 - .../org/jetbrains/kotlin/daemon/CompileServiceImpl.kt | 10 +++------- .../kotlin/incremental/IncrementalJvmCompilerRunner.kt | 1 - .../org/jetbrains/kotlin/gradle/ExecutionStrategyIT.kt | 3 --- .../jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt | 1 - .../compilerRunner/GradleKotlinCompilerRunner.kt | 5 +++-- 6 files changed, 6 insertions(+), 15 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index 96952ea8d8e..3b76cfa59c9 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -236,7 +236,6 @@ - [`KT-15789`](https://youtrack.jetbrains.com/issue/KT-15789) Kotlin plugin incorrectly converts for-loops from Java to Kotlin ### Gradle support -- [`KT-14619`](https://youtrack.jetbrains.com/issue/KT-14619) Gradle: The '-d' option with a directory destination is ignored because '-module' is specified - [`KT-14830`](https://youtrack.jetbrains.com/issue/KT-14830) Kotlin Gradle plugin configuration should not add 'kotlin' source directory by default - [`KT-15279`](https://youtrack.jetbrains.com/issue/KT-15279) 'Kotlin not configured message' should not be displayed while gradle sync is in progress - [`KT-15812`](https://youtrack.jetbrains.com/issue/KT-15812) Create Kotlin facet on importing gradle project with unchecked option Create separate module per source set diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index 55af8980c0f..b195caeb7bd 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -63,7 +63,6 @@ import java.util.concurrent.atomic.AtomicInteger import java.util.concurrent.locks.ReentrantReadWriteLock import java.util.logging.Level import java.util.logging.Logger -import kotlin.collections.HashSet import kotlin.comparisons.compareByDescending import kotlin.concurrent.read import kotlin.concurrent.schedule @@ -424,13 +423,10 @@ class CompileServiceImpl( } parsedModule } + val javaSourceRoots = parsedModule.modules.flatMapTo(HashSet()) { it.getJavaSourceRoots().map { File(it.path) } } + val allKotlinFiles = parsedModule.modules.flatMap { it.getSourceFiles().map(::File) } + k2jvmArgs.friendPaths = parsedModule.modules.flatMap(Module::getFriendPaths).toTypedArray() - assert(parsedModule.modules.size == 1) { "More than one module description in ${k2jvmArgs.module}" } - val module = parsedModule.modules.first() - val javaSourceRoots = module.getJavaSourceRoots().mapTo(HashSet()) { File(it.path) } - val allKotlinFiles = module.getSourceFiles().map(::File) - k2jvmArgs.friendPaths = module.getFriendPaths().toTypedArray() - k2jvmArgs.destination = module.getOutputDirectory() val changedFiles = if (incrementalCompilationOptions.areFileChangesKnown) { ChangedFiles.Known(incrementalCompilationOptions.modifiedFiles!!, incrementalCompilationOptions.deletedFiles!!) } diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 94ad585da1a..494b601ff0e 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -425,7 +425,6 @@ class IncrementalJvmCompilerRunner( javaSourceRoots = javaSourceRoots, classpath = classpath, friendDirs = listOf()) - args.destination = null args.module = moduleFile.absolutePath val outputItemCollector = OutputItemsCollectorImpl() @Suppress("NAME_SHADOWING") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ExecutionStrategyIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ExecutionStrategyIT.kt index 52fc2e15cbf..ee948eb9568 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ExecutionStrategyIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ExecutionStrategyIT.kt @@ -4,8 +4,6 @@ import org.jetbrains.kotlin.gradle.util.getFileByName import org.jetbrains.kotlin.gradle.util.modify import org.junit.Test -val DIR_AND_MODULE_ERROR_MESSAGE = "'-d' option with a directory destination is ignored because '-module' is specified" - class ExecutionStrategyJsIT : ExecutionStrategyIT() { override fun setupProject(project: Project) { project.setupWorkingDir() @@ -50,7 +48,6 @@ open class ExecutionStrategyIT : BaseGradleIT() { assertSuccessful() assertContains(finishMessage) checkOutput() - assertNotContains(DIR_AND_MODULE_ERROR_MESSAGE) } val fKt = project.projectDir.getFileByName("f.kt") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index 74d64972d7f..48741e22ef3 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -191,7 +191,6 @@ class KotlinGradleIT: BaseGradleIT() { assertReportExists("projB") assertContains(":projB:compileKotlin") assertNotContains("projB:compileKotlin UP-TO-DATE") - assertNotContains(DIR_AND_MODULE_ERROR_MESSAGE) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt index 42fc93f4288..ede383449df 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt @@ -58,16 +58,17 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil args: K2JVMCompilerArguments, environment: GradleCompilerEnvironment ): ExitCode { + val outputDir = args.destinationAsFile + val moduleFile = makeModuleFile( args.moduleName, isTest = false, - outputDir = args.destinationAsFile, + outputDir = outputDir, sourcesToCompile = sourcesToCompile, javaSourceRoots = javaSourceRoots, classpath = args.classpathAsList, friendDirs = args.friendPaths?.map(::File) ?: emptyList()) args.module = moduleFile.absolutePath - args.destination = null try { return runCompiler(K2JVM_COMPILER, args, environment)