2015-09-24 23 views
1

我正在迁移一个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> 

做任何人有任何想法?

+3

请尝试更具体。你不完全明白什么部分?到目前为止你到底做了什么? – reto

+0

如何将其转换为gradle?我甚至不明白这是如何工作的!这段代码(在ant中)生成新的java文件。 – smilyface

+0

它似乎使用了一些自定义代码生成器,与WSDL生成器不同。那么,你必须为它提供行为和输入/输出,或者?作为临时解决方案,只需将此ant任务导入到gradle构建脚本中即可。 – Stanislav

回答

0

是的!我已经做了。这工作。

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') 
     } 
    } 
}