目前我使用此代码:
def wsdlDir = file('path/to/wsdl')
wsdlDir.eachFile { wsdlFile ->
tasks.register("wsdlFile.name", Wsdl2Java) {
toolOptions {
wsdl.set(wsdlFile.toPath().toAbsolutePath().toString())
}
}
}
它可以工作,但是为循环中的每个文件创建单独的任务似乎不是最佳方法。我在 Maven 中看到了用
.wsdl
文件指定目录的示例,gradle 有类似的东西吗?
我是 Gradle 插件的作者。不,该功能不存在。创建 Gradle 插件时选择忽略这一点是有意设计的。原因是,如您的示例所示,如果需要或需要,可以直接在构建文件中或在某些约定插件中完成。然后可以将该逻辑提取到
buildSrc
以清理您的构建文件。
我不反对在插件中提供该功能。只是还没有任何大量的请求:https://github.com/ciscoo/cxf-codegen-gradle/issues