如何在Gradle中使用类似于ant的文件集和pathconvert的东西

如何在Gradle中使用类似于ant的文件集和pathconvert的东西,gradle,groovy,ant,Gradle,Groovy,Ant,我正在尝试将一个Ant项目转换为Gradle。 一个目标是执行Java主类。java文件列表作为参数传递到主类中 蚂蚁代码: <target name="someThing"> <fileset dir="src/main/java" id="input.files"> <include name="**/api/SomeApi.java"/> <include name="**/tempo

我正在尝试将一个Ant项目转换为Gradle。 一个目标是执行Java主类。java文件列表作为参数传递到主类中

蚂蚁代码:

<target name="someThing">
        <fileset dir="src/main/java" id="input.files">
            <include name="**/api/SomeApi.java"/>
            <include name="**/temporaryuserdata/api/Some2API.java"/>
        </fileset>
        <pathconvert pathsep=" " property="javaFiles" refid="input.files"/>
        <java classname="com.some.tool.MainClass" classpathref="buildtools.classpath" fork="true" failonerror="true">
            <arg value="${javaFiles}"/>
        </java>
    </target>
它按预期工作。但是,我不想在gradle中使用ant

有人能帮我使用合适的gradle和groovy工具获得相同的fileset和pathconvert输出吗?你可以这样做

FileTree files = fileTree('src/main/java').matching {
    include '**/api/SomeApi.java' 
    include '**/api/SomeApi2.java' 
} 
args = [files.asPath]
但实际上,您应该使用该任务来完成此任务,而不是您可以完成此任务

FileTree files = fileTree('src/main/java').matching {
    include '**/api/SomeApi.java' 
    include '**/api/SomeApi2.java' 
} 
args = [files.asPath]

但实际上,您应该使用此任务,而不是使用Gradle的api来处理文件:

例如,您可以使用fileTree:

FileTree tree = fileTree(dir: 'src', includes: ['**/api/SomeApi.java', '**/api/Some2API.java'])

Gradle有很好的api来处理文件:

例如,您可以使用fileTree:

FileTree tree = fileTree(dir: 'src', includes: ['**/api/SomeApi.java', '**/api/Some2API.java'])