diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt index 153823d0c65..c7a7d0763f4 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt @@ -14,7 +14,7 @@ import kotlin.test.assertTrue class KotlinAndroidGradleIT : AbstractKotlinAndroidGradleTests(androidGradlePluginVersion = "2.3.0") { override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.AtLeast("3.4") + get() = GradleVersionRequired.InRange("3.4", "4.10.2") } // TODO If we there is a way to fetch the latest Android plugin version, test against the latest version @@ -138,7 +138,7 @@ class KotlinAndroid32GradleIT : KotlinAndroid3GradleIT(androidGradlePluginVersio class KotlinAndroid30GradleIT : KotlinAndroid3GradleIT(androidGradlePluginVersion = "3.0.0") { override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.AtLeast("4.1") + get() = GradleVersionRequired.InRange("4.1", "4.10.2") } abstract class KotlinAndroid3GradleIT(androidGradlePluginVersion: String) : AbstractKotlinAndroidGradleTests(androidGradlePluginVersion) { @@ -170,7 +170,7 @@ abstract class KotlinAndroid3GradleIT(androidGradlePluginVersion: String) : Abst } } -abstract class AbstractKotlinAndroidGradleTests(private val androidGradlePluginVersion: String) : BaseGradleIT() { +abstract class AbstractKotlinAndroidGradleTests(val androidGradlePluginVersion: String) : BaseGradleIT() { override fun defaultBuildOptions() = super.defaultBuildOptions().copy( 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 d8b1a1f75d2..e656c431d92 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 @@ -461,9 +461,11 @@ abstract class BaseGradleIT { } fun CompiledProject.getOutputForTask(taskName: String): String { - val taskOutputRegex = ("\\[LIFECYCLE] \\[class org\\.gradle(?:\\.internal\\.buildevents)?\\.TaskExecutionLogger] :$taskName" + + val taskOutputRegex = ("(?:\\[LIFECYCLE] \\[class org\\.gradle(?:\\.internal\\.buildevents)?\\.TaskExecutionLogger] :$taskName|" + + "\\[org\\.gradle\\.execution\\.plan\\.DefaultPlanExecutor\\] :$taskName.*?started)" + "([\\s\\S]+?)" + - "Finished executing task ':$taskName'").toRegex() + "(?:Finished executing task ':$taskName'|" + + "\\[org\\.gradle\\.execution\\.plan\\.DefaultPlanExecutor\\] :$taskName.*?completed)").toRegex() return taskOutputRegex.find(output)?.run { groupValues[1] } ?: error("Cannot find output for task $taskName") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt index 76a18f419d7..2db7a59b866 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheRelocationIT.kt @@ -30,7 +30,7 @@ class BuildCacheRelocationIT : BaseGradleIT() { override fun defaultBuildOptions(): BuildOptions = super.defaultBuildOptions().copy( withBuildCache = true, - androidGradlePluginVersion = "3.0.0", + androidGradlePluginVersion = "3.1.0", androidHome = KotlinTestUtils.findAndroidSdk() ) @@ -47,7 +47,7 @@ class BuildCacheRelocationIT : BaseGradleIT() { val (firstProject, secondProject) = (0..1).map { id -> workingDir = workingDirs[id] - Project(projectName, GradleVersionRequired.AtLeast("4.3"), projectDirectoryPrefix).apply { + Project(projectName, GradleVersionRequired.AtLeast("4.4"), projectDirectoryPrefix).apply { setupWorkingDir() initProject() prepareLocalBuildCache(localBuildCacheDirectory) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt index b4cd2493cf5..26d479a8a8c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt @@ -31,6 +31,8 @@ sealed class GradleVersionRequired(val minVersion: String, val maxVersion: Strin class AtLeast(version: String) : GradleVersionRequired(version, null) + class InRange(minVersion: String, maxVersion: String) : GradleVersionRequired(minVersion, maxVersion) + object None : GradleVersionRequired(GradleVersionRequired.OLDEST_SUPPORTED, null) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt index 4abf610dc57..e2d3a748fee 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3AndroidIT.kt @@ -1,7 +1,7 @@ package org.jetbrains.kotlin.gradle -import org.jetbrains.kotlin.gradle.util.isLegacyAndroidGradleVersion import org.jetbrains.kotlin.gradle.util.getFileByName +import org.jetbrains.kotlin.gradle.util.isLegacyAndroidGradleVersion import org.jetbrains.kotlin.gradle.util.modify import org.jetbrains.kotlin.test.KotlinTestUtils import org.junit.Test @@ -24,7 +24,7 @@ open class Kapt3AndroidIT : Kapt3BaseIT() { get() = "2.3.0" override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.AtLeast("4.1") + get() = GradleVersionRequired.InRange("4.1", "4.10.2") override fun defaultBuildOptions() = super.defaultBuildOptions().copy( 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 127e0668975..30049d557d9 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 @@ -142,7 +142,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testJsCustomSourceSet() { - val project = Project("kotlin2JsProjectWithCustomSourceset") + val project = Project("kotlin2JsProjectWithCustomSourceset", GradleVersionRequired.AtLeast("4.0")) project.build("build") { assertSuccessful() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt index 7594becf198..4f972c32045 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/SimpleKotlinGradleIT.kt @@ -84,7 +84,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testDestinationDirReferencedDuringEvaluation() { - Project("destinationDirReferencedDuringEvaluation").build("build") { + Project("destinationDirReferencedDuringEvaluation", GradleVersionRequired.AtLeast("4.0")).build("build") { assertSuccessful() assertContains("GreeterTest PASSED") } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt index 6c693436f54..dde4fef46d9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/VariantAwareDependenciesIT.kt @@ -190,9 +190,11 @@ class VariantAwareDependenciesIT : BaseGradleIT() { group 'com.example.oldmpp' version '1.0' apply plugin: 'maven-publish' - publishing { - repositories { maven { url "file://${'$'}{rootDir.absolutePath.replace('\\', '/')}/repo" } } - publications { kotlin(MavenPublication) { from(components.java) } } + afterEvaluate { + publishing { + repositories { maven { url "file://${'$'}{rootDir.absolutePath.replace('\\', '/')}/repo" } } + publications { kotlin(MavenPublication) { from(components.java) } } + } } } """.trimIndent() diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinAndroidExtensionIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinAndroidExtensionIT.kt index 6e3eaa86430..f9e2d7436a1 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinAndroidExtensionIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinAndroidExtensionIT.kt @@ -16,11 +16,11 @@ import kotlin.test.assertTrue class KotlinAndroidExtensionIT : BaseGradleIT() { override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.AtLeast("4.1") + get() = GradleVersionRequired.AtLeast("4.4") override fun defaultBuildOptions(): BuildOptions { return super.defaultBuildOptions().copy( - androidGradlePluginVersion = "3.0.0", + androidGradlePluginVersion = "3.1.0", androidHome = KotlinTestUtils.findAndroidSdk() ) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinProjectIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinProjectIT.kt index 53d65256f18..f07b4c75163 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinProjectIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/model/KotlinProjectIT.kt @@ -16,11 +16,11 @@ import kotlin.test.assertTrue class KotlinProjectIT : BaseGradleIT() { override val defaultGradleVersion: GradleVersionRequired - get() = GradleVersionRequired.AtLeast("4.1") + get() = GradleVersionRequired.AtLeast("4.4") override fun defaultBuildOptions(): BuildOptions { return super.defaultBuildOptions().copy( - androidGradlePluginVersion = "3.0.0", + androidGradlePluginVersion = "3.1.0", androidHome = KotlinTestUtils.findAndroidSdk() ) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Android/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Android/build.gradle index 56bf925fb9a..1a9ff296900 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Android/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Android/build.gradle @@ -1,3 +1,5 @@ +import org.gradle.util.VersionNumber + apply plugin: 'com.android.application' apply plugin: 'kotlin-android' diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Test/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Test/build.gradle index ae43c3923a9..e7004279526 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Test/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/AndroidProject/Test/build.gradle @@ -1,3 +1,5 @@ +import org.gradle.util.VersionNumber + apply plugin: 'com.android.test' apply plugin: 'kotlin-android' diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/destinationDirReferencedDuringEvaluation/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/destinationDirReferencedDuringEvaluation/build.gradle index e3a92c7705d..2098ae0d9e8 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/destinationDirReferencedDuringEvaluation/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/destinationDirReferencedDuringEvaluation/build.gradle @@ -22,4 +22,4 @@ dependencies { } // important to test that destinationDir is configured before evaluation -test.testClassesDir = project.tasks.compileTestKotlin.destinationDir +test.testClassesDirs = files(project.tasks.compileTestKotlin.destinationDir) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/gradleDaemonMemory/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/gradleDaemonMemory/build.gradle index cc58e601548..4b43348d5bb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/gradleDaemonMemory/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/gradleDaemonMemory/build.gradle @@ -19,6 +19,8 @@ dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } -task exit << { - System.exit(0) +task('exit') { + doFirst { + System.exit(0) + } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithCustomSourceset/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithCustomSourceset/build.gradle index b7508a08784..4669e0791cb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithCustomSourceset/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin2JsProjectWithCustomSourceset/build.gradle @@ -20,7 +20,7 @@ sourceSets { } task integrationTest(type: Test) { - testClassesDir = sourceSets.integrationTest.output.classesDir + testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath }