gea*_*tal 6 ant task echo apply
我对Ant并不熟悉,我想知道如何将当前处理文件的名称打印到命令行.
这就是我到目前为止......它是一个宏的一部分,用yui-compressor来minifys文件.
<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>
Run Code Online (Sandbox Code Playgroud)
我想要的是:
[echo] Start!
[apply] Processed: filename-1.min.js
[apply] Processed: filename-2.min.js
[apply] Processed: filename-3.min.js
[echo] Success!
Run Code Online (Sandbox Code Playgroud)
我对 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>
Run Code Online (Sandbox Code Playgroud)
当然,只有当 apply 可执行文件不打印任何使输出混乱的内容时,这才有效。
| 归档时间: |
|
| 查看次数: |
2670 次 |
| 最近记录: |