Ant:如何在应用中回显目标文件的名称

标签 ant echo task apply

我对 Ant 不是很熟悉,我想知道如何将当前处理的文件的名称打印到命令行。

这就是我到目前为止所拥有的......它是一个宏的一部分,它使用 yui-compressor 来缩小文件。

<apply executable="java" parallel="false" verbose="true" dest="@{target}">

    <fileset dir="@{src}">
        <include name="**/*.@{filetype}"/>
    </fileset>

    <arg line="-jar" />
    <arg path="${yui.jar}" />
    <arg value="--charset" />
    <arg value="ANSI" />
    <arg value="-o" />
    <targetfile />

    <mapper type="glob" from="*.@{filetype}" to="*.min.@{filetype}" />
</apply>

我想得到什么:
 [echo] Start!
[apply] Processed: filename-1.min.js
[apply] Processed: filename-2.min.js
[apply] Processed: filename-3.min.js
 [echo] Success!

最佳答案

我在 apply 方面没有很多经验,但您可以尝试从 apply 元素中定义文件集,获取打印结果,然后将其引用到您的 apply 元素中。

<fileset dir="@{src}" id="my.files">
    <include name="**/*.@{filetype}"/>
</fileset>
<pathconvert pathsep="${line.separator}" property="processed.files" refid="my.files"/>
<echo>Start!</echo>
<echo message="${processed.files}"/>

<apply executable="java" parallel="false" verbose="true" dest="@{target}">
    <fileset refid="my.files"/>
    <arg line="-jar" />
    <arg path="${yui.jar}" />
    <arg value="--charset" />
    <arg value="ANSI" />
    <arg value="-o" />
    <targetfile />

    <mapper type="glob" from="*.@{filetype}" to="*.min.@{filetype}" />
</apply>

<echo>Success!</echo>

当然,这仅在 apply 可执行文件不打印任何内容以混淆输出时才有效。

关于Ant:如何在应用中回显目标文件的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590110/

相关文章:

ant - gradle - 多模块项目 - ant 错误的执行目录

java - 构建json相关问题

apache-flex - Flash/Flex 中使用 native 库的回声消除

ssis - 在 SSIS 中为脚本任务设置超时选项

c# - 如何在 C# Task.Factory.StartNew 中等待几秒钟

ant - Gradle Ant 无法添加任务 ':myproject:test',因为该名称的任务已存在

java - Eclipse:如何使用具有外部项目依赖项的 ant 构建可执行 jar?

php - 返回意外值 (MAX(id))

linux - 如果 "echo $?"命令返回 2 怎么办?

java - 将数据动态添加到 LineChart JavaFX