kapt: Do not fail if annotations.txt file does not exist

This commit is contained in:
Yan Zhulanow
2015-06-02 22:23:51 +03:00
parent a900a424d0
commit 78af866f5a
2 changed files with 11 additions and 2 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.annotation
import java.io.IOException
import javax.annotation.processing.*
import javax.lang.model.SourceVersion
import javax.lang.model.element.AnnotationMirror
@@ -75,8 +76,12 @@ public abstract class AnnotationProcessorWrapper(
return
}
val annotationsTxt = processingEnv.getFiler().getResource(StandardLocation.CLASS_PATH, "", "annotations.$taskQualifier.txt")
kotlinAnnotationsProvider = FileObjectKotlinAnnotationProvider(annotationsTxt)
try {
val annotationsTxt = processingEnv.getFiler().getResource(StandardLocation.CLASS_PATH, "", "annotations.$taskQualifier.txt")
kotlinAnnotationsProvider = FileObjectKotlinAnnotationProvider(annotationsTxt)
} catch (e: IOException) {
kotlinAnnotationsProvider = EmptyKotlinAnnotationsProvider()
}
processor.init(processingEnv)
}
@@ -104,4 +104,8 @@ public abstract class KotlinAnnotationProvider {
public class FileObjectKotlinAnnotationProvider(val annotationsFileObject: FileObject): KotlinAnnotationProvider() {
override val serializedAnnotations: String
get() = annotationsFileObject.getCharContent(false).toString()
}
public class EmptyKotlinAnnotationsProvider : KotlinAnnotationProvider() {
override val serializedAnnotations = ""
}