使用 Gradle anttask 生成 JAXB 剧集文件
Generate JAXB episode file with Gradle anttask
我设置了一个 gradle 任务来从 XSD 个文件生成 java 类:
ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath)
ant.jaxbTargetDir = jaxbTargetDir
ant.xjc(destdir: '${jaxbTargetDir}', package: 'com.example') {
schema(dir:'/home/bruckwald/proj/schema/xsd', includes: '*.xsd')
}
如何将参数 -episode my.episode
传递给 ant 任务以便生成剧集文件?
我正在使用以下依赖项:
jaxb(
'com.sun.xml.bind:jaxb-core:2.2.11',
'com.sun.xml.bind:jaxb-impl:2.2.11',
'com.sun.xml.bind:jaxb-xjc:2.2.11',
'javax.xml.bind:jaxb-api:2.2.12',
'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.9.4'
)
这是我构建的一个示例,它将其他参数传递给 XJC 任务:
ant.xjc(destdir: genDir, package: pkgName, extension: true) {
classpath { pathelement(path: configurations.xjcrun.asPath) }
schema(dir: "src/main/resources/schema", includes: schemaName)
arg(value: "-Xxew")
arg(value: "-Xfluent-api")
}
我想你的“-episode”arg 会像那样工作。
请注意,"arg" 函数采用单个参数。如果您要指定一个命令行选项,该选项除了选项本身的存在之外还需要一个值,那么您将需要两次 arg 调用,一次用于选项字符串,一次用于值本身,所以它可能是这样的:
arg(value: "-episode")
arg(value: "my.episode")
我设置了一个 gradle 任务来从 XSD 个文件生成 java 类:
ant.taskdef(name: 'xjc', classname: 'com.sun.tools.xjc.XJCTask', classpath: configurations.jaxb.asPath)
ant.jaxbTargetDir = jaxbTargetDir
ant.xjc(destdir: '${jaxbTargetDir}', package: 'com.example') {
schema(dir:'/home/bruckwald/proj/schema/xsd', includes: '*.xsd')
}
如何将参数 -episode my.episode
传递给 ant 任务以便生成剧集文件?
我正在使用以下依赖项:
jaxb(
'com.sun.xml.bind:jaxb-core:2.2.11',
'com.sun.xml.bind:jaxb-impl:2.2.11',
'com.sun.xml.bind:jaxb-xjc:2.2.11',
'javax.xml.bind:jaxb-api:2.2.12',
'org.jvnet.jaxb2_commons:jaxb2-basics-ant:0.9.4'
)
这是我构建的一个示例,它将其他参数传递给 XJC 任务:
ant.xjc(destdir: genDir, package: pkgName, extension: true) {
classpath { pathelement(path: configurations.xjcrun.asPath) }
schema(dir: "src/main/resources/schema", includes: schemaName)
arg(value: "-Xxew")
arg(value: "-Xfluent-api")
}
我想你的“-episode”arg 会像那样工作。
请注意,"arg" 函数采用单个参数。如果您要指定一个命令行选项,该选项除了选项本身的存在之外还需要一个值,那么您将需要两次 arg 调用,一次用于选项字符串,一次用于值本身,所以它可能是这样的:
arg(value: "-episode")
arg(value: "my.episode")