From 99e731f6a62cdcd38431a7023517dad28a4a0e7c Mon Sep 17 00:00:00 2001 From: Sergey Igushkin Date: Wed, 7 Feb 2018 18:25:57 +0300 Subject: [PATCH] Transform the new tests after rebase; Fix issues from KOTLIN-CR-1546 --- .../build.gradle | 5 +- .../AbstractKotlinAndroidGradleTests.kt | 12 +-- .../jetbrains/kotlin/gradle/BaseGradleIT.kt | 21 +++-- .../kotlin/gradle/BaseMultiGradleVersionIT.kt | 2 +- .../jetbrains/kotlin/gradle/BuildCacheIT.kt | 4 +- .../kotlin/gradle/BuildCacheRelocationIT.kt | 5 +- .../kotlin/gradle/ClassFileIsRemovedIT.kt | 2 +- .../jetbrains/kotlin/gradle/CoroutinesIT.kt | 7 +- .../kotlin/gradle/ExecutionStrategyIT.kt | 2 +- .../kotlin/gradle/GradleVersionRequired.kt | 52 +++++++++++++ .../kotlin/gradle/GradleVersionRequirement.kt | 78 ------------------- .../IncrementalCompilationMultiProjectIT.kt | 19 +++-- .../jetbrains/kotlin/gradle/Kapt3AndroidIT.kt | 2 +- .../org/jetbrains/kotlin/gradle/Kapt3IT.kt | 34 ++++---- .../org/jetbrains/kotlin/gradle/KaptIT.kt | 24 +++--- .../kotlin/gradle/KaptIncrementalIT.kt | 3 +- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 34 ++++---- .../jetbrains/kotlin/gradle/KotlinDaemonIT.kt | 7 +- .../kotlin/gradle/KotlinGradlePluginIT.kt | 72 ++++++++--------- .../kotlin/gradle/MultiplatformGradleIT.kt | 14 ++-- .../jetbrains/kotlin/gradle/PluginsDslIT.kt | 10 +-- .../kotlin/gradle/SimpleKotlinGradleIT.kt | 34 ++++---- .../kotlin/gradle/TestRootAffectedIT.kt | 6 +- .../jetbrains/kotlin/gradle/UpToDatenessIT.kt | 11 ++- .../kotlin/jps/BaseIncrementalGradleIT.kt | 5 +- 25 files changed, 209 insertions(+), 256 deletions(-) create mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt delete mode 100644 libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequirement.kt diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle index fbc65db77f6..e7dce0426a6 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle @@ -133,11 +133,8 @@ task testsFromJps(type: Test) { task testAdvanceGradleVersion(type: Test) { def gradleVersionForTests = "4.3-rc-1" - systemProperty("advanceGradleVersion", gradleVersionForTests) + systemProperty("kotlin.gradle.version.for.tests", gradleVersionForTests) dependsOn = test.dependsOn - beforeTest { descriptor -> - logger.info("(!) Using Gradle version $gradleVersionForTests") - } exclude jpsIncrementalTestsClass } 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 b8f666735b1..ff99b4d5efe 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 @@ -10,10 +10,10 @@ import org.junit.Test import java.io.File -class KotlinAndroidGradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionAtLeast("3.4"), androidGradlePluginVersion = "2.3.0") +class KotlinAndroidGradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionRequired.AtLeast("3.4"), androidGradlePluginVersion = "2.3.0") class KotlinAndroidWithJackGradleIT : AbstractKotlinAndroidWithJackGradleTests(androidGradlePluginVersion = "2.3.+") -class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionAtLeast("4.1"), androidGradlePluginVersion = "3.0.0-beta1") { +class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionRequired.AtLeast("4.1"), androidGradlePluginVersion = "3.0.0-beta1") { @Test fun testApplyWithFeaturePlugin() { @@ -43,8 +43,8 @@ class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = } abstract class AbstractKotlinAndroidGradleTests( - protected val gradleVersion: GradleVersionRequirement, - private val androidGradlePluginVersion: String + protected val gradleVersion: GradleVersionRequired, + private val androidGradlePluginVersion: String ) : BaseGradleIT() { override fun defaultBuildOptions() = @@ -276,7 +276,7 @@ fun getSomething() = 10 ":libAndroid:compileReleaseUnitTestKotlin" ) - val kotlinFolder = if (VersionNumber.parse(gradleVersion).major > 3) "kotlin" else "" + val kotlinFolder = if (VersionNumber.parse(project.chooseWrapperVersionOrFinishTest()).major > 3) "kotlin" else "" assertFileExists("lib/build/classes/$kotlinFolder/main/foo/PlatformClass.kotlin_metadata") assertFileExists("lib/build/classes/$kotlinFolder/test/foo/PlatformTest.kotlin_metadata") @@ -304,7 +304,7 @@ abstract class AbstractKotlinAndroidWithJackGradleTests( @Test fun testSimpleCompile() { - val project = Project("AndroidJackProject", SpecificGradleVersion("3.4")) + val project = Project("AndroidJackProject", GradleVersionRequired.Exact("3.4")) project.build("assemble") { assertFailed() 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 03ab95258e5..faeb87d99af 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 @@ -1,6 +1,5 @@ package org.jetbrains.kotlin.gradle -import com.intellij.openapi.util.io.FileUtil import org.gradle.api.logging.LogLevel import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.util.* @@ -177,10 +176,10 @@ abstract class BaseGradleIT { ) open inner class Project( - val projectName: String, - val gradleVersionRequirement: GradleVersionRequirement, - directoryPrefix: String? = null, - val minLogLevel: LogLevel = LogLevel.DEBUG + val projectName: String, + val gradleVersionRequirement: GradleVersionRequired = GradleVersionRequired.None, + directoryPrefix: String? = null, + val minLogLevel: LogLevel = LogLevel.DEBUG ) { val resourceDirName = if (directoryPrefix != null) "$directoryPrefix/$projectName" else projectName open val resourcesRoot = File(resourcesRootFile, "testProject/$resourceDirName") @@ -442,24 +441,24 @@ abstract class BaseGradleIT { else assertSameFiles(sources, compiledJavaSources.projectRelativePaths(this.project), "Compiled Java files differ:\n ") - fun Project.resourcesDir(subproject: String? = null, sourceSet: String = "main") = + fun Project.resourcesDir(subproject: String? = null, sourceSet: String = "main"): String = (subproject?.plus("/") ?: "") + "build/" + (if (GradleVersion.version(chooseWrapperVersionOrFinishTest()) < GradleVersion.version("4.0")) "classes/" else "resources/") + sourceSet + "/" - fun Project.classesDir(subproject: String? = null, sourceSet: String = "main", language: String = "kotlin") = + fun Project.classesDir(subproject: String? = null, sourceSet: String = "main", language: String = "kotlin"): String = (subproject?.plus("/") ?: "") + "build/classes/" + (if (GradleVersion.version(chooseWrapperVersionOrFinishTest()) >= GradleVersion.version("4.0")) "$language/" else "") + sourceSet + "/" - fun CompiledProject.kotlinClassesDir(subproject: String? = null, sourceSet: String = "main") = + fun CompiledProject.kotlinClassesDir(subproject: String? = null, sourceSet: String = "main"): String = project.classesDir(subproject, sourceSet, language = "kotlin") - fun CompiledProject.javaClassesDir(subproject: String? = null, sourceSet: String = "main") = + fun CompiledProject.javaClassesDir(subproject: String? = null, sourceSet: String = "main"): String = project.classesDir(subproject, sourceSet, language = "java") private fun Project.createBuildCommand(wrapperDir: File, params: Array, options: BuildOptions): List = @@ -495,9 +494,7 @@ abstract class BaseGradleIT { System.getProperty("maven.repo.local")?.let { add("-Dmaven.repo.local=$it") // TODO: proper escaping } - if (options.withBuildCache) { - add("--build-cache") - } + add(if (options.withBuildCache) "--build-cache" else "--no-build-cache") // Workaround: override a console type set in the user machine gradle.properties (since Gradle 4.3): add("--console=plain") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseMultiGradleVersionIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseMultiGradleVersionIT.kt index 8bdde349574..52a0a9a7486 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseMultiGradleVersionIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseMultiGradleVersionIT.kt @@ -9,7 +9,7 @@ import org.junit.runners.Parameterized.Parameters abstract class BaseMultiGradleVersionIT : BaseGradleIT() { @Parameter lateinit var gradleVersionString: String - protected val gradleVersion get() = SpecificGradleVersion(gradleVersionString) + protected val gradleVersion get() = GradleVersionRequired.Exact(gradleVersionString) companion object { @JvmStatic diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheIT.kt index 28da245e8b8..f77b6ea2a89 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/BuildCacheIT.kt @@ -25,11 +25,11 @@ class BuildCacheIT : BaseGradleIT() { super.defaultBuildOptions().copy(withBuildCache = true) companion object { - private val GRADLE_VERSION = "4.3.1" + private val GRADLE_VERSION = GradleVersionRequired.AtLeast("4.3") } @Test - fun testNoCacheWithGradlePre43() = with(Project("simpleProject", "4.2")) { + fun testNoCacheWithGradlePre43() = with(Project("simpleProject", GradleVersionRequired.Exact("4.2"))) { // Check that even with the build cache enabled, the Kotlin tasks are not cacheable with Gradle < 4.3: val optionsWithCache = defaultBuildOptions().copy(withBuildCache = true) 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 943ebb5f333..de6dd528fa9 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 @@ -36,16 +36,17 @@ class BuildCacheRelocationIT : BaseGradleIT() { @Parameterized.Parameter lateinit var testCase: TestCase + val workingDirs = (0..1).map { createTempDir("BuildCacheRelocationIT$it") } + @Test fun testRelocation() = with(testCase) { val localBuildCacheDirectory = createTempDir("buildCache$projectName") val originalWorkingDir = workingDir - val workingDirs = (0..1).map { createTempDir("BuildCacheRelocationIT$it") } val (firstProject, secondProject) = (0..1).map { id -> workingDir = workingDirs[id] - Project(projectName, "4.4", projectDirectoryPrefix).apply { + Project(projectName, GradleVersionRequired.AtLeast("4.3"), projectDirectoryPrefix).apply { setupWorkingDir() initProject() prepareLocalBuildCache(localBuildCacheDirectory) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ClassFileIsRemovedIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ClassFileIsRemovedIT.kt index f50f05d60ff..f9ca1af16a0 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ClassFileIsRemovedIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/ClassFileIsRemovedIT.kt @@ -42,7 +42,7 @@ class ClassFileIsRemovedIT : BaseGradleIT() { } fun doTest(buildOptions: BuildOptions, transformDummy: (File)->Unit) { - val project = Project("kotlinInJavaRoot", NoSpecificGradleVersion) + val project = Project("kotlinInJavaRoot") project.build("build", options = buildOptions) { assertSuccessful() } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CoroutinesIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CoroutinesIT.kt index 9f3422fddf9..e48dfb12b4f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CoroutinesIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/CoroutinesIT.kt @@ -23,14 +23,13 @@ import java.io.File class CoroutinesIT: BaseGradleIT() { companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion private const val LOCAL_PROPERTIES = "local.properties" private const val GRADLE_PROPERTIES = "gradle.properties" } @Test fun testCoroutinesProjectDSL() { - val project = Project("coroutinesProjectDSL", GRADLE_VERSION) + val project = Project("coroutinesProjectDSL") project.build("assemble") { assertSuccessful() assertContains("-Xcoroutines=enable") @@ -98,10 +97,10 @@ class CoroutinesIT: BaseGradleIT() { // todo: replace with project that actually uses coroutines after their syntax is finalized private val jvmProject: Project - get() = Project("kotlinProject", GRADLE_VERSION) + get() = Project("kotlinProject") private val jsProject: Project - get() = Project("kotlin2JsProject", GRADLE_VERSION) + get() = Project("kotlin2JsProject") private fun Project.doTest(coroutineSupport: String, propertyFileName: String?) { if (propertyFileName != null) { 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 d5f5e678fd8..b1f89c99ad1 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 @@ -20,7 +20,7 @@ class ExecutionStrategyJsIT : ExecutionStrategyIT() { open class ExecutionStrategyIT : BaseGradleIT() { companion object { - private val GRADLE_VERSION = GradleVersionAtLeast("4.0") + private val GRADLE_VERSION = GradleVersionRequired.AtLeast("4.0") } @Test 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 new file mode 100644 index 00000000000..b4cd2493cf5 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequired.kt @@ -0,0 +1,52 @@ +/* + * Copyright 2010-2017 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.kotlin.gradle + +import org.gradle.util.GradleVersion +import org.junit.Assume + +sealed class GradleVersionRequired(val minVersion: String, val maxVersion: String?) { + companion object { + //TODO once the plugin is compiled with API level 1.0, replace with the really supported one (3.2) + // Currently, it will lead to failing tests due to the conflict with the pre-release kotlin-reflect + // bundled into Gradle 3.2...3.4 + const val OLDEST_SUPPORTED = "3.5" + } + + class Exact(version: String) : GradleVersionRequired(version, version) + + class AtLeast(version: String) : GradleVersionRequired(version, null) + + object None : GradleVersionRequired(GradleVersionRequired.OLDEST_SUPPORTED, null) +} + + +fun BaseGradleIT.Project.chooseWrapperVersionOrFinishTest(): String { + val gradleVersionForTests = System.getProperty("kotlin.gradle.version.for.tests")?.toGradleVersion() + val minVersion = gradleVersionRequirement.minVersion.toGradleVersion() + val maxVersion = gradleVersionRequirement.maxVersion?.toGradleVersion() + + if (gradleVersionForTests == null) { + return minVersion.version + } + + Assume.assumeTrue(minVersion <= gradleVersionForTests && (maxVersion == null || gradleVersionForTests <= maxVersion)) + + return gradleVersionForTests.version +} + +private fun String.toGradleVersion() = GradleVersion.version(this) \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequirement.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequirement.kt deleted file mode 100644 index 06705aff691..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/GradleVersionRequirement.kt +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2010-2017 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.jetbrains.kotlin.gradle - -import org.gradle.util.GradleVersion -import org.junit.AssumptionViolatedException - -sealed class GradleVersionRequirement(val version: String) { - companion object { - //TODO once the plugin is compiled with API level 1.0, replace with the really supported one (3.2) - // Currently, it will lead to failing tests due to the conflict with the pre-release kotlin-reflect - // bundled into Gradle 3.2...3.4 - const val OLDEST_SUPPORTED = "3.5" - } -} - -class SpecificGradleVersion(version: String) : GradleVersionRequirement(version) - -class GradleVersionAtLeast(version: String) : GradleVersionRequirement(version) - -object NoSpecificGradleVersion : GradleVersionRequirement(GradleVersionRequirement.OLDEST_SUPPORTED) - -fun BaseGradleIT.Project.chooseWrapperVersionOrFinishTest(): String { - val advanceGradleVersionArg: String? = System.getProperty("advanceGradleVersion") - val requiredVersion = gradleVersionRequirement.version - - /* Given arg = advanceGradleVersionArg, - req = requiredVersion, - min = GradleVersionRequirement.OLDEST_SUPPORTED - - Decide whether to run the test (and with which version) or ignore it as follows: - - project.requiredGradleVersion | arg is null | arg < req | arg = req | arg > req | - -------------------------------|-------------|-------------|-------------|-------------| - SpecificGradleVersion(req) | RUN (req) | IGNORE | IGNORE | IGNORE | - GradleVersionAtLeast(req) | RUN (req) | IGNORE | RUN | RUN (arg) | - NoSpecificVersion (req is min) | RUN (min) | IGNORE | RUN | RUN (arg) | - */ - - return when { - advanceGradleVersionArg == null -> requiredVersion - else -> { - if (gradleVersionRequirement is SpecificGradleVersion) - throw AssumptionViolatedException("This test is ignored as it requires a specific Gradle version $requiredVersion. " + - "Remove the advanceGradleVersion system property to run it.") - - val argComparedToReq = gradleVersionsComparator.compare(advanceGradleVersionArg, requiredVersion) - - when { - argComparedToReq < 0 -> throw AssumptionViolatedException( - "The test requires Gradle version $requiredVersion, but this run uses $advanceGradleVersionArg") - argComparedToReq == 0 -> advanceGradleVersionArg - else /* argComparedToReq > 0 */ -> - if (gradleVersionRequirement is SpecificGradleVersion) - throw AssumptionViolatedException( - "The test requires specific Gradle version $requiredVersion and is not subject to " + - "version advance to $advanceGradleVersionArg") - else advanceGradleVersionArg - } - } - } -} - -private val gradleVersionsComparator = compareBy { GradleVersion.version(it) } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt index d500195f6b0..d4a63c41243 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/IncrementalCompilationMultiProjectIT.kt @@ -10,7 +10,6 @@ import java.io.File class IncrementalCompilationMultiProjectIT : BaseGradleIT() { companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion private val ANDROID_GRADLE_PLUGIN_VERSION = "1.5.+" } @@ -26,7 +25,7 @@ class IncrementalCompilationMultiProjectIT : BaseGradleIT() { @Test fun testMoveFunctionFromLib() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.build("build") { assertSuccessful() } @@ -46,7 +45,7 @@ class IncrementalCompilationMultiProjectIT : BaseGradleIT() { @Test fun testAddNewMethodToLib() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.build("build") { assertSuccessful() } @@ -71,7 +70,7 @@ open class A { @Test fun testLibClassBecameFinal() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.build("build") { assertSuccessful() } @@ -91,7 +90,7 @@ open class A { @Test fun testCleanBuildLib() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.build("build") { assertSuccessful() } @@ -113,7 +112,7 @@ open class A { @Test fun testCompileErrorInLib() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.build("build") { assertSuccessful() } @@ -140,7 +139,7 @@ open class A { // that is not JavaCompile or KotlinCompile @Test fun testCompileLibWithGroovy() { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") project.setupWorkingDir() val lib = File(project.projectDir, "lib") val libBuildGradle = File(lib, "build.gradle") @@ -178,7 +177,7 @@ open class A { @Test fun testAndroid() { - val project = Project("AndroidProject", SpecificGradleVersion("2.10")) + val project = Project("AndroidProject", GradleVersionRequired.Exact("2.10")) val options = androidBuildOptions() project.build("assembleDebug", options = options) { @@ -186,7 +185,7 @@ open class A { } val libUtilKt = project.projectDir.getFileByName("libUtil.kt") - libUtilKt.modify { it.replace("fun libUtil(): String", "fun libUtil(): Any") } + libUtilKt.modify { it.replace("fun libUtil(): String", "fun libUtil(): None") } project.build("assembleDebug", options = options) { assertSuccessful() @@ -279,7 +278,7 @@ abstract class IncrementalCompilationJavaChangesBase(val usePreciseJavaTracking: transformFile: (String)->String, expectedAffectedSources: Collection ) { - val project = Project("incrementalMultiproject", GRADLE_VERSION) + val project = Project("incrementalMultiproject") val options = defaultBuildOptions().copy(usePreciseJavaTracking = usePreciseJavaTracking) project.build("build", options = options) { 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 07dd0e42989..d195b5e5de2 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 @@ -12,7 +12,7 @@ class Kapt3Android30IT : Kapt3AndroidIT() { open class Kapt3AndroidIT : Kapt3BaseIT() { companion object { - private val GRADLE_VERSION = GradleVersionAtLeast("4.1") + private val GRADLE_VERSION = GradleVersionRequired.AtLeast("4.1") } protected open val androidGradlePluginVersion: String 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 20ede01437d..571a1db183e 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 @@ -35,13 +35,9 @@ abstract class Kapt3BaseIT : BaseGradleIT() { } open class Kapt3IT : Kapt3BaseIT() { - companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion - } - @Test fun testAnnotationProcessorAsFqName() { - val project = Project("annotationProcessorAsFqName", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("annotationProcessorAsFqName", directoryPrefix = "kapt2") project.build("build") { assertSuccessful() @@ -57,7 +53,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testSimple() { - val project = Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("simple", directoryPrefix = "kapt2") project.build("build") { assertSuccessful() @@ -86,7 +82,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testSimpleWithIC() { val options = defaultBuildOptions().copy(incremental = true) - val project = Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("simple", directoryPrefix = "kapt2") val javaClassesDir = File(project.projectDir, project.classesDir(language = "java")) project.build("clean", "build", options = options) { @@ -120,7 +116,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testDisableIcForGenerateStubs() { - val project = Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("simple", directoryPrefix = "kapt2") project.build("build", options = defaultBuildOptions().copy(incremental = false)) { assertSuccessful() assertContains(":kaptGenerateStubsKotlin") @@ -130,7 +126,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testArguments() { - Project("arguments", GRADLE_VERSION, directoryPrefix = "kapt2").build("build") { + Project("arguments", directoryPrefix = "kapt2").build("build") { assertSuccessful() assertKaptSuccessful() assertContains("Options: {suffix=Customized, justColon=:, justEquals==, containsColon=a:b, " + @@ -145,7 +141,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testInheritedAnnotations() { - Project("inheritedAnnotations", GRADLE_VERSION, directoryPrefix = "kapt2").build("build") { + Project("inheritedAnnotations", directoryPrefix = "kapt2").build("build") { assertSuccessful() assertKaptSuccessful() assertFileExists("build/generated/source/kapt/main/example/TestClassGenerated.java") @@ -157,7 +153,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testGeneratedDirectoryIsUpToDate() { - val project = Project("generatedDirUpToDate", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("generatedDirUpToDate", directoryPrefix = "kapt2") project.build("build") { assertSuccessful() @@ -200,7 +196,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testRemoveAnnotationIC() { - val project = Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("simple", directoryPrefix = "kapt2") val options = defaultBuildOptions().copy(incremental = true) project.setupWorkingDir() val internalDummyKt = project.projectDir.getFileByName("InternalDummy.kt") @@ -227,7 +223,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testKt18799() { - val project = Project("kt18799", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("kt18799", directoryPrefix = "kapt2") project.build("kaptKotlin") { assertSuccessful() @@ -246,7 +242,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testKaptClassesDirSync() { - val project = Project("autoService", SpecificGradleVersion("3.5"), directoryPrefix = "kapt2") + val project = Project("autoService", GradleVersionRequired.Exact("3.5"), directoryPrefix = "kapt2") project.build("build") { assertSuccessful() @@ -271,7 +267,7 @@ open class Kapt3IT : Kapt3BaseIT() { */ @Test fun testCopyCompileArguments() { - val project = Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("simple", directoryPrefix = "kapt2") project.setupWorkingDir() val arg = "-Xskip-runtime-version-check" @@ -293,7 +289,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testOutputKotlinCode() { - Project("kaptOutputKotlinCode", GRADLE_VERSION, directoryPrefix = "kapt2").build("build") { + Project("kaptOutputKotlinCode", directoryPrefix = "kapt2").build("build") { assertSuccessful() assertKaptSuccessful() assertFileExists("build/generated/source/kapt/main/example/TestClassCustomized.java") @@ -305,7 +301,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testLocationMapping() { - val project = Project("locationMapping", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("locationMapping", directoryPrefix = "kapt2") project.build("build") { assertFailed() @@ -331,7 +327,7 @@ open class Kapt3IT : Kapt3BaseIT() { @Test fun testChangesInLocalAnnotationProcessor() { - val project = Project("localAnnotationProcessor", GRADLE_VERSION, directoryPrefix = "kapt2") + val project = Project("localAnnotationProcessor", directoryPrefix = "kapt2") project.build("build") { assertSuccessful() @@ -354,7 +350,7 @@ open class Kapt3IT : Kapt3BaseIT() { } @Test - fun testKaptConfigurationLazyResolution() = with(Project("simple", GRADLE_VERSION, directoryPrefix = "kapt2")) { + fun testKaptConfigurationLazyResolution() = with(Project("simple", directoryPrefix = "kapt2")) { setupWorkingDir() File(projectDir, "build.gradle").appendText( "\ndependencies { kapt project.files { throw new GradleException(\"Resolved!\") } }" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIT.kt index d92f78fcab6..a48a2c68e67 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIT.kt @@ -8,13 +8,9 @@ import java.io.File class KaptIT: BaseGradleIT() { - companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion - } - @Test fun testSimple() { - val project = Project("kaptSimple", GRADLE_VERSION) + val project = Project("kaptSimple") project.allowOriginalKapt() project.build("build") { @@ -44,7 +40,7 @@ class KaptIT: BaseGradleIT() { @Test fun testEnumConstructor() { - val project = Project("kaptEnumConstructor", GRADLE_VERSION) + val project = Project("kaptEnumConstructor") project.allowOriginalKapt() project.build("build") { @@ -61,7 +57,7 @@ class KaptIT: BaseGradleIT() { @Test fun testStubs() { - val project = Project("kaptStubs", GRADLE_VERSION) + val project = Project("kaptStubs") project.allowOriginalKapt() project.build("build") { @@ -87,7 +83,7 @@ class KaptIT: BaseGradleIT() { @Test fun testStubsWithoutJava() { - val project = Project("kaptStubs", GRADLE_VERSION) + val project = Project("kaptStubs") project.allowOriginalKapt() project.projectDir.allJavaFiles().forEach { it.delete() } @@ -113,7 +109,7 @@ class KaptIT: BaseGradleIT() { private fun doTestIncrementalBuild(projectName: String, compileTasks: Array) { val compileTasksUpToDate = compileTasks.map { it + " UP-TO-DATE" }.toTypedArray() - val project = Project(projectName, NoSpecificGradleVersion) + val project = Project(projectName) project.allowOriginalKapt() project.build("build") { @@ -150,7 +146,7 @@ class KaptIT: BaseGradleIT() { @Test fun testArguments() { - val project = Project("kaptArguments", GRADLE_VERSION) + val project = Project("kaptArguments") project.allowOriginalKapt() project.build("build") { @@ -167,7 +163,7 @@ class KaptIT: BaseGradleIT() { @Test fun testInheritedAnnotations() { - val project = Project("kaptInheritedAnnotations", GRADLE_VERSION) + val project = Project("kaptInheritedAnnotations") project.allowOriginalKapt() project.build("build") { @@ -181,7 +177,7 @@ class KaptIT: BaseGradleIT() { @Test fun testOutputKotlinCode() { - val project = Project("kaptOutputKotlinCode", GRADLE_VERSION) + val project = Project("kaptOutputKotlinCode") project.allowOriginalKapt() project.build("build") { @@ -201,7 +197,7 @@ class KaptIT: BaseGradleIT() { fun testInternalUserIsModifiedStubsIC() { val options = defaultBuildOptions().copy(incremental = true) - val project = Project("kaptStubs", GRADLE_VERSION) + val project = Project("kaptStubs") project.allowOriginalKapt() project.build("build", options = options) { @@ -223,7 +219,7 @@ class KaptIT: BaseGradleIT() { fun testKotlinCompilerNotCalledStubsIC() { val options = defaultBuildOptions().copy(incremental = true) - val project = Project("kaptStubs", GRADLE_VERSION) + val project = Project("kaptStubs") project.allowOriginalKapt() project.build("build", options = options) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt index 5a1fbf785de..3f6ffbe9dac 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KaptIncrementalIT.kt @@ -19,7 +19,6 @@ abstract class KaptIncrementalBaseIT(val shouldUseStubs: Boolean, val useKapt3: } companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion private val EXAMPLE_ANNOTATION_REGEX = "@(field:)?example.ExampleAnnotation".toRegex() private const val GENERATE_STUBS_PLACEHOLDER = "GENERATE_STUBS_PLACEHOLDER" @@ -30,7 +29,7 @@ abstract class KaptIncrementalBaseIT(val shouldUseStubs: Boolean, val useKapt3: protected open val projectName = "kaptIncrementalCompilationProject" private fun getProject() = - Project(projectName, GRADLE_VERSION).apply { + Project(projectName).apply { setupWorkingDir() val buildGradle = projectDir.parentFile.getFileByName("build.gradle") buildGradle.modify { it.replace(GENERATE_STUBS_PLACEHOLDER, shouldUseStubs.toString()) } 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 c09e14269ef..c91b97d82a3 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 @@ -13,7 +13,7 @@ import kotlin.test.assertTrue class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testBuildAndClean() { - val project = Project("kotlin2JsProject", NoSpecificGradleVersion) + val project = Project("kotlin2JsProject") project.build("build") { assertSuccessful() @@ -58,7 +58,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testJarIncludesJsDefaultOutput() { - val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion) + val project = Project("kotlin2JsNoOutputFileProject") project.build("jar") { assertSuccessful() @@ -74,7 +74,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testJarIncludesJsOutputSetExplicitly() { - val project = Project("kotlin2JsModuleKind", NoSpecificGradleVersion) + val project = Project("kotlin2JsModuleKind") project.build(":jar") { assertSuccessful() @@ -90,7 +90,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testModuleKind() { - val project = Project("kotlin2JsModuleKind", NoSpecificGradleVersion) + val project = Project("kotlin2JsModuleKind") project.build("runRhino") { assertSuccessful() @@ -99,7 +99,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testDefaultOutputFile() { - val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion) + val project = Project("kotlin2JsNoOutputFileProject") project.build("build") { assertSuccessful() @@ -110,7 +110,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testCompileTestCouldAccessProduction() { - val project = Project("kotlin2JsProjectWithTests", NoSpecificGradleVersion) + val project = Project("kotlin2JsProjectWithTests") project.build("build") { assertSuccessful() @@ -127,7 +127,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testCompilerTestAccessInternalProduction() { - val project = Project("kotlin2JsInternalTest", SpecificGradleVersion("3.5")) + val project = Project("kotlin2JsInternalTest", GradleVersionRequired.Exact("3.5")) project.build("runRhino") { assertSuccessful() @@ -136,7 +136,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testJsCustomSourceSet() { - val project = Project("kotlin2JsProjectWithCustomSourceset", NoSpecificGradleVersion) + val project = Project("kotlin2JsProjectWithCustomSourceset") project.build("build") { assertSuccessful() @@ -159,7 +159,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testKotlinJsBuiltins() { - val project = Project("kotlinBuiltins", GradleVersionAtLeast("4.0")) + val project = Project("kotlinBuiltins", GradleVersionRequired.AtLeast("4.0")) project.setupWorkingDir() val buildGradle = File(project.projectDir, "app").getFileByName("build.gradle") @@ -174,7 +174,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testKotlinJsSourceMap() { - val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion) + val project = Project("kotlin2JsNoOutputFileProject") project.setupWorkingDir() @@ -199,7 +199,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testKotlinJsSourceMapInline() { - val project = Project("kotlin2JsProjectWithSourceMapInline", NoSpecificGradleVersion) + val project = Project("kotlin2JsProjectWithSourceMapInline") project.build("build") { assertSuccessful() @@ -217,7 +217,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testDce() { - val project = Project("kotlin2JsDceProject", NoSpecificGradleVersion, minLogLevel = LogLevel.INFO) + val project = Project("kotlin2JsDceProject", minLogLevel = LogLevel.INFO) project.build("runRhino") { assertSuccessful() @@ -233,7 +233,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testDceOutputPath() { - val project = Project("kotlin2JsDceProject", "2.10", minLogLevel = LogLevel.INFO) + val project = Project("kotlin2JsDceProject", minLogLevel = LogLevel.INFO) project.setupWorkingDir() File(project.projectDir, "mainProject/build.gradle").modify { @@ -257,7 +257,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testDceDevMode() { - val project = Project("kotlin2JsDceProject", "2.10", minLogLevel = LogLevel.INFO) + val project = Project("kotlin2JsDceProject", minLogLevel = LogLevel.INFO) project.setupWorkingDir() File(project.projectDir, "mainProject/build.gradle").modify { @@ -279,7 +279,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { @Test fun testDceFileCollectionDependency() { - val project = Project("kotlin2JsDceProject", "2.10", minLogLevel = LogLevel.INFO) + val project = Project("kotlin2JsDceProject", minLogLevel = LogLevel.INFO) project.setupWorkingDir() File(project.projectDir, "mainProject/build.gradle").modify { @@ -301,7 +301,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { /** Issue: KT-18495 */ @Test fun testNoSeparateClassesDirWarning() { - val project = Project("kotlin2JsProject", GradleVersionAtLeast("4.0")) + val project = Project("kotlin2JsProject", GradleVersionRequired.AtLeast("4.0")) project.build("build") { assertSuccessful() assertNotContains("this build assumes a single directory for all classes from a source set") @@ -309,7 +309,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { } @Test - fun testIncrementalCompilation() = Project("kotlin2JsICProject", GradleVersionAtLeast("4.0")).run { + fun testIncrementalCompilation() = Project("kotlin2JsICProject", GradleVersionRequired.AtLeast("4.0")).run { build("build") { assertSuccessful() assertContains(USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinDaemonIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinDaemonIT.kt index cb3bc959533..0bf5b29ce89 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinDaemonIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinDaemonIT.kt @@ -25,9 +25,6 @@ import java.io.File // todo: test daemon start (does not start every build) // todo: test daemon shutdown when gradle daemon dies class KotlinDaemonIT : BaseGradleIT() { - companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion - } @Test fun testDaemonMultiproject() { @@ -40,7 +37,7 @@ class KotlinDaemonIT : BaseGradleIT() { return result.toTypedArray() } - val project = Project("multiprojectWithDependency", GRADLE_VERSION) + val project = Project("multiprojectWithDependency") val strategyCLIArg = "-Dkotlin.compiler.execution.strategy=daemon" fun checkAfterNonIncrementalBuild(output: String) { @@ -78,7 +75,7 @@ class KotlinDaemonIT : BaseGradleIT() { @Test fun testClientFileIsDeletedOnExit() { - val project = Project("kotlinProject", GRADLE_VERSION) + val project = Project("kotlinProject") val options = defaultBuildOptions().copy(withDaemon = false) project.build("assemble", options = options) { 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 2a955b54cf7..89b302c88b3 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 @@ -32,7 +32,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testCrossCompile() { - val project = Project("kotlinJavaProject", NoSpecificGradleVersion) + val project = Project("kotlinJavaProject") project.build("compileDeployKotlin", "build") { assertSuccessful() @@ -51,7 +51,7 @@ class KotlinGradleIT: BaseGradleIT() { val wd0 = workingDir val wd1 = File(wd0, "subdir").apply { mkdirs() } workingDir = wd1 - val project1 = Project("kotlinJavaProject", NoSpecificGradleVersion) + val project1 = Project("kotlinJavaProject") project1.build("assemble") { assertSuccessful() @@ -71,7 +71,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testKotlinOnlyCompile() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") project.build("build") { assertSuccessful() @@ -92,7 +92,7 @@ class KotlinGradleIT: BaseGradleIT() { // In order to stop daemon process, special exit task is used ( System.exit(0) ). @Test fun testKotlinOnlyDaemonMemory() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") val VARIANT_CONSTANT = "ForTest" val userVariantArg = "-Duser.variant=$VARIANT_CONSTANT" val MEMORY_MAX_GROWTH_LIMIT_KB = 500 @@ -146,12 +146,12 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testLogLevelForceGC() { - val debugProject = Project("simpleProject", NoSpecificGradleVersion, minLogLevel = LogLevel.LIFECYCLE) + val debugProject = Project("simpleProject", minLogLevel = LogLevel.LIFECYCLE) debugProject.build("build", "-Dkotlin.gradle.test.report.memory.usage=true") { assertContains("Forcing System.gc()") } - val infoProject = Project("simpleProject", NoSpecificGradleVersion, minLogLevel = LogLevel.QUIET) + val infoProject = Project("simpleProject", minLogLevel = LogLevel.QUIET) infoProject.build("clean", "build", "-Dkotlin.gradle.test.report.memory.usage=true") { assertNotContains("Forcing System.gc()") } @@ -159,7 +159,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testKotlinClasspath() { - Project("classpathTest", NoSpecificGradleVersion).build("build") { + Project("classpathTest").build("build") { assertSuccessful() assertReportExists() assertContains(":compileKotlin", ":compileTestKotlin") @@ -168,7 +168,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testMultiprojectPluginClasspath() { - Project("multiprojectClassPathTest", NoSpecificGradleVersion).build("build") { + Project("multiprojectClassPathTest").build("build") { assertSuccessful() assertReportExists("subproject") assertContains(":subproject:compileKotlin", ":subproject:compileTestKotlin") @@ -178,7 +178,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testIncremental() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") val options = defaultBuildOptions().copy(incremental = true) project.build("build", options = options) { @@ -209,7 +209,7 @@ class KotlinGradleIT: BaseGradleIT() { val incremental = defaultBuildOptions().copy(incremental = true) - Project("multiprojectWithDependency", NoSpecificGradleVersion).build("assemble", options = incremental) { + Project("multiprojectWithDependency").build("assemble", options = incremental) { assertSuccessful() assertReportExists("projA") assertContains(":projA:compileKotlin") @@ -218,7 +218,7 @@ class KotlinGradleIT: BaseGradleIT() { assertContains(":projB:compileKotlin") assertNotContains("projB:compileKotlin UP-TO-DATE") } - Project("multiprojectWithDependency", NoSpecificGradleVersion).modify { + Project("multiprojectWithDependency").modify { val oldSrc = File(this.projectDir, "projA/src/main/kotlin/a.kt") val newSrc = File(this.projectDir, "projA/src/main/kotlin/a.kt.new") assertTrue { oldSrc.exists() } @@ -237,7 +237,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testKotlinInJavaRoot() { - Project("kotlinInJavaRoot", NoSpecificGradleVersion).build("build") { + Project("kotlinInJavaRoot").build("build") { assertSuccessful() assertReportExists() assertContains(":compileKotlin", ":compileTestKotlin") @@ -246,7 +246,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testIncrementalPropertyFromLocalPropertiesFile() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") project.setupWorkingDir() val localPropertyFile = File(project.projectDir, "local.properties") @@ -259,12 +259,12 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testIncrementalCompilationLogLevel() { - val infoProject = Project("kotlinProject", NoSpecificGradleVersion, minLogLevel = LogLevel.INFO) + val infoProject = Project("kotlinProject", minLogLevel = LogLevel.INFO) infoProject.build("build") { assertContains(USING_INCREMENTAL_COMPILATION_MESSAGE) } - val lifecycleProject = Project("kotlinProject", NoSpecificGradleVersion, minLogLevel = LogLevel.LIFECYCLE) + val lifecycleProject = Project("kotlinProject", minLogLevel = LogLevel.LIFECYCLE) lifecycleProject.build("build") { assertNotContains(USING_INCREMENTAL_COMPILATION_MESSAGE) } @@ -272,7 +272,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testConvertJavaToKotlin() { - val project = Project("convertBetweenJavaAndKotlin", NoSpecificGradleVersion) + val project = Project("convertBetweenJavaAndKotlin") project.setupWorkingDir() val barKt = project.projectDir.getFileByName("Bar.kt") @@ -299,7 +299,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testWipeClassesDirectoryBetweenBuilds() { - val project = Project("kotlinJavaProject", SpecificGradleVersion("3.5")) + val project = Project("kotlinJavaProject", GradleVersionRequired.Exact("3.5")) project.build("build") { assertSuccessful() @@ -317,7 +317,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testMoveClassToOtherModule() { - val project = Project("moveClassToOtherModule", NoSpecificGradleVersion) + val project = Project("moveClassToOtherModule") project.build("build") { assertSuccessful() @@ -333,7 +333,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testTypeAliasIncremental() { - val project = Project("typeAlias", NoSpecificGradleVersion) + val project = Project("typeAlias") val options = defaultBuildOptions().copy(incremental = true) project.build("build", options = options) { @@ -355,7 +355,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testKotlinBuiltins() { - val project = Project("kotlinBuiltins", GradleVersionAtLeast("4.0")) + val project = Project("kotlinBuiltins", GradleVersionRequired.AtLeast("4.0")) project.build("build") { assertSuccessful() @@ -364,7 +364,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testCustomCompilerFile() { - val project = Project("customCompilerFile", NoSpecificGradleVersion) + val project = Project("customCompilerFile") project.setupWorkingDir() // copy compiler embeddable to project dir using custom name @@ -381,7 +381,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testFreeCompilerArgs() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") project.setupWorkingDir() val customModuleName = "custom_module_name" @@ -401,7 +401,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testChangeDestinationDir() { - val project = Project("kotlinProject", SpecificGradleVersion("3.5")) + val project = Project("kotlinProject", GradleVersionRequired.Exact("3.5")) project.setupWorkingDir() val fileToRemove = File(project.projectDir, "src/main/kotlin/removeMe.kt") @@ -437,7 +437,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testDowngradeTo106() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") val options = defaultBuildOptions().copy(incremental = true, withDaemon = false) project.build("assemble", options = options) { @@ -451,7 +451,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testOmittedStdlibVersion() { - val project = Project("kotlinProject", GradleVersionAtLeast("4.4")) + val project = Project("kotlinProject", GradleVersionRequired.AtLeast("4.4")) project.setupWorkingDir() File(project.projectDir, "build.gradle").modify { it.replace("kotlin-stdlib:\$kotlin_version", "kotlin-stdlib").apply { check(!equals(it)) } + "\n" + """ @@ -472,7 +472,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testCleanAfterIncrementalBuild() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") val options = defaultBuildOptions().copy(incremental = true) project.build("build", "clean", options = options) { @@ -482,7 +482,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testIncrementalTestCompile() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") val options = defaultBuildOptions().copy(incremental = true) project.build("build", options = options) { @@ -503,7 +503,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testLanguageVersionApiVersionExplicit() { - val project = Project("kotlinProject", NoSpecificGradleVersion) + val project = Project("kotlinProject") project.setupWorkingDir() val buildGradle = File(project.projectDir, "build.gradle") @@ -552,7 +552,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testSeparateOutputGradle40() { - val project = Project("kotlinJavaProject", GradleVersionAtLeast("4.0")) + val project = Project("kotlinJavaProject", GradleVersionRequired.AtLeast("4.0")) project.build("compileDeployKotlin", "assemble") { assertSuccessful() @@ -575,7 +575,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testArchiveBaseNameForModuleName() { - val project = Project("simpleProject", NoSpecificGradleVersion) + val project = Project("simpleProject") project.setupWorkingDir() val archivesBaseName = "myArchivesBaseName" @@ -599,7 +599,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testJavaPackagePrefix() { - val project = Project("javaPackagePrefix", NoSpecificGradleVersion) + val project = Project("javaPackagePrefix") project.build("build") { assertSuccessful() @@ -643,7 +643,7 @@ class KotlinGradleIT: BaseGradleIT() { assertNotContains(CopyClassesToJavaOutputStatus.gradleVersionTooLowWarningMessage) } - Project("simpleProject", SpecificGradleVersion("4.0")).apply { + Project("simpleProject", GradleVersionRequired.Exact("4.0")).apply { build("build") { check(copyClassesToJavaOutput = false, expectBuildCacheWarning = false, @@ -655,7 +655,7 @@ class KotlinGradleIT: BaseGradleIT() { expectBuildCacheWarning = false, expectGradleLowVersionWarning = false) } - build("clean", "build", "--build-cache") { + build("clean", "build", options = defaultBuildOptions().copy(withBuildCache = true)) { check(copyClassesToJavaOutput = true, expectBuildCacheWarning = true, expectGradleLowVersionWarning = false) @@ -663,7 +663,7 @@ class KotlinGradleIT: BaseGradleIT() { projectDir.deleteRecursively() } - Project("simpleProject", SpecificGradleVersion("3.4")).apply { + Project("simpleProject", GradleVersionRequired.Exact("3.4")).apply { setupWorkingDir() File(projectDir, "build.gradle").appendText("\nkotlin.copyClassesToJavaOutput = true") build("build") { @@ -676,7 +676,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testSrcDirTaskDependency() { - Project("simpleProject", GradleVersionAtLeast("4.1")).apply { + Project("simpleProject", GradleVersionRequired.AtLeast("4.1")).apply { setupWorkingDir() File(projectDir, "build.gradle").appendText("""${'\n'} task generateSources { @@ -705,7 +705,7 @@ class KotlinGradleIT: BaseGradleIT() { @Test fun testSourceJar() { - Project("simpleProject", NoSpecificGradleVersion).apply { + Project("simpleProject").apply { setupWorkingDir() val additionalSrcDir = "src/additional/kotlin/" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt index 23eb7c6aea0..e72d22c969a 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/MultiplatformGradleIT.kt @@ -19,20 +19,16 @@ package org.jetbrains.kotlin.gradle import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_DEPRECATION_WARNING -import org.jetbrains.kotlin.gradle.util.allKotlinFiles import org.jetbrains.kotlin.gradle.util.getFileByName import org.jetbrains.kotlin.gradle.util.modify import org.junit.Test import java.io.File class MultiplatformGradleIT : BaseGradleIT() { - companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion - } @Test fun testMultiplatformCompile() { - val project = Project("multiplatformProject", GradleVersionAtLeast("4.0")) + val project = Project("multiplatformProject", GradleVersionRequired.AtLeast("4.0")) project.build("build") { assertSuccessful() @@ -53,7 +49,7 @@ class MultiplatformGradleIT : BaseGradleIT() { @Test fun testDeprecatedImplementWarning() { - val project = Project("multiplatformProject", GRADLE_VERSION) + val project = Project("multiplatformProject") project.build("build") { assertSuccessful() @@ -72,7 +68,7 @@ class MultiplatformGradleIT : BaseGradleIT() { @Test fun testCommonKotlinOptions() { - with(Project("multiplatformProject", GRADLE_VERSION)) { + with(Project("multiplatformProject")) { setupWorkingDir() File(projectDir, "lib/build.gradle").appendText( @@ -89,7 +85,7 @@ class MultiplatformGradleIT : BaseGradleIT() { @Test fun testSubprojectWithAnotherClassLoader() { - with(Project("multiplatformProject", GradleVersionAtLeast("4.0"))) { + with(Project("multiplatformProject", GradleVersionRequired.AtLeast("4.0"))) { setupWorkingDir() // Make sure there is a plugin applied with the plugins DSL, so that Gradle loads the @@ -126,7 +122,7 @@ class MultiplatformGradleIT : BaseGradleIT() { // todo: also make incremental compilation test @Test - fun testIncrementalBuild(): Unit = Project("multiplatformProject", GRADLE_VERSION).run { + fun testIncrementalBuild(): Unit = Project("multiplatformProject").run { val compileCommonTask = ":lib:compileKotlinCommon" val compileJsTask = ":libJs:compileKotlin2Js" val compileJvmTask = ":libJvm:compileKotlin" diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt index 39ada82f138..e9530f75c19 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/PluginsDslIT.kt @@ -50,7 +50,7 @@ class PluginsDslIT : BaseGradleIT() { } companion object { - private val GRADLE_VERSION = GradleVersionAtLeast("4.0") + private val GRADLE_VERSION = GradleVersionRequired.AtLeast("4.0") private const val DIRECTORY_PREFIX = "pluginsDsl" private const val MAVEN_LOCAL_URL_PLACEHOLDER = "" @@ -61,10 +61,10 @@ class PluginsDslIT : BaseGradleIT() { } private fun projectWithMavenLocalPlugins( - projectName: String, - wrapperVersion: GradleVersionRequirement = GRADLE_VERSION, - directoryPrefix: String? = DIRECTORY_PREFIX, - minLogLevel: LogLevel = LogLevel.DEBUG + projectName: String, + wrapperVersion: GradleVersionRequired = GRADLE_VERSION, + directoryPrefix: String? = DIRECTORY_PREFIX, + minLogLevel: LogLevel = LogLevel.DEBUG ): Project { val result = Project(projectName, wrapperVersion, directoryPrefix, minLogLevel) 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 9a319dc34a9..1dc6e42830c 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 @@ -8,13 +8,9 @@ import kotlin.test.assertTrue class SimpleKotlinGradleIT : BaseGradleIT() { - companion object { - private val GRADLE_VERSION = NoSpecificGradleVersion - } - @Test fun testSimpleCompile() { - val project = Project("simpleProject", GRADLE_VERSION) + val project = Project("simpleProject") project.build("compileDeployKotlin", "build") { assertSuccessful() @@ -34,7 +30,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testSuppressWarnings() { - val project = Project("suppressWarnings", GRADLE_VERSION) + val project = Project("suppressWarnings") project.build("build") { assertSuccessful() @@ -45,28 +41,28 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testKotlinCustomDirectory() { - Project("customSrcDir", GRADLE_VERSION).build("build") { + Project("customSrcDir").build("build") { assertSuccessful() } } @Test fun testKotlinExtraJavaSrc() { - Project("additionalJavaSrc", GRADLE_VERSION).build("build") { + Project("additionalJavaSrc").build("build") { assertSuccessful() } } @Test fun testLanguageVersion() { - Project("languageVersion", GRADLE_VERSION).build("build") { + Project("languageVersion").build("build") { assertFailed() assertContains("This type is sealed") } } @Test fun testJvmTarget() { - Project("jvmTarget", GRADLE_VERSION).build("build") { + Project("jvmTarget").build("build") { assertFailed() assertContains("Unknown JVM target version: 1.7") } @@ -74,7 +70,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testCustomJdk() { - Project("customJdk", GRADLE_VERSION).build("build") { + Project("customJdk").build("build") { assertFailed() assertContains("Unresolved reference: stream") assertNotContains("AutoCloseable") @@ -83,7 +79,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testGradleSubplugin() { - val project = Project("kotlinGradleSubplugin", GRADLE_VERSION) + val project = Project("kotlinGradleSubplugin") project.build("compileKotlin", "build") { assertSuccessful() @@ -102,7 +98,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testDestinationDirReferencedDuringEvaluation() { - Project("destinationDirReferencedDuringEvaluation", GRADLE_VERSION).build("build") { + Project("destinationDirReferencedDuringEvaluation").build("build") { assertSuccessful() assertContains("GreeterTest PASSED") } @@ -110,7 +106,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testAllOpenPlugin() { - Project("allOpenSimple", GRADLE_VERSION).build("build") { + Project("allOpenSimple").build("build") { assertSuccessful() val classesDir = File(project.projectDir, kotlinClassesDir()) @@ -131,7 +127,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testKotlinSpringPlugin() { - Project("allOpenSpring", GRADLE_VERSION).build("build") { + Project("allOpenSpring").build("build") { assertSuccessful() val classesDir = File(project.projectDir, kotlinClassesDir()) @@ -152,7 +148,7 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testKotlinJpaPlugin() { - Project("noArgJpa", GRADLE_VERSION).build("build") { + Project("noArgJpa").build("build") { assertSuccessful() val classesDir = File(project.projectDir, kotlinClassesDir()) @@ -170,21 +166,21 @@ class SimpleKotlinGradleIT : BaseGradleIT() { @Test fun testNoArgKt18668() { - Project("noArgKt18668", GRADLE_VERSION).build("build") { + Project("noArgKt18668").build("build") { assertSuccessful() } } @Test fun testSamWithReceiverSimple() { - Project("samWithReceiverSimple", GRADLE_VERSION).build("build") { + Project("samWithReceiverSimple").build("build") { assertSuccessful() } } @Test fun testBuildDirLazyEvaluation() { - val project = Project("kotlinProject", GRADLE_VERSION) + val project = Project("kotlinProject") project.setupWorkingDir() // Change the build directory in the end of the build script: diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt index 4c10fa345e4..5ad02cb4fde 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/TestRootAffectedIT.kt @@ -7,7 +7,7 @@ import org.junit.Test class TestRootAffectedIT : BaseGradleIT() { @Test fun testSourceRootClassIsModifiedIC() { - val project = Project("kotlinProject", GradleVersionAtLeast("4.1")) + val project = Project("kotlinProject", GradleVersionRequired.AtLeast("4.1")) val buildOptions = defaultBuildOptions().copy(incremental = true) project.build("build", options = buildOptions) { @@ -37,7 +37,7 @@ class TestRootAffectedIT : BaseGradleIT() { @Test fun testSourceRootClassIsRemovedIC() { // todo: update Gradle after https://github.com/gradle/gradle/issues/3051 is resolved - val project = Project("kotlinProject", SpecificGradleVersion("3.0")) + val project = Project("kotlinProject", GradleVersionRequired.Exact("3.0")) val buildOptions = defaultBuildOptions().copy(incremental = true) project.build("build", options = buildOptions) { @@ -55,7 +55,7 @@ class TestRootAffectedIT : BaseGradleIT() { @Test fun testTestRootClassIsRemovedIC() { - val project = Project("kotlinProject", GradleVersionAtLeast("4.1")) + val project = Project("kotlinProject", GradleVersionRequired.AtLeast("4.1")) val buildOptions = defaultBuildOptions().copy(incremental = true) project.build("build", options = buildOptions) { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt index 30d725b813a..e5b13c7371b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/UpToDatenessIT.kt @@ -1,5 +1,6 @@ package org.jetbrains.kotlin.gradle +import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.util.modify import org.junit.Assert import org.junit.Assume @@ -32,7 +33,7 @@ class UpToDateIT : BaseGradleIT() { } private fun testMutations(vararg mutations: ProjectMutation) { - val project = Project("simpleProject", GradleVersionAtLeast("4.0")) + val project = Project("simpleProject") project.setupWorkingDir() mutations.forEach { it.initProject(project) @@ -119,7 +120,13 @@ class UpToDateIT : BaseGradleIT() { lateinit var helloWorldKtClass: File override fun mutateProject(project: Project) = with(project) { - helloWorldKtClass = File(projectDir, project.classesDir() + "demo/KotlinGreetingJoiner.class") + val kotlinOutputPath = + if (GradleVersion.version(project.chooseWrapperVersionOrFinishTest()) >= GradleVersion.version("4.0")) + project.classesDir() else + // Before 4.0, we should delete the classes from the temporary dir to make compileKotlin rerun: + "build/kotlin-classes/main/" + + helloWorldKtClass = File(projectDir, kotlinOutputPath + "demo/KotlinGreetingJoiner.class") Assume.assumeTrue(helloWorldKtClass.exists()) helloWorldKtClass.delete(); Unit } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/jps/BaseIncrementalGradleIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/jps/BaseIncrementalGradleIT.kt index c15f808afb0..076226922a9 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/jps/BaseIncrementalGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/jps/BaseIncrementalGradleIT.kt @@ -2,7 +2,7 @@ package org.jetbrains.kotlin.jps import org.gradle.api.logging.LogLevel import org.jetbrains.kotlin.gradle.BaseGradleIT -import org.jetbrains.kotlin.gradle.SpecificGradleVersion +import org.jetbrains.kotlin.gradle.GradleVersionRequired import org.jetbrains.kotlin.incremental.BuildStep import org.jetbrains.kotlin.incremental.parseTestBuildLog import org.jetbrains.kotlin.incremental.testingUtils.* @@ -16,9 +16,8 @@ abstract class BaseIncrementalGradleIT : BaseGradleIT() { val buildLogFinder: BuildLogFinder, val resourcesBase: File, val relPath: String, - wrapperVersion: String = "2.10", minLogLevel: LogLevel = LogLevel.DEBUG - ) : Project(File(relPath).name, SpecificGradleVersion(wrapperVersion), null, minLogLevel) { + ) : Project(File(relPath).name, GradleVersionRequired.Exact("2.10"), null, minLogLevel) { override val resourcesRoot = File(resourcesBase, relPath) val mapWorkingToOriginalFile = hashMapOf()