Add checkbox for experimental incremental compilation; Make simple incremental compilation on by default
This commit is contained in:
+2
-2
@@ -24,8 +24,8 @@ public class KotlinBuildProcessParametersProvider(private val compilerWorkspaceS
|
||||
): BuildProcessParametersProvider() {
|
||||
override fun getVMArguments(): MutableList<String> {
|
||||
val res = arrayListOf<String>()
|
||||
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")
|
||||
|
||||
+2
-2
@@ -71,12 +71,12 @@
|
||||
</clientProperties>
|
||||
<border type="etched" title-resource-bundle="org/jetbrains/kotlin/idea/KotlinBundle" title-key="kotlin.compiler.jvm.option.panel.title"/>
|
||||
<children>
|
||||
<component id="c6928" class="javax.swing.JCheckBox" binding="incrementalCompilationCheckBox">
|
||||
<component id="d8f92" class="javax.swing.JCheckBox" binding="enablePreciseIncrementalCheckBox">
|
||||
<constraints>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties>
|
||||
<text value="Enable incremental compilation"/>
|
||||
<text value="Enable precise incremental compilation (experimental)"/>
|
||||
</properties>
|
||||
</component>
|
||||
</children>
|
||||
|
||||
+4
-4
@@ -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);
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ import com.intellij.util.xmlb.XmlSerializerUtil
|
||||
)
|
||||
)
|
||||
public class KotlinCompilerWorkspaceSettings() : PersistentStateComponent<KotlinCompilerWorkspaceSettings> {
|
||||
public var incrementalCompilationEnabled: Boolean = true
|
||||
public var preciseIncrementalEnabled: Boolean = false
|
||||
public var enableDaemon: Boolean = true
|
||||
|
||||
override fun getState(): KotlinCompilerWorkspaceSettings {
|
||||
|
||||
-4
@@ -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())
|
||||
|
||||
@@ -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<KotlinCompilerWorkspaceSettings>()).incrementalCompilationEnabled
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user