java - Ant 到gradle迁移中生成的源代码

标签 java ant gradle build generated-code

我正在将ant-build中的 Java项目迁移到gradle构建中。我被源代码所困扰。

我已经在另一个将WSDL成功转换为Java的项目中完成了此操作。但是在这种情况下,我不知道。

Ant 代码在这里

<taskdef name="codegen" classname="com.company.container.ant.GeneratorTask" 
         classpathref="codegen.path" loaderref="classes"/>
<codegen toDir="${dir.generated}" metaDestDir="${dir.compile}" 
         configFile="${dir.compile}/container/local_services.xml">
<fileset dir=".">
    <include name="src/java/com/**/container/*Impl.java"/>
</fileset>
</codegen>
<echo message="Generate biz service interfaces complete."/>
        </target>
<target name="compile.codegen" description="Compile generated code.">
<javac srcdir="${dir.generated}" destdir="${dir.compile}" 
       deprecation="${build.deprecation}" debug="${build.debug}">
    <classpath>
        <path refid="classpath.build"/>
    </classpath>
</javac>
<echo message="Done compiling generated code."/>
</target>

有人知道吗?

最佳答案

是的!我已经做了。这有效。

task generateTheSourceFiles {
    doLast {
        generatedSrcDir.exists() || generatedSrcDir.mkdirs()
        ant.taskdef(name: 'generateJavaCode', classname: 'com.company.container.ant.GeneratorTask', classpath: configurations.generateJavaCode.asPath, loaderref: 'classes')
        ant.taskdef(name: 'attributeCompiler', classname: 'org.apache.commons.attributes.compiler.AttributeCompiler',
                classpath: configurations.attributeCompiler.asPath, loaderref: 'classes')
        ant.generateJavaCode(toDir: generatedSrcDir, metaDestDir: 'build/classes', configFile: 'src/main/resources/container/local_services.xml') {
            fileset(dir: 'src/main/java', includes: 'com/**/container/**/*Impl.java', excludes: 'com/company/web/container/*Impl.java')
        }
        ant.attributeCompiler(destDir: generatedSrcDir) {
            fileset(dir: 'src/main/java', includes: 'com/**/container/**/*.java')
        }
    }
}

关于java - Ant 到gradle迁移中生成的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32762126/

相关文章:

java - 编程帮助,使其工作的方法

ant - 使用大小、日期和时间回显 Fileset 中的每个文件

ant - 告诉 wsdl2java 如果自上次生成代码以来文件没有被修改,则不要生成代码

android - 在没有 IDE 的情况下使用 Android 支持库

java - LibGdx 我应该使用 gl30 吗?

java - 编写新 DialogPreference 类的简洁方法?

java - 如何使用 gradle 和 jlink 构建 Java 应用程序?

intellij-idea - 如何在IDEA中下载Gradle项目的依赖源?

java - 如何发布和使用依赖本地项目的 gradle 插件?

java - 如何抛出异常并执行 catch block 中的剩余业务逻辑?