diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt
index 9c8d35fe912..3488617acb2 100644
--- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt
+++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinCompilerWorkspaceSettings.kt
@@ -34,7 +34,7 @@ class KotlinCompilerWorkspaceSettings : PersistentStateComponent
-
+
diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
index 93b15883f54..7ba504e43ee 100644
--- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
+++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
@@ -94,11 +94,6 @@ class KotlinBuilder : ModuleLevelBuilder(BuilderCategory.SOURCE_PROCESSOR) {
LOG.debug("==========================================")
LOG.info("is Kotlin incremental compilation enabled for JVM: ${IncrementalCompilation.isEnabledForJvm()}")
LOG.info("is Kotlin incremental compilation enabled for JS: ${IncrementalCompilation.isEnabledForJs()}")
- if (IncrementalCompilation.isEnabledForJs()) {
- val messageCollector = MessageCollectorAdapter(context, null)
- messageCollector.report(INFO, "Using experimental incremental compilation for Kotlin/JS")
- }
-
LOG.info("is Kotlin compiler daemon enabled: ${isDaemonEnabled()}")
val historyLabel = context.getBuilderParameter("history label")
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt
index a13be707cd4..d8b1a1f75d2 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt
@@ -168,6 +168,7 @@ abstract class BaseGradleIT {
val withDaemon: Boolean = false,
val daemonOptionSupported: Boolean = true,
val incremental: Boolean? = null,
+ val incrementalJs: Boolean? = null,
val androidHome: File? = null,
val javaHome: File? = null,
val androidGradlePluginVersion: String? = null,
@@ -561,8 +562,8 @@ abstract class BaseGradleIT {
add("-Pkotlin_version=" + options.kotlinVersion)
options.incremental?.let {
add("-Pkotlin.incremental=$it")
- add("-Pkotlin.incremental.js=$it")
}
+ options.incrementalJs?.let { add("-Pkotlin.incremental.js=$it") }
options.usePreciseJavaTracking?.let { add("-Pkotlin.incremental.usePreciseJavaTracking=$it") }
options.androidGradlePluginVersion?.let { add("-Pandroid_tools_version=$it") }
if (options.debug) {
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt
index fbf73f0b4e1..2bdbcd9762f 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt
@@ -16,7 +16,7 @@
package org.jetbrains.kotlin.gradle
-import org.jetbrains.kotlin.gradle.tasks.USING_INCREMENTAL_COMPILATION_MESSAGE
+import org.jetbrains.kotlin.gradle.tasks.USING_JVM_INCREMENTAL_COMPILATION_MESSAGE
import org.jetbrains.kotlin.gradle.util.*
import org.junit.Assert
import org.junit.Test
@@ -139,7 +139,7 @@ open class Kapt3IT : Kapt3BaseIT() {
project.build("build", options = defaultBuildOptions().copy(incremental = false)) {
assertSuccessful()
assertTasksExecuted(":kaptGenerateStubsKotlin")
- assertNotContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
+ assertNotContains(USING_JVM_INCREMENTAL_COMPILATION_MESSAGE)
}
}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt
index f1216b53af5..127e0668975 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt
@@ -1,7 +1,7 @@
package org.jetbrains.kotlin.gradle
import org.gradle.api.logging.LogLevel
-import org.jetbrains.kotlin.gradle.tasks.USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE
+import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE
import org.jetbrains.kotlin.gradle.util.getFileByName
import org.jetbrains.kotlin.gradle.util.getFilesByNames
import org.jetbrains.kotlin.gradle.util.modify
@@ -320,7 +320,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
fun testIncrementalCompilation() = Project("kotlin2JsICProject", GradleVersionRequired.AtLeast("4.0")).run {
build("build") {
assertSuccessful()
- assertContains(USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE)
+ assertContains(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
assertCompiledKotlinSources(project.relativize(allKotlinFiles))
}
@@ -334,9 +334,19 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
}
build("build") {
assertSuccessful()
- assertContains(USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE)
+ assertContains(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
val affectedFiles = project.projectDir.getFilesByNames("A.kt", "useAInLibMain.kt", "useAInAppMain.kt", "useAInAppTest.kt")
assertCompiledKotlinSources(project.relativize(affectedFiles))
}
}
+
+ @Test
+ fun testIncrementalCompilationDisabled() = Project("kotlin2JsICProject", GradleVersionRequired.AtLeast("4.0")).run {
+ val options = defaultBuildOptions().copy(incrementalJs = false)
+
+ build("build", options = options) {
+ assertSuccessful()
+ assertNotContains(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
+ }
+ }
}
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 7213aa436a3..3d87b134d1f 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
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.gradle
import org.gradle.api.logging.LogLevel
import org.jetbrains.kotlin.gradle.plugin.CopyClassesToJavaOutputStatus
-import org.jetbrains.kotlin.gradle.tasks.USING_INCREMENTAL_COMPILATION_MESSAGE
+import org.jetbrains.kotlin.gradle.tasks.USING_JVM_INCREMENTAL_COMPILATION_MESSAGE
import org.jetbrains.kotlin.gradle.util.*
import org.junit.Test
import java.io.File
@@ -215,7 +215,7 @@ class KotlinGradleIT : BaseGradleIT() {
localPropertyFile.writeText("kotlin.incremental=true")
project.build("build") {
- assertContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
+ assertContains(USING_JVM_INCREMENTAL_COMPILATION_MESSAGE)
}
}
@@ -223,12 +223,12 @@ class KotlinGradleIT : BaseGradleIT() {
fun testIncrementalCompilationLogLevel() {
val infoProject = Project("kotlinProject", minLogLevel = LogLevel.INFO)
infoProject.build("build") {
- assertContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
+ assertContains(USING_JVM_INCREMENTAL_COMPILATION_MESSAGE)
}
val lifecycleProject = Project("kotlinProject", minLogLevel = LogLevel.LIFECYCLE)
lifecycleProject.build("build") {
- assertNotContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
+ assertNotContains(USING_JVM_INCREMENTAL_COMPILATION_MESSAGE)
}
}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsICProject/local.properties b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsICProject/local.properties
deleted file mode 100644
index 1d6efdd5092..00000000000
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsICProject/local.properties
+++ /dev/null
@@ -1 +0,0 @@
-kotlin.incremental.js = true
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
index b0ab80f19de..eead9241ce1 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt
@@ -45,8 +45,8 @@ import javax.inject.Inject
import kotlin.properties.Delegates
const val KOTLIN_BUILD_DIR_NAME = "kotlin"
-const val USING_INCREMENTAL_COMPILATION_MESSAGE = "Using Kotlin incremental compilation"
-const val USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE = "Using experimental Kotlin/JS incremental compilation"
+const val USING_JVM_INCREMENTAL_COMPILATION_MESSAGE = "Using Kotlin/JVM incremental compilation"
+const val USING_JS_INCREMENTAL_COMPILATION_MESSAGE = "Using Kotlin/JS incremental compilation"
abstract class AbstractKotlinCompileTool() : AbstractCompile(), CompilerArgumentAwareWithInput {
private fun useCompilerClasspathConfigurationMessage(propertyName: String) {
@@ -392,7 +392,7 @@ open class KotlinCompile : AbstractKotlinCompile(), Kotl
val compilerRunner = compilerRunner()
val icEnv = if (incremental) {
- logger.info(USING_INCREMENTAL_COMPILATION_MESSAGE)
+ logger.info(USING_JVM_INCREMENTAL_COMPILATION_MESSAGE)
IncrementalCompilationEnvironment(
if (hasFilesInTaskBuildDirectory()) changedFiles else ChangedFiles.Unknown(),
taskBuildDirectory,
@@ -474,7 +474,12 @@ internal open class KotlinCompileCommonWithWorkers @Inject constructor(
}
@CacheableTask
-open class Kotlin2JsCompile() : AbstractKotlinCompile(), KotlinJsCompile {
+open class Kotlin2JsCompile : AbstractKotlinCompile(), KotlinJsCompile {
+
+ init {
+ incremental = true
+ }
+
private val kotlinOptionsImpl = KotlinJsOptionsImpl()
override val kotlinOptions: KotlinJsOptions
@@ -546,7 +551,7 @@ open class Kotlin2JsCompile() : AbstractKotlinCompile(),
val compilerRunner = compilerRunner()
val icEnv = if (incremental) {
- logger.warn(USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE)
+ logger.info(USING_JS_INCREMENTAL_COMPILATION_MESSAGE)
IncrementalCompilationEnvironment(
if (hasFilesInTaskBuildDirectory()) changedFiles else ChangedFiles.Unknown(),
taskBuildDirectory,