From bafa9dca486352fdd0a0c15313df89d5ea80727c Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 24 Mar 2016 16:35:45 +0300 Subject: [PATCH] Test: pass android-build-tools version using project property The reason is to test the same project with different android-build-tools versions --- ...nly.kt => AbstractKotlinAndroidGradleTests.kt} | 15 ++++++++++----- .../org/jetbrains/kotlin/gradle/BaseGradleIT.kt | 4 +++- .../testProject/AndroidProject/Lib/build.gradle | 2 +- .../testProject/AndroidProject/build.gradle | 8 ++++++-- 4 files changed, 20 insertions(+), 9 deletions(-) rename libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/{KotlinAndroidGradleCLIOnly.kt => AbstractKotlinAndroidGradleTests.kt} (83%) diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidGradleCLIOnly.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt similarity index 83% rename from libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidGradleCLIOnly.kt rename to libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt index 60c640927f5..167b8975ad1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidGradleCLIOnly.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/AbstractKotlinAndroidGradleTests.kt @@ -3,18 +3,23 @@ package org.jetbrains.kotlin.gradle import org.junit.Test import java.io.File -private const val DEFAULT_GRADLE_VERSION = "2.3" -class KotlinAndroidGradleCLIOnly : BaseGradleIT() { +class KotlinAndroidGradleCLIOnly : AbstractKotlinAndroidGradleTests(gradleVersion = "2.3", androidGradlePluginVersion = "1.5.+") + +abstract class AbstractKotlinAndroidGradleTests( + private val gradleVersion: String, + private val androidGradlePluginVersion: String +) : BaseGradleIT() { override fun defaultBuildOptions() = BuildOptions(withDaemon = true, assertThreadLeaks = false, - androidHome = File("../../../dependencies/android-sdk-for-tests")) + androidHome = File("../../../dependencies/android-sdk-for-tests"), + androidGradlePluginVersion = androidGradlePluginVersion) @Test fun testSimpleCompile() { - val project = Project("AndroidProject", DEFAULT_GRADLE_VERSION) + val project = Project("AndroidProject", gradleVersion) project.build("build") { assertSuccessful() @@ -61,7 +66,7 @@ class KotlinAndroidGradleCLIOnly : BaseGradleIT() { @Test fun testModuleNameAndroid() { - val project = Project("AndroidProject", DEFAULT_GRADLE_VERSION) + val project = Project("AndroidProject", gradleVersion) project.build("build") { assertContains( diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt index b2cc1a07b4b..017e716d721 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/BaseGradleIT.kt @@ -75,7 +75,8 @@ abstract class BaseGradleIT { * @see [ThreadTracker] */ val assertThreadLeaks: Boolean = true, - val androidHome: File? = null) + val androidHome: File? = null, + val androidGradlePluginVersion: String? = null) open inner class Project(val projectName: String, val wrapperVersion: String = "1.4", val minLogLevel: LogLevel = LogLevel.DEBUG) { open val resourcesRoot = File(resourcesRootFile, "testProject/$projectName") @@ -212,6 +213,7 @@ abstract class BaseGradleIT { add("-P${ThreadTracker.ASSERT_THREAD_LEAKS_PROPERTY}=true") } options.incremental?.let { add("-Pkotlin.incremental=$it") } + options.androidGradlePluginVersion?.let { add("-PandroidToolsVersion=$it")} } private fun Project.createEnvironmentVariablesMap(options: BuildOptions): Map = diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/Lib/build.gradle b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/Lib/build.gradle index c6d5793631e..b299fbac774 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/Lib/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/Lib/build.gradle @@ -1,5 +1,5 @@ apply plugin: 'android-sdk-manager' -apply plugin: 'com.android.application' +apply plugin: 'com.android.library' apply plugin: 'kotlin-android' repositories { diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/build.gradle b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/build.gradle index 2715bc845c5..26fa21b57a0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/AndroidProject/build.gradle @@ -1,13 +1,17 @@ buildscript { repositories { - mavenCentral() maven { url 'file://' + pathToKotlinPlugin } + maven { + url 'http://jcenter.bintray.com' + } + mavenCentral() + } dependencies { classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.1-SNAPSHOT' - classpath 'com.android.tools.build:gradle:1.1.0' + classpath ('com.android.tools.build:gradle:' + androidToolsVersion) classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+' } } \ No newline at end of file