Test: add android incremental compilation test project
This commit is contained in:
+23
@@ -64,6 +64,29 @@ abstract class AbstractKotlinAndroidGradleTests(
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testIncrementalCompile() {
|
||||
val project = Project("AndroidIncrementalSingleModuleProject", gradleVersion)
|
||||
val options = defaultBuildOptions().copy(incremental = true)
|
||||
|
||||
project.build("build", options = options) {
|
||||
assertSuccessful()
|
||||
}
|
||||
|
||||
val getSomethingKt = project.projectDir.walk().filter { it.isFile && it.name.endsWith("getSomething.kt") }.first()
|
||||
getSomethingKt.writeText("""
|
||||
package foo
|
||||
|
||||
fun getSomething() = 10
|
||||
""")
|
||||
|
||||
project.build("build", options = options) {
|
||||
assertSuccessful()
|
||||
assertCompiledKotlinSources(listOf("src/main/kotlin/foo/KotlinActivity1.kt", "src/main/kotlin/foo/getSomething.kt"))
|
||||
assertCompiledJavaSources(listOf("app/src/main/java/foo/JavaActivity.java"), weakTesting = true)
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testModuleNameAndroid() {
|
||||
val project = Project("AndroidProject", gradleVersion)
|
||||
|
||||
+54
@@ -0,0 +1,54 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
maven {
|
||||
url 'file://' + pathToKotlinPlugin
|
||||
}
|
||||
maven {
|
||||
url 'http://jcenter.bintray.com'
|
||||
}
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.1-SNAPSHOT'
|
||||
classpath 'org.jetbrains.kotlin:kotlin-android-extensions:0.1-SNAPSHOT'
|
||||
classpath 'com.android.tools.build:gradle:' + androidToolsVersion
|
||||
classpath 'com.jakewharton.sdkmanager:gradle-plugin:0.12.+'
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'android-sdk-manager'
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'kotlin-android'
|
||||
apply plugin: 'kotlin-android-extensions'
|
||||
|
||||
android {
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion "23.0.1"
|
||||
|
||||
defaultConfig {
|
||||
applicationId "foo"
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 23
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
maven {
|
||||
url 'file://' + pathToKotlinPlugin
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile "org.jetbrains.kotlin:kotlin-stdlib:0.1-SNAPSHOT"
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="foo" >
|
||||
|
||||
<application>
|
||||
<activity android:name=".JavaActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity android:name=".KotlinActivity1"/>
|
||||
<activity android:name=".KotlinActivity2"/>
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
package foo;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
public class JavaActivity extends Activity {
|
||||
}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
package foo
|
||||
|
||||
import android.app.Activity
|
||||
|
||||
open class KotlinActivity1 : Activity() {
|
||||
val usage = getSomething()
|
||||
}
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package foo
|
||||
|
||||
import android.app.Activity
|
||||
|
||||
open class KotlinActivity2 : Activity()
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
package foo
|
||||
|
||||
fun getSomething() = "Hello, world!"
|
||||
+1
@@ -0,0 +1 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
+1
@@ -0,0 +1 @@
|
||||
include ':app'
|
||||
Reference in New Issue
Block a user