1
我正在爲gradle寫一個插件,爲Android項目生成一些類。如何從Gradle插件添加一個文件夾到Android項目源代碼集
我在項目src/gen/java
文件夾中生成這些類,因爲我不希望它們與真實源代碼混合。
從項目的build.gradle
配置,我可以添加這個方法,使構建工具查看生成的類:
android {
sourceSets {
main {
java {
srcDir 'src/gen/java'
}
}
}
}
的問題是,我想我的插件來自動設置這個。從我的插件我試過如下:
公共類爲myplugin實現插件{
@Override
public void apply(Project project) {
// ...
// TEST 1 : doesnt work
project.android.sourceSets.main.java.srcDirs += "src/gen/java"
// TEST 2 : doesnt work
project.android.sourceSets {
main {
java {
srcDir 'src/gen/java'
}
}
}
}
}
每次插件的工作原理,但該文件夾仍然沒有被編譯器看到的,它可以」編譯時找到生成的類。有沒有人知道另一種方式從插件做到這一點?