Change existing literal Gradle versions to GradleVersionRequirement
Also add workaround for kotlin-test-common not seen in the IDE
This commit is contained in:
@@ -28,6 +28,10 @@ dependencies {
|
||||
testCompile gradleApi()
|
||||
|
||||
testRuntime project(path: ':kotlin-android-extensions', configuration: 'runtimeJar')
|
||||
|
||||
// Workaround for missing transitive import of the common project `kotlin-test-common`
|
||||
// for `kotlin-test-jvm` into the IDE:
|
||||
testCompileOnly(project(':kotlin-test:kotlin-test-common')) { transitive = false }
|
||||
}
|
||||
|
||||
// Include Gradle task properties validation into the testing procedure:
|
||||
@@ -113,3 +117,10 @@ tasks.withType(Test) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
task testAdvanceGradleVersion(type: Test) {
|
||||
systemProperty("advanceGradleVersion", "4.3-rc-1")
|
||||
dependsOn = test.dependsOn
|
||||
}
|
||||
|
||||
check.dependsOn(testAdvanceGradleVersion)
|
||||
+5
-6
@@ -10,10 +10,10 @@ import org.junit.Test
|
||||
import java.io.File
|
||||
|
||||
|
||||
class KotlinAndroidGradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = "3.4", androidGradlePluginVersion = "2.3.0")
|
||||
class KotlinAndroidWithJackGradleIT : AbstractKotlinAndroidWithJackGradleTests(gradleVersion = "3.4", androidGradlePluginVersion = "2.3.+")
|
||||
class KotlinAndroidGradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionAtLeast("3.4"), androidGradlePluginVersion = "2.3.0")
|
||||
class KotlinAndroidWithJackGradleIT : AbstractKotlinAndroidWithJackGradleTests(androidGradlePluginVersion = "2.3.+")
|
||||
|
||||
class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = "4.1-rc-1", androidGradlePluginVersion = "3.0.0-beta1") {
|
||||
class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion = GradleVersionAtLeast("4.1"), androidGradlePluginVersion = "3.0.0-beta1") {
|
||||
|
||||
@Test
|
||||
fun testApplyWithFeaturePlugin() {
|
||||
@@ -43,7 +43,7 @@ class KotlinAndroid30GradleIT : AbstractKotlinAndroidGradleTests(gradleVersion =
|
||||
}
|
||||
|
||||
abstract class AbstractKotlinAndroidGradleTests(
|
||||
protected val gradleVersion: String,
|
||||
protected val gradleVersion: GradleVersionRequirement,
|
||||
private val androidGradlePluginVersion: String
|
||||
) : BaseGradleIT() {
|
||||
|
||||
@@ -293,7 +293,6 @@ fun getSomething() = 10
|
||||
|
||||
|
||||
abstract class AbstractKotlinAndroidWithJackGradleTests(
|
||||
private val gradleVersion: String,
|
||||
private val androidGradlePluginVersion: String
|
||||
) : BaseGradleIT() {
|
||||
|
||||
@@ -305,7 +304,7 @@ abstract class AbstractKotlinAndroidWithJackGradleTests(
|
||||
|
||||
@Test
|
||||
fun testSimpleCompile() {
|
||||
val project = Project("AndroidJackProject", gradleVersion)
|
||||
val project = Project("AndroidJackProject", SpecificGradleVersion("3.4"))
|
||||
|
||||
project.build("assemble") {
|
||||
assertFailed()
|
||||
|
||||
+5
-1
@@ -1,6 +1,8 @@
|
||||
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.*
|
||||
import org.junit.After
|
||||
import org.junit.AfterClass
|
||||
@@ -167,7 +169,7 @@ abstract class BaseGradleIT {
|
||||
|
||||
open inner class Project(
|
||||
val projectName: String,
|
||||
val wrapperVersion: String,
|
||||
val gradleVersionRequirement: GradleVersionRequirement,
|
||||
directoryPrefix: String? = null,
|
||||
val minLogLevel: LogLevel = LogLevel.DEBUG
|
||||
) {
|
||||
@@ -228,6 +230,8 @@ abstract class BaseGradleIT {
|
||||
}
|
||||
|
||||
fun Project.build(vararg params: String, options: BuildOptions = defaultBuildOptions(), check: CompiledProject.() -> Unit) {
|
||||
val wrapperVersion = chooseWrapperVersionOrFinishTest()
|
||||
|
||||
val env = createEnvironmentVariablesMap(options)
|
||||
val wrapperDir = prepareWrapper(wrapperVersion, env)
|
||||
val cmd = createBuildCommand(wrapperDir, params, options)
|
||||
|
||||
+3
-1
@@ -7,7 +7,9 @@ import org.junit.runners.Parameterized.Parameters
|
||||
|
||||
@RunWith(Parameterized::class)
|
||||
abstract class BaseMultiGradleVersionIT : BaseGradleIT() {
|
||||
@Parameter lateinit var gradleVersion: String
|
||||
@Parameter lateinit var gradleVersionString: String
|
||||
|
||||
protected val gradleVersion get() = SpecificGradleVersion(gradleVersionString)
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ class ClassFileIsRemovedIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
fun doTest(buildOptions: BuildOptions, transformDummy: (File)->Unit) {
|
||||
val project = Project("kotlinInJavaRoot", "2.10")
|
||||
val project = Project("kotlinInJavaRoot", NoSpecificGradleVersion)
|
||||
project.build("build", options = buildOptions) {
|
||||
assertSuccessful()
|
||||
}
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ import java.io.File
|
||||
|
||||
class CoroutinesIT: BaseGradleIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.14.1"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
private const val LOCAL_PROPERTIES = "local.properties"
|
||||
private const val GRADLE_PROPERTIES = "gradle.properties"
|
||||
}
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ class ExecutionStrategyJsIT : ExecutionStrategyIT() {
|
||||
|
||||
open class ExecutionStrategyIT : BaseGradleIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.10"
|
||||
private val GRADLE_VERSION = GradleVersionAtLeast("4.0")
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -69,6 +69,6 @@ open class ExecutionStrategyIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
protected open fun CompiledProject.checkOutput() {
|
||||
assertFileExists("app/build/classes/main/foo/MainKt.class")
|
||||
assertFileExists("app/build/classes/kotlin/main/foo/MainKt.class")
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -10,7 +10,7 @@ import java.io.File
|
||||
|
||||
class IncrementalCompilationMultiProjectIT : BaseGradleIT() {
|
||||
companion object {
|
||||
private val GRADLE_VERSION = "2.10"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
private val ANDROID_GRADLE_PLUGIN_VERSION = "1.5.+"
|
||||
}
|
||||
|
||||
@@ -178,7 +178,7 @@ open class A {
|
||||
|
||||
@Test
|
||||
fun testAndroid() {
|
||||
val project = Project("AndroidProject", GRADLE_VERSION)
|
||||
val project = Project("AndroidProject", SpecificGradleVersion("2.10"))
|
||||
val options = androidBuildOptions()
|
||||
|
||||
project.build("assembleDebug", options = options) {
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ class Kapt3Android30IT : Kapt3AndroidIT() {
|
||||
|
||||
open class Kapt3AndroidIT : Kapt3BaseIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "4.1-rc-1"
|
||||
private val GRADLE_VERSION = GradleVersionAtLeast("4.1")
|
||||
}
|
||||
|
||||
protected open val androidGradlePluginVersion: String
|
||||
|
||||
+2
-2
@@ -36,7 +36,7 @@ abstract class Kapt3BaseIT : BaseGradleIT() {
|
||||
|
||||
open class Kapt3IT : Kapt3BaseIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "3.3"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -244,7 +244,7 @@ open class Kapt3IT : Kapt3BaseIT() {
|
||||
|
||||
@Test
|
||||
fun testKaptClassesDirSync() {
|
||||
val project = Project("autoService", GRADLE_VERSION, directoryPrefix = "kapt2")
|
||||
val project = Project("autoService", SpecificGradleVersion("3.5"), directoryPrefix = "kapt2")
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@ import java.io.File
|
||||
class KaptIT: BaseGradleIT() {
|
||||
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.14.1"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -112,7 +112,7 @@ class KaptIT: BaseGradleIT() {
|
||||
|
||||
private fun doTestIncrementalBuild(projectName: String, compileTasks: Array<String>) {
|
||||
val compileTasksUpToDate = compileTasks.map { it + " UP-TO-DATE" }.toTypedArray()
|
||||
val project = Project(projectName, "2.10")
|
||||
val project = Project(projectName, NoSpecificGradleVersion)
|
||||
project.allowOriginalKapt()
|
||||
|
||||
project.build("build") {
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ abstract class KaptIncrementalBaseIT(val shouldUseStubs: Boolean, val useKapt3:
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.10"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
private val EXAMPLE_ANNOTATION_REGEX = "@(field:)?example.ExampleAnnotation".toRegex()
|
||||
private const val GENERATE_STUBS_PLACEHOLDER = "GENERATE_STUBS_PLACEHOLDER"
|
||||
|
||||
|
||||
+17
-19
@@ -13,7 +13,7 @@ import kotlin.test.assertTrue
|
||||
class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
@Test
|
||||
fun testBuildAndClean() {
|
||||
val project = Project("kotlin2JsProject", "2.10")
|
||||
val project = Project("kotlin2JsProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -34,10 +34,8 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
assertContains(
|
||||
":mainProject:compileKotlin2Js UP-TO-DATE",
|
||||
":libraryProject:compileTestKotlin2Js UP-TO-DATE"
|
||||
)
|
||||
assertContains(":mainProject:compileKotlin2Js UP-TO-DATE")
|
||||
assertContainsRegex(":libraryProject:compileTestKotlin2Js (UP-TO-DATE|NO-SOURCE)".toRegex())
|
||||
}
|
||||
|
||||
project.build("clean") {
|
||||
@@ -60,7 +58,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testJarIncludesJsDefaultOutput() {
|
||||
val project = Project("kotlin2JsNoOutputFileProject", "2.10")
|
||||
val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("jar") {
|
||||
assertSuccessful()
|
||||
@@ -76,7 +74,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testJarIncludesJsOutputSetExplicitly() {
|
||||
val project = Project("kotlin2JsModuleKind", "2.10")
|
||||
val project = Project("kotlin2JsModuleKind", NoSpecificGradleVersion)
|
||||
|
||||
project.build(":jar") {
|
||||
assertSuccessful()
|
||||
@@ -92,7 +90,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testModuleKind() {
|
||||
val project = Project("kotlin2JsModuleKind", "2.10")
|
||||
val project = Project("kotlin2JsModuleKind", NoSpecificGradleVersion)
|
||||
|
||||
project.build("runRhino") {
|
||||
assertSuccessful()
|
||||
@@ -101,7 +99,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testDefaultOutputFile() {
|
||||
val project = Project("kotlin2JsNoOutputFileProject", "2.10")
|
||||
val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -112,7 +110,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCompileTestCouldAccessProduction() {
|
||||
val project = Project("kotlin2JsProjectWithTests", "2.10")
|
||||
val project = Project("kotlin2JsProjectWithTests", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -129,7 +127,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCompilerTestAccessInternalProduction() {
|
||||
val project = Project("kotlin2JsInternalTest", "2.10")
|
||||
val project = Project("kotlin2JsInternalTest", SpecificGradleVersion("3.5"))
|
||||
|
||||
project.build("runRhino") {
|
||||
assertSuccessful()
|
||||
@@ -138,7 +136,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testJsCustomSourceSet() {
|
||||
val project = Project("kotlin2JsProjectWithCustomSourceset", "2.10")
|
||||
val project = Project("kotlin2JsProjectWithCustomSourceset", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -161,7 +159,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinJsBuiltins() {
|
||||
val project = Project("kotlinBuiltins", "4.0")
|
||||
val project = Project("kotlinBuiltins", GradleVersionAtLeast("4.0"))
|
||||
|
||||
project.setupWorkingDir()
|
||||
val buildGradle = File(project.projectDir, "app").getFileByName("build.gradle")
|
||||
@@ -176,7 +174,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinJsSourceMap() {
|
||||
val project = Project("kotlin2JsNoOutputFileProject", "2.10")
|
||||
val project = Project("kotlin2JsNoOutputFileProject", NoSpecificGradleVersion)
|
||||
|
||||
project.setupWorkingDir()
|
||||
|
||||
@@ -201,12 +199,12 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinJsSourceMapInline() {
|
||||
val project = Project("kotlin2JsProjectWithSourceMapInline", "2.10")
|
||||
val project = Project("kotlin2JsProjectWithSourceMapInline", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
|
||||
val mapFilePath = "app/build/classes/main/app.js.map"
|
||||
val mapFilePath = kotlinClassesDir(subproject = "app") + "app.js.map"
|
||||
assertFileExists(mapFilePath)
|
||||
val map = fileInWorkingDir(mapFilePath).readText()
|
||||
|
||||
@@ -219,7 +217,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testDce() {
|
||||
val project = Project("kotlin2JsDceProject", "2.10", minLogLevel = LogLevel.INFO)
|
||||
val project = Project("kotlin2JsDceProject", NoSpecificGradleVersion, minLogLevel = LogLevel.INFO)
|
||||
|
||||
project.build("runRhino") {
|
||||
assertSuccessful()
|
||||
@@ -303,7 +301,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
/** Issue: KT-18495 */
|
||||
@Test
|
||||
fun testNoSeparateClassesDirWarning() {
|
||||
val project = Project("kotlin2JsProject", "4.0")
|
||||
val project = Project("kotlin2JsProject", GradleVersionAtLeast("4.0"))
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
assertNotContains("this build assumes a single directory for all classes from a source set")
|
||||
@@ -311,7 +309,7 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testIncrementalCompilation() = Project("kotlin2JsICProject", "4.0").run {
|
||||
fun testIncrementalCompilation() = Project("kotlin2JsICProject", GradleVersionAtLeast("4.0")).run {
|
||||
build("build") {
|
||||
assertSuccessful()
|
||||
assertContains(USING_EXPERIMENTAL_JS_INCREMENTAL_COMPILATION_MESSAGE)
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ import java.io.File
|
||||
// todo: test daemon shutdown when gradle daemon dies
|
||||
class KotlinDaemonIT : BaseGradleIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.10"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+35
-39
@@ -30,13 +30,9 @@ import kotlin.test.assertTrue
|
||||
|
||||
class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.10"
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testCrossCompile() {
|
||||
val project = Project("kotlinJavaProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinJavaProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("compileDeployKotlin", "build") {
|
||||
assertSuccessful()
|
||||
@@ -55,7 +51,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
val wd0 = workingDir
|
||||
val wd1 = File(wd0, "subdir").apply { mkdirs() }
|
||||
workingDir = wd1
|
||||
val project1 = Project("kotlinJavaProject", "3.3")
|
||||
val project1 = Project("kotlinJavaProject", NoSpecificGradleVersion)
|
||||
|
||||
project1.build("assemble") {
|
||||
assertSuccessful()
|
||||
@@ -75,7 +71,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinOnlyCompile() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -96,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", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
val VARIANT_CONSTANT = "ForTest"
|
||||
val userVariantArg = "-Duser.variant=$VARIANT_CONSTANT"
|
||||
val MEMORY_MAX_GROWTH_LIMIT_KB = 500
|
||||
@@ -150,12 +146,12 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testLogLevelForceGC() {
|
||||
val debugProject = Project("simpleProject", GRADLE_VERSION, minLogLevel = LogLevel.LIFECYCLE)
|
||||
val debugProject = Project("simpleProject", NoSpecificGradleVersion, minLogLevel = LogLevel.LIFECYCLE)
|
||||
debugProject.build("build", "-Dkotlin.gradle.test.report.memory.usage=true") {
|
||||
assertContains("Forcing System.gc()")
|
||||
}
|
||||
|
||||
val infoProject = Project("simpleProject", GRADLE_VERSION, minLogLevel = LogLevel.QUIET)
|
||||
val infoProject = Project("simpleProject", NoSpecificGradleVersion, minLogLevel = LogLevel.QUIET)
|
||||
infoProject.build("clean", "build", "-Dkotlin.gradle.test.report.memory.usage=true") {
|
||||
assertNotContains("Forcing System.gc()")
|
||||
}
|
||||
@@ -163,7 +159,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinClasspath() {
|
||||
Project("classpathTest", GRADLE_VERSION).build("build") {
|
||||
Project("classpathTest", NoSpecificGradleVersion).build("build") {
|
||||
assertSuccessful()
|
||||
assertReportExists()
|
||||
assertContains(":compileKotlin", ":compileTestKotlin")
|
||||
@@ -172,7 +168,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testMultiprojectPluginClasspath() {
|
||||
Project("multiprojectClassPathTest", GRADLE_VERSION).build("build") {
|
||||
Project("multiprojectClassPathTest", NoSpecificGradleVersion).build("build") {
|
||||
assertSuccessful()
|
||||
assertReportExists("subproject")
|
||||
assertContains(":subproject:compileKotlin", ":subproject:compileTestKotlin")
|
||||
@@ -182,7 +178,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testIncremental() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", options = options) {
|
||||
@@ -213,7 +209,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
val incremental = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
Project("multiprojectWithDependency", GRADLE_VERSION).build("assemble", options = incremental) {
|
||||
Project("multiprojectWithDependency", NoSpecificGradleVersion).build("assemble", options = incremental) {
|
||||
assertSuccessful()
|
||||
assertReportExists("projA")
|
||||
assertContains(":projA:compileKotlin")
|
||||
@@ -222,7 +218,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
assertContains(":projB:compileKotlin")
|
||||
assertNotContains("projB:compileKotlin UP-TO-DATE")
|
||||
}
|
||||
Project("multiprojectWithDependency", GRADLE_VERSION).modify {
|
||||
Project("multiprojectWithDependency", NoSpecificGradleVersion).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() }
|
||||
@@ -241,7 +237,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinInJavaRoot() {
|
||||
Project("kotlinInJavaRoot", GRADLE_VERSION).build("build") {
|
||||
Project("kotlinInJavaRoot", NoSpecificGradleVersion).build("build") {
|
||||
assertSuccessful()
|
||||
assertReportExists()
|
||||
assertContains(":compileKotlin", ":compileTestKotlin")
|
||||
@@ -250,7 +246,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testIncrementalPropertyFromLocalPropertiesFile() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
val localPropertyFile = File(project.projectDir, "local.properties")
|
||||
@@ -263,12 +259,12 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testIncrementalCompilationLogLevel() {
|
||||
val infoProject = Project("kotlinProject", GRADLE_VERSION, minLogLevel = LogLevel.INFO)
|
||||
val infoProject = Project("kotlinProject", NoSpecificGradleVersion, minLogLevel = LogLevel.INFO)
|
||||
infoProject.build("build") {
|
||||
assertContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
|
||||
}
|
||||
|
||||
val lifecycleProject = Project("kotlinProject", GRADLE_VERSION, minLogLevel = LogLevel.LIFECYCLE)
|
||||
val lifecycleProject = Project("kotlinProject", NoSpecificGradleVersion, minLogLevel = LogLevel.LIFECYCLE)
|
||||
lifecycleProject.build("build") {
|
||||
assertNotContains(USING_INCREMENTAL_COMPILATION_MESSAGE)
|
||||
}
|
||||
@@ -276,7 +272,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testConvertJavaToKotlin() {
|
||||
val project = Project("convertBetweenJavaAndKotlin", GRADLE_VERSION)
|
||||
val project = Project("convertBetweenJavaAndKotlin", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
val barKt = project.projectDir.getFileByName("Bar.kt")
|
||||
@@ -303,7 +299,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testWipeClassesDirectoryBetweenBuilds() {
|
||||
val project = Project("kotlinJavaProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinJavaProject", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -321,7 +317,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testMoveClassToOtherModule() {
|
||||
val project = Project("moveClassToOtherModule", GRADLE_VERSION)
|
||||
val project = Project("moveClassToOtherModule", NoSpecificGradleVersion)
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -337,7 +333,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testTypeAliasIncremental() {
|
||||
val project = Project("typeAlias", GRADLE_VERSION)
|
||||
val project = Project("typeAlias", NoSpecificGradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", options = options) {
|
||||
@@ -359,7 +355,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testKotlinBuiltins() {
|
||||
val project = Project("kotlinBuiltins", "4.0")
|
||||
val project = Project("kotlinBuiltins", GradleVersionAtLeast("4.0"))
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -368,7 +364,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCustomCompilerFile() {
|
||||
val project = Project("customCompilerFile", GRADLE_VERSION)
|
||||
val project = Project("customCompilerFile", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
// copy compiler embeddable to project dir using custom name
|
||||
@@ -385,7 +381,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testFreeCompilerArgs() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
val customModuleName = "custom_module_name"
|
||||
@@ -405,7 +401,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testChangeDestinationDir() {
|
||||
val project = Project("kotlinProject", "3.3")
|
||||
val project = Project("kotlinProject", SpecificGradleVersion("3.5"))
|
||||
project.setupWorkingDir()
|
||||
|
||||
val fileToRemove = File(project.projectDir, "src/main/kotlin/removeMe.kt")
|
||||
@@ -441,7 +437,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testDowngradeTo106() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true, withDaemon = false)
|
||||
|
||||
project.build("assemble", options = options) {
|
||||
@@ -455,7 +451,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testOmittedStdlibVersion() {
|
||||
val project = Project("kotlinProject", "4.4")
|
||||
val project = Project("kotlinProject", GradleVersionAtLeast("4.4"))
|
||||
project.setupWorkingDir()
|
||||
File(project.projectDir, "build.gradle").modify {
|
||||
it.replace("kotlin-stdlib:\$kotlin_version", "kotlin-stdlib").apply { check(!equals(it)) } + "\n" + """
|
||||
@@ -476,7 +472,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCleanAfterIncrementalBuild() {
|
||||
val project = Project("kotlinProject", "3.3")
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", "clean", options = options) {
|
||||
@@ -486,7 +482,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testIncrementalTestCompile() {
|
||||
val project = Project("kotlinProject", GRADLE_VERSION)
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", options = options) {
|
||||
@@ -507,7 +503,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testLanguageVersionApiVersionExplicit() {
|
||||
val project = Project("kotlinProject", "3.3")
|
||||
val project = Project("kotlinProject", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
val buildGradle = File(project.projectDir, "build.gradle")
|
||||
@@ -556,7 +552,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSeparateOutputGradle40() {
|
||||
val project = Project("kotlinJavaProject", "4.0")
|
||||
val project = Project("kotlinJavaProject", GradleVersionAtLeast("4.0"))
|
||||
project.build("compileDeployKotlin", "assemble") {
|
||||
assertSuccessful()
|
||||
|
||||
@@ -579,7 +575,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testArchiveBaseNameForModuleName() {
|
||||
val project = Project("simpleProject", "4.0")
|
||||
val project = Project("simpleProject", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
|
||||
val archivesBaseName = "myArchivesBaseName"
|
||||
@@ -603,7 +599,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testJavaPackagePrefix() {
|
||||
val project = Project("javaPackagePrefix", "4.0")
|
||||
val project = Project("javaPackagePrefix", NoSpecificGradleVersion)
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
|
||||
@@ -645,7 +641,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
assertNotContains(CopyClassesToJavaOutputStatus.gradleVersionTooLowWarningMessage)
|
||||
}
|
||||
|
||||
Project("simpleProject", "4.0").apply {
|
||||
Project("simpleProject", SpecificGradleVersion("4.0")).apply {
|
||||
build("build") {
|
||||
check(copyClassesToJavaOutput = false,
|
||||
expectBuildCacheWarning = false,
|
||||
@@ -665,7 +661,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
projectDir.deleteRecursively()
|
||||
}
|
||||
|
||||
Project("simpleProject", "3.4").apply {
|
||||
Project("simpleProject", SpecificGradleVersion("3.4")).apply {
|
||||
setupWorkingDir()
|
||||
File(projectDir, "build.gradle").appendText("\nkotlin.copyClassesToJavaOutput = true")
|
||||
build("build") {
|
||||
@@ -678,7 +674,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSrcDirTaskDependency() {
|
||||
Project("simpleProject", "4.1").apply {
|
||||
Project("simpleProject", GradleVersionAtLeast("4.1")).apply {
|
||||
setupWorkingDir()
|
||||
File(projectDir, "build.gradle").appendText("""${'\n'}
|
||||
task generateSources {
|
||||
@@ -707,7 +703,7 @@ class KotlinGradleIT: BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSourceJar() {
|
||||
Project("simpleProject", "4.1").apply {
|
||||
Project("simpleProject", NoSpecificGradleVersion).apply {
|
||||
setupWorkingDir()
|
||||
val additionalSrcDir = "src/additional/kotlin/"
|
||||
|
||||
|
||||
+2
-2
@@ -69,7 +69,7 @@ class KotlinGradlePluginMultiVersionIT : BaseMultiGradleVersionIT() {
|
||||
|
||||
@Test
|
||||
fun testJavaIcCompatibility() {
|
||||
val version = gradleVersion.split(".").map(String::toInt)
|
||||
val version = gradleVersionString.split(".").map(String::toInt)
|
||||
val expectIncrementalCompilation = version.let { (major, minor) -> major > 2 || major == 2 && minor >= 14 }
|
||||
val expectVerboseIncrementalLogs = version.let { (major, minor) -> major < 3 || major == 3 && minor < 4 }
|
||||
|
||||
@@ -130,7 +130,7 @@ class KotlinGradlePluginMultiVersionIT : BaseMultiGradleVersionIT() {
|
||||
@Test
|
||||
fun testJavaLibraryCompatibility() {
|
||||
Assume.assumeTrue("The java-library plugin is supported only in Gradle 3.4+ (current: $gradleVersion)",
|
||||
gradleVersion.split(".").map(String::toInt).let { (major, minor) ->
|
||||
gradleVersionString.split(".").map(String::toInt).let { (major, minor) ->
|
||||
major > 3 || major == 3 && minor >= 4
|
||||
})
|
||||
|
||||
|
||||
+3
-3
@@ -27,12 +27,12 @@ import java.io.File
|
||||
|
||||
class MultiplatformGradleIT : BaseGradleIT() {
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "4.2"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testMultiplatformCompile() {
|
||||
val project = Project("multiplatformProject", GRADLE_VERSION)
|
||||
val project = Project("multiplatformProject", GradleVersionAtLeast("4.0"))
|
||||
|
||||
project.build("build") {
|
||||
assertSuccessful()
|
||||
@@ -89,7 +89,7 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSubprojectWithAnotherClassLoader() {
|
||||
with(Project("multiplatformProject", GRADLE_VERSION)) {
|
||||
with(Project("multiplatformProject", GradleVersionAtLeast("4.0"))) {
|
||||
setupWorkingDir()
|
||||
|
||||
// Make sure there is a plugin applied with the plugins DSL, so that Gradle loads the
|
||||
|
||||
+2
-2
@@ -50,7 +50,7 @@ class PluginsDslIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "4.0"
|
||||
private val GRADLE_VERSION = GradleVersionAtLeast("4.0")
|
||||
private const val DIRECTORY_PREFIX = "pluginsDsl"
|
||||
|
||||
private const val MAVEN_LOCAL_URL_PLACEHOLDER = "<mavenLocalUrl>"
|
||||
@@ -62,7 +62,7 @@ class PluginsDslIT : BaseGradleIT() {
|
||||
|
||||
private fun projectWithMavenLocalPlugins(
|
||||
projectName: String,
|
||||
wrapperVersion: String = GRADLE_VERSION,
|
||||
wrapperVersion: GradleVersionRequirement = GRADLE_VERSION,
|
||||
directoryPrefix: String? = DIRECTORY_PREFIX,
|
||||
minLogLevel: LogLevel = LogLevel.DEBUG
|
||||
): Project {
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import kotlin.test.assertTrue
|
||||
class SimpleKotlinGradleIT : BaseGradleIT() {
|
||||
|
||||
companion object {
|
||||
private const val GRADLE_VERSION = "2.10"
|
||||
private val GRADLE_VERSION = NoSpecificGradleVersion
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ import org.junit.Test
|
||||
class TestRootAffectedIT : BaseGradleIT() {
|
||||
@Test
|
||||
fun testSourceRootClassIsModifiedIC() {
|
||||
val project = Project("kotlinProject", "4.1")
|
||||
val project = Project("kotlinProject", GradleVersionAtLeast("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", "3.0")
|
||||
val project = Project("kotlinProject", SpecificGradleVersion("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", "4.1")
|
||||
val project = Project("kotlinProject", GradleVersionAtLeast("4.1"))
|
||||
val buildOptions = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", options = buildOptions) {
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ class UpToDateIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
private fun testMutations(vararg mutations: ProjectMutation) {
|
||||
val project = Project("simpleProject", "4.1")
|
||||
val project = Project("simpleProject", NoSpecificGradleVersion)
|
||||
project.setupWorkingDir()
|
||||
mutations.forEach {
|
||||
it.initProject(project)
|
||||
|
||||
+9
-1
@@ -2,6 +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.incremental.BuildStep
|
||||
import org.jetbrains.kotlin.incremental.parseTestBuildLog
|
||||
import org.jetbrains.kotlin.incremental.testingUtils.*
|
||||
@@ -11,7 +12,14 @@ import kotlin.test.assertEquals
|
||||
|
||||
abstract class BaseIncrementalGradleIT : BaseGradleIT() {
|
||||
|
||||
inner class JpsTestProject(val buildLogFinder: BuildLogFinder, val resourcesBase: File, val relPath: String, wrapperVersion: String = "2.10", minLogLevel: LogLevel = LogLevel.DEBUG) : Project(File(relPath).name, wrapperVersion, null, minLogLevel) {
|
||||
inner class JpsTestProject(
|
||||
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) {
|
||||
|
||||
override val resourcesRoot = File(resourcesBase, relPath)
|
||||
val mapWorkingToOriginalFile = hashMapOf<File, File>()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user