Roboblender 注释处理不起作用
Roboblender annotation processing not working
我尝试让 Roboblender 与 Roboguice 一起工作,但编译时处理似乎没有做任何事情,未生成 AnnotationDatabaseImpl class。 (项目构建没有错误。)
我什至创建了一个示例项目,请看下面。我想念什么?
(我知道 gradle 任务和第二个元数据只在多模块项目中需要,但没有它们也行不通)。
build.gradle:
project.tasks.withType(JavaCompile) { task ->
options.compilerArgs << "-AguiceAnnotationDatabasePackageName=gk.com.roboguice_compile"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'org.roboguice:roboguice:3.+'
provided 'org.roboguice:roboblender:3.+'
}
清单:
<meta-data
android:name="roboguice.modules"
android:value="gk.com.roboguice_compile.RoboguiceBindings" />
<meta-data
android:name="roboguice.annotations.packages"
android:value="gk.com.roboguice_compile" />
activity:
@ContentView(R.layout.activity_main)
public class MainActivity extends RoboActivity {
@Inject
private PresentMaker presentMaker;
绑定:
public class RoboguiceBindings extends AbstractModule {
@Override
protected void configure() {
bind(PresentMaker.class).to(BirthdayPresentMaker.class);
}
}
AnnotationDatabaseImpl 在那里,但只在构建目录下,不在源文件中。
糟糕,可能每个注解处理器都是这样工作的。
(尽管很奇怪 this project 在项目根目录中生成了 AnnotationDatabaseImpl..)。
我尝试让 Roboblender 与 Roboguice 一起工作,但编译时处理似乎没有做任何事情,未生成 AnnotationDatabaseImpl class。 (项目构建没有错误。)
我什至创建了一个示例项目,请看下面。我想念什么? (我知道 gradle 任务和第二个元数据只在多模块项目中需要,但没有它们也行不通)。
build.gradle:
project.tasks.withType(JavaCompile) { task ->
options.compilerArgs << "-AguiceAnnotationDatabasePackageName=gk.com.roboguice_compile"
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'org.roboguice:roboguice:3.+'
provided 'org.roboguice:roboblender:3.+'
}
清单:
<meta-data
android:name="roboguice.modules"
android:value="gk.com.roboguice_compile.RoboguiceBindings" />
<meta-data
android:name="roboguice.annotations.packages"
android:value="gk.com.roboguice_compile" />
activity:
@ContentView(R.layout.activity_main)
public class MainActivity extends RoboActivity {
@Inject
private PresentMaker presentMaker;
绑定:
public class RoboguiceBindings extends AbstractModule {
@Override
protected void configure() {
bind(PresentMaker.class).to(BirthdayPresentMaker.class);
}
}
AnnotationDatabaseImpl 在那里,但只在构建目录下,不在源文件中。
糟糕,可能每个注解处理器都是这样工作的。 (尽管很奇怪 this project 在项目根目录中生成了 AnnotationDatabaseImpl..)。