Kapt: Disable location mapping by default, allow to enable it manually

This commit is contained in:
Yan Zhulanow
2018-01-15 23:29:22 +09:00
parent 5668a7af92
commit 7c7c929b0e
15 changed files with 113 additions and 14 deletions
@@ -301,6 +301,32 @@ open class Kapt3IT : Kapt3BaseIT() {
}
}
@Test
fun testLocationMapping() {
val project = Project("locationMapping", GRADLE_VERSION, directoryPrefix = "kapt2")
project.build("build") {
assertFailed()
assertContains("Test.java:9: error: GenError element")
assertContains("Test.java:17: error: GenError element")
}
project.projectDir.getFileByName("build.gradle").modify {
it.replace("mapDiagnosticLocations = false", "mapDiagnosticLocations = true")
}
project.build("build") {
assertFailed()
assertNotContains("Test.java:9: error: GenError element")
assertNotContains("Test.java:17: error: GenError element")
assertContains("test.kt:3: error: GenError element")
assertContains("test.kt:7: error: GenError element")
}
}
@Test
fun testChangesInLocalAnnotationProcessor() {
val project = Project("localAnnotationProcessor", GRADLE_VERSION, directoryPrefix = "kapt2")
@@ -0,0 +1,29 @@
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
apply plugin: "java"
apply plugin: "kotlin"
apply plugin: "kotlin-kapt"
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
compile "org.jetbrains.kotlin:annotation-processor-example:$kotlin_version"
kapt "org.jetbrains.kotlin:annotation-processor-example:$kotlin_version"
testCompile 'junit:junit:4.12'
}
kapt {
mapDiagnosticLocations = false
}
@@ -0,0 +1,8 @@
package example
class Test {
@field:example.GenError
val a: String
fun b(@example.GenError a: Boolean) {}
}