如何在Gradle中添加相同类型的多个任务?



我需要从*生成FlatBuffers文件。构建前的FBS文件。所以我用gradle.plugin.io.netifi:gradle-flatbuffers-plugin:1.0.7来为我做。

def generatedSourcePathJava = "$buildDir/generated/source/flatbuffers/java"
def generatedSourcePathCpp = "$buildDir/generated/source/flatbuffers/cpp"
...
task createFlatBuffersJava(type: io.netifi.flatbuffers.plugin.tasks.FlatBuffers) {
  outputDir = file(generatedSourcePathJava)
  language = "kotlin"
}
build.dependsOn createFlatBuffersJava

但是如果我添加第二个(为JNI生成c++文件):

task createFlatBuffersJava(type: io.netifi.flatbuffers.plugin.tasks.FlatBuffers) {
  outputDir = file(generatedSourcePathJava)
  language = "kotlin"
}
task createFlatBuffersCpp(type: io.netifi.flatbuffers.plugin.tasks.FlatBuffers) {
  outputDir = file(generatedSourcePathCpp)
  language = "cpp"
}
assemble.dependsOn createFlatBuffersJava, createFlatBuffersCpp
Gradle build (../gradlew :engine-flatbuffers:clean :engine-flatbuffers:build)出现以下错误:
  • 哪里出错了:配置项目':engine-flatbuffers'时出现问题。java.util.ConcurrentModificationException(无错误信息)

我认为这个问题可以概括为"如何在Gradle中添加多个相同类型的任务?">

p。"gradle - 5.6 all">

这是一个已知的插件bug/特性,报告在https://github.com/gregwhitaker/gradle-flatbuffers-plugin/issues/7.

它在1.0.5中工作,但kotlin [argument]在那一点上不受支持。java的工作和兼容。

最新更新