执行注释处理时, /src和 /构建扫描源文件



由于某些原因,我正在为我的Android应用程序开发一个注释处理器,以生成扩展RealmObject的类,并用@RealmClass@PrimaryKey注释。我认为领域将从我的处理器生成的类中生成接口和调解器代码。但这不起作用。

// 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/build/oferated/oferated/source/apt/xxx ...中搜索文件进一步处理..

任何建议都将不胜感激!

这是Realm注释处理器中的一个错误。请参阅此行:

@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
}

他们的处理器违反了注释处理合同:而不是在每回合期间放弃处理新文件,而是在第一轮之后放弃处理。

最新更新