Test: pass android-build-tools version using project property

The reason is to test the same project with different android-build-tools versions
This commit is contained in:
Alexey Tsvetkov
2016-03-24 16:35:45 +03:00
parent 157c5009f0
commit bafa9dca48
4 changed files with 20 additions and 9 deletions
@@ -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(
@@ -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<String, String> =
@@ -1,5 +1,5 @@
apply plugin: 'android-sdk-manager'
apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
repositories {
@@ -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.+'
}
}