执行注释处理时从/src 和/build 扫描源文件
Scan source files from both /src and /build when perform annotation processing
由于某些原因,我正在为我的 Android 应用程序开发注释处理器以生成 类,它扩展 RealmObject
并用 @RealmClass
和 @PrimaryKey
。我认为 Realm 将从我的处理器生成的 类 生成接口和中介代码。但它不起作用。
// Generated in app/build/generated/source/apt/debug/com/test/RealmRecord.java
// package and imports
@RealmClass
public class RealmRecord extends RealmObject {
@Primary
long id;
String content;
// getters and setters
}
我发现在我的Android Studio环境中,注解处理器似乎没有搜索app/build/generated/source/apt/xxx中的文件...所以Realm的处理器找不到我的 类 并进一步处理..
如有任何建议,我们将不胜感激!
这是 Realm 注释处理器中的错误。见 this line:
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
// Don't run this processor in subsequent runs. We created everything in the first one.
if (hasProcessedModules) {
return CONSUME_ANNOTATIONS;
}
...
// more buggy code down there
}
他们的处理器违反了注释处理合同:他们没有在每一轮中增量处理新文件,而是在第一轮后放弃处理。
由于某些原因,我正在为我的 Android 应用程序开发注释处理器以生成 类,它扩展 RealmObject
并用 @RealmClass
和 @PrimaryKey
。我认为 Realm 将从我的处理器生成的 类 生成接口和中介代码。但它不起作用。
// Generated in app/build/generated/source/apt/debug/com/test/RealmRecord.java
// package and imports
@RealmClass
public class RealmRecord extends RealmObject {
@Primary
long id;
String content;
// getters and setters
}
我发现在我的Android Studio环境中,注解处理器似乎没有搜索app/build/generated/source/apt/xxx中的文件...所以Realm的处理器找不到我的 类 并进一步处理..
如有任何建议,我们将不胜感激!
这是 Realm 注释处理器中的错误。见 this line:
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
// Don't run this processor in subsequent runs. We created everything in the first one.
if (hasProcessedModules) {
return CONSUME_ANNOTATIONS;
}
...
// more buggy code down there
}
他们的处理器违反了注释处理合同:他们没有在每一轮中增量处理新文件,而是在第一轮后放弃处理。