在蚂蚁中,我有一个macrodef.
假设我必须使用这个macrodef,并且如果属性special.property存在并且为true,我想在所述macrodef中运行一个项目,我该怎么办?
我现在有
<macrodef name="someName">
<sequential>
<someMacroDefThatSetsTheProerty />
<some:thingHereThatDependsOn if="special.property" />
<sequential>
</macrodef>
Run Code Online (Sandbox Code Playgroud)
哪个不起作用 - some:thingHereThatDependsOn没有"if"属性,我无法添加一个.
antcontrib不可用.
有了目标,我可以给目标一个"if",我可以用macrodef做什么?
我想了解Ant中有以下可能
阅读一处房产 eg : ${for.loop.condition}
根据上面的属性值,创建一个for循环
并循环从该值动态创建一个字符串
我已经阅读了ant-contrib任务,但不确定这是否会帮助我.
任何例子都会对我有帮助
我有一个包含两个文件(a.exe和b.exe)的文件夹,我需要在每个文件夹上运行命令.例如xxx - a.exe a.bin.有没有办法用Ant做到这一点?
我想让蚂蚁跑:
xxx - a.exe a.bin
Run Code Online (Sandbox Code Playgroud)
和
xxx - b.exe b.bin
Run Code Online (Sandbox Code Playgroud) 例如
/test/a.jar
/test/b.jar
/test/c.jar
output:
a.jar
b.jar
c.jar
Run Code Online (Sandbox Code Playgroud)
这大部分都有效,除了它似乎只是获取其中一个文件,而不是全部=/
<for param="file">
<path>
<fileset dir="${test.dir}/lib">
<include name="**/*.jar"/>
</fileset>
</path>
<sequential>
<basename property="filename" file="@{file}"/>
<echo message="${filename}"/>
</sequential>
</for>
Run Code Online (Sandbox Code Playgroud)
这只是让我:
c.jar
c.jar
c.jar
Run Code Online (Sandbox Code Playgroud)