Introduce tooling model for Android extensions plugin
Introduce Gradle models for plugins 'kotlin-android-extensions'.
This commit is contained in:
committed by
Sergey Igushkin
parent
5a423e8dcd
commit
3c88f761a6
+3
-1
@@ -284,7 +284,9 @@ abstract class BaseGradleIT {
|
||||
|
||||
val connection = GradleConnector.newConnector().forProjectDirectory(projectDir).connect()
|
||||
val options = defaultBuildOptions()
|
||||
val model = connection.action(ModelFetcherBuildAction(modelType)) .withArguments("-Pkotlin_version=" + options.kotlinVersion).run()
|
||||
val arguments = mutableListOf("-Pkotlin_version=${options.kotlinVersion}")
|
||||
options.androidGradlePluginVersion?.let { arguments.add("-Pandroid_tools_version=$it") }
|
||||
val model = connection.action(ModelFetcherBuildAction(modelType)).withArguments(arguments).run()
|
||||
connection.close()
|
||||
return model
|
||||
}
|
||||
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
||||
* that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.model
|
||||
|
||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.junit.Test
|
||||
import kotlin.test.assertEquals
|
||||
import kotlin.test.assertFalse
|
||||
import kotlin.test.assertNull
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
class KotlinAndroidExtensionIT : BaseGradleIT() {
|
||||
|
||||
override fun defaultBuildOptions(): BuildOptions {
|
||||
return super.defaultBuildOptions().copy(
|
||||
androidGradlePluginVersion = "3.0.0",
|
||||
androidHome = KotlinTestUtils.findAndroidSdk()
|
||||
)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testAndroidExtensionsProject() {
|
||||
val project = Project("AndroidExtensionsProject")
|
||||
val androidExtensionModel = project.getModels(KotlinAndroidExtension::class.java).getModel(":app")!!
|
||||
|
||||
assertEquals(1L, androidExtensionModel.modelVersion)
|
||||
assertEquals("app", androidExtensionModel.name)
|
||||
assertFalse(androidExtensionModel.isExperimental)
|
||||
assertEquals("hashMap", androidExtensionModel.defaultCacheImplementation)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testAndroidExtensionsManyVariants() {
|
||||
val project = Project("AndroidExtensionsManyVariants")
|
||||
val androidExtensionModel = project.getModels(KotlinAndroidExtension::class.java).getModel(":app")!!
|
||||
|
||||
assertEquals(1L, androidExtensionModel.modelVersion)
|
||||
assertEquals("app", androidExtensionModel.name)
|
||||
assertTrue(androidExtensionModel.isExperimental)
|
||||
assertEquals("hashMap", androidExtensionModel.defaultCacheImplementation)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testNonAndroidExtensionsProjects() {
|
||||
val project = Project("kotlinProject")
|
||||
val model = project.getModels(KotlinAndroidExtension::class.java).getModel(":")
|
||||
|
||||
assertNull(model)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user