diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt index 2896c26b286..d474201218b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginIT.kt @@ -58,4 +58,31 @@ class KotlinGradleIT: BaseGradleIT() { assertContains(":compileKotlin", ":compileTestKotlin") } } + + Test fun testKaptSimple() { + Project("kaptSimple", "1.12").build("build") { + assertSuccessful() + assertContains("kapt: Class file stubs are not used") + assertContains(":compileKotlin") + assertContains(":compileJava") + assertFileExists("build/tmp/kapt/main/wrappers/annotations.main.txt") + assertFileExists("build/generated/source/kapt/main/TestClassGenerated.java") + assertFileExists("build/classes/main/example/TestClass.class") + assertFileExists("build/classes/main/example/TestClassGenerated.class") + } + } + + Test fun testKaptStubs() { + Project("kaptStubs", "1.12").build("build") { + assertSuccessful() + assertContains("kapt: Using class file stubs") + assertContains(":compileKotlin") + assertContains(":compileJava") + assertFileExists("build/tmp/kapt/main/wrappers/annotations.main.txt") + assertFileExists("build/generated/source/kapt/main/TestClassGenerated.java") + assertFileExists("build/classes/main/example/TestClass.class") + assertFileExists("build/classes/main/example/TestClassGenerated.class") + } + } + } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/build.gradle b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/build.gradle new file mode 100644 index 00000000000..78b978e9dd7 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/build.gradle @@ -0,0 +1,35 @@ +buildscript { + repositories { + mavenCentral() + maven { + url 'file://' + pathToKotlinPlugin + } + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.1-SNAPSHOT" + } +} + +apply plugin: "java" +apply plugin: "kotlin" + +repositories { + maven { + url 'file://' + pathToKotlinPlugin + } + mavenCentral() +} + +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib:0.1-SNAPSHOT" + compile "org.jetbrains.kotlin:annotation-processor-example:0.1-SNAPSHOT" + kapt "org.jetbrains.kotlin:annotation-processor-example:0.1-SNAPSHOT" +} + +task show << { + buildscript.configurations.classpath.each { println it } +} + +task wrapper(type: Wrapper) { + gradleVersion="1.12" +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/src/main/java/test.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/src/main/java/test.kt new file mode 100644 index 00000000000..b6e0880ce02 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptSimple/src/main/java/test.kt @@ -0,0 +1,12 @@ +package example + +@example.ExampleAnnotation +public class TestClass { + + @example.ExampleAnnotation + public val testVal: String = "text" + + @example.ExampleAnnotation + public fun testFunction(): Int = 5 + +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/build.gradle b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/build.gradle new file mode 100644 index 00000000000..0ba962c971d --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/build.gradle @@ -0,0 +1,39 @@ +buildscript { + repositories { + mavenCentral() + maven { + url 'file://' + pathToKotlinPlugin + } + } + dependencies { + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:0.1-SNAPSHOT" + } +} + +apply plugin: "java" +apply plugin: "kotlin" + +repositories { + maven { + url 'file://' + pathToKotlinPlugin + } + mavenCentral() +} + +dependencies { + compile "org.jetbrains.kotlin:kotlin-stdlib:0.1-SNAPSHOT" + compile "org.jetbrains.kotlin:annotation-processor-example:0.1-SNAPSHOT" + kapt "org.jetbrains.kotlin:annotation-processor-example:0.1-SNAPSHOT" +} + +task show << { + buildscript.configurations.classpath.each { println it } +} + +task wrapper(type: Wrapper) { + gradleVersion="1.12" +} + +kapt { + generateStubs = true +} \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt new file mode 100644 index 00000000000..37872cd6085 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kaptStubs/src/main/java/test.kt @@ -0,0 +1,12 @@ +package example + +@example.ExampleAnnotation +public class TestClass { + + @example.ExampleAnnotation + public val testVal: String = "text" + + @example.ExampleAnnotation + public fun testFunction(): Class<*> = javaClass() + +} \ No newline at end of file