From 5330248f6e0ffffe4e70fa02125bb3cc41209c1a Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 15 Dec 2015 17:32:01 +0300 Subject: [PATCH] Add checkbox for experimental incremental compilation; Make simple incremental compilation on by default --- .../KotlinBuildProcessParametersProvider.kt | 4 ++-- .../KotlinCompilerConfigurableTab.form | 4 ++-- .../KotlinCompilerConfigurableTab.java | 8 ++++---- .../KotlinCompilerWorkspaceSettings.kt | 2 +- .../CreateIncrementalCompilationBackup.kt | 4 ---- .../internal/makeBackup/MakeBackupCompileTask.kt | 13 ++----------- 6 files changed, 11 insertions(+), 24 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt index c3b15f1efea..b27c13638ba 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt @@ -24,8 +24,8 @@ public class KotlinBuildProcessParametersProvider(private val compilerWorkspaceS ): BuildProcessParametersProvider() { override fun getVMArguments(): MutableList { val res = arrayListOf() - if (!compilerWorkspaceSettings.incrementalCompilationEnabled) { - res.add("-Dkotlin.incremental.compilation=false") + if (compilerWorkspaceSettings.preciseIncrementalEnabled) { + res.add("-Dkotlin.incremental.compilation.experimental=true") } if (compilerWorkspaceSettings.enableDaemon) { res.add("-Dkotlin.daemon.enabled") diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form index d6feebeea42..e3e740b7346 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.form @@ -71,12 +71,12 @@ - + - + diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java index 5fdeaa8d945..1f3e28cc898 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerConfigurableTab.java @@ -54,11 +54,11 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co private TextFieldWithBrowseButton outputPostfixFile; private JLabel labelForOutputPrefixFile; private JLabel labelForOutputPostfixFile; - private JCheckBox incrementalCompilationCheckBox; private JLabel labelForOutputDirectory; private JTextField outputDirectory; private JCheckBox copyRuntimeFilesCheckBox; private JCheckBox keepAliveCheckBox; + private JCheckBox enablePreciseIncrementalCheckBox; public KotlinCompilerConfigurableTab(Project project) { this.commonCompilerArguments = KotlinCommonCompilerArgumentsHolder.getInstance(project).getSettings(); @@ -108,7 +108,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co ComparingUtils.isModified(copyRuntimeFilesCheckBox, compilerSettings.getCopyJsLibraryFiles()) || ComparingUtils.isModified(outputDirectory, compilerSettings.getOutputDirectoryForJsLibraryFiles()) || - ComparingUtils.isModified(incrementalCompilationCheckBox, compilerWorkspaceSettings.getIncrementalCompilationEnabled()) || + ComparingUtils.isModified(enablePreciseIncrementalCheckBox, compilerWorkspaceSettings.getPreciseIncrementalEnabled()) || ComparingUtils.isModified(keepAliveCheckBox, compilerWorkspaceSettings.getEnableDaemon()) || ComparingUtils.isModified(generateSourceMapsCheckBox, k2jsCompilerArguments.sourceMap) || @@ -123,7 +123,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co compilerSettings.setCopyJsLibraryFiles(copyRuntimeFilesCheckBox.isSelected()); compilerSettings.setOutputDirectoryForJsLibraryFiles(outputDirectory.getText()); - compilerWorkspaceSettings.setIncrementalCompilationEnabled(incrementalCompilationCheckBox.isSelected()); + compilerWorkspaceSettings.setPreciseIncrementalEnabled(enablePreciseIncrementalCheckBox.isSelected()); boolean oldEnableDaemon = compilerWorkspaceSettings.getEnableDaemon(); compilerWorkspaceSettings.setEnableDaemon(keepAliveCheckBox.isSelected()); @@ -143,7 +143,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co copyRuntimeFilesCheckBox.setSelected(compilerSettings.getCopyJsLibraryFiles()); outputDirectory.setText(compilerSettings.getOutputDirectoryForJsLibraryFiles()); - incrementalCompilationCheckBox.setSelected(compilerWorkspaceSettings.getIncrementalCompilationEnabled()); + enablePreciseIncrementalCheckBox.setSelected(compilerWorkspaceSettings.getPreciseIncrementalEnabled()); keepAliveCheckBox.setSelected(compilerWorkspaceSettings.getEnableDaemon()); generateSourceMapsCheckBox.setSelected(k2jsCompilerArguments.sourceMap); diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt index 7814452308b..d2ebaad3de1 100644 --- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt +++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt @@ -29,7 +29,7 @@ import com.intellij.util.xmlb.XmlSerializerUtil ) ) public class KotlinCompilerWorkspaceSettings() : PersistentStateComponent { - public var incrementalCompilationEnabled: Boolean = true + public var preciseIncrementalEnabled: Boolean = false public var enableDaemon: Boolean = true override fun getState(): KotlinCompilerWorkspaceSettings { diff --git a/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/CreateIncrementalCompilationBackup.kt b/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/CreateIncrementalCompilationBackup.kt index 6ed9721b03f..aded621a5f8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/CreateIncrementalCompilationBackup.kt +++ b/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/CreateIncrementalCompilationBackup.kt @@ -50,10 +50,6 @@ public class CreateIncrementalCompilationBackup: AnAction("Create backup for deb val ZIP_FRACTION = 1.0 - PATCHES_FRACTION - LOGS_FRACTION - PROJECT_SYSTEM_FRACTION } - override fun update(e: AnActionEvent) { - e.presentation.isVisible = e.project?.let { incrementalCompilationEnabled(it) } ?: false - } - override fun actionPerformed(e: AnActionEvent) { val project = e.getProject()!! val projectBaseDir = File(project.getBaseDir()!!.getPath()) diff --git a/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/MakeBackupCompileTask.kt b/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/MakeBackupCompileTask.kt index 85f07a4d410..b908459114d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/MakeBackupCompileTask.kt +++ b/idea/src/org/jetbrains/kotlin/idea/internal/makeBackup/MakeBackupCompileTask.kt @@ -17,13 +17,10 @@ package org.jetbrains.kotlin.idea.internal.makeBackup import com.intellij.history.LocalHistory -import com.intellij.openapi.compiler.CompileTask import com.intellij.openapi.compiler.CompileContext -import java.util.Random +import com.intellij.openapi.compiler.CompileTask import com.intellij.openapi.util.Key -import com.intellij.openapi.project.Project -import com.intellij.openapi.components.ServiceManager -import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCompilerWorkspaceSettings +import java.util.* val random = Random() @@ -33,8 +30,6 @@ public class MakeBackupCompileTask: CompileTask { override fun execute(context: CompileContext?): Boolean { val project = context!!.getProject()!! - if (!incrementalCompilationEnabled(project)) return true - val localHistory = LocalHistory.getInstance()!! val label = HISTORY_LABEL_PREFIX + Integer.toHexString(random.nextInt()) localHistory.putSystemLabel(project, label) @@ -45,7 +40,3 @@ public class MakeBackupCompileTask: CompileTask { } } - -fun incrementalCompilationEnabled(project: Project): Boolean { - return ServiceManager.getService(project, javaClass()).incrementalCompilationEnabled -}