首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ant -在Macrodef中使用资源联合

Ant -在Macrodef中使用资源联合
EN

Stack Overflow用户
提问于 2018-03-29 01:59:03
回答 1查看 118关注 0票数 0

我有一个Ant Macrodef,它有一个<element>占位符。我正在尝试使用<element>传递一个resourceCollection进行处理。在调用宏定义之前,<element>的内容已正确填充。不幸的是,在调用期间,它是空的。

Macrodef:

代码语言:javascript
复制
<macrodef name="doStuff" description="Amazing macrodef that fails me.">
    <element name="fs" optional="true" description="resource/element/fileset to be manipulated />
    <sequential>
        <echo message="fs: ${toString:fs}" />
        <pathconvert property="outputProp" pathsep=" ">
            <fs />
        </pathconvert>
    </sequential>
</macrodef>

它是通过我拥有的build.xml文件的以下片段调用的:

代码语言:javascript
复制
<fileset id="files1" dir=".">
    <include name="inc/*" />
    <include name="lib/*" />
</fileset>
<fileset id="files2" dir=".">
    <include name="bin/*" />
</fileset>
<union id="allFiles">
    <resources refid="files1" />
    <resources refid="files2" />
</union>

<target name="doStuffToFiles">
     <doStuff>
         <fs>
             <resources refid="allFiles" />
         </fs>
      </doStuff>
 </target>
EN

回答 1

Stack Overflow用户

发布于 2018-04-02 20:00:36

我不知道为什么,但是遍历联合和资源,而不是使用带有refid的直接文件集,似乎让我的Ant设置变得混乱。以下内容适用于我在Ant 1.9.2上的工作

代码语言:javascript
复制
<macrodef name="doStuff" description="Amazing macrodef that fails me.">
    <element name="fs" 
             optional="false" 
             description="resource/element/fileset to be manipulated />
    <sequential>
        <pathconvert property="outputProp" pathsep=" ">
            <fs />
            <map from="${basedir}/" to=""/>
        </pathconvert>
    </sequential>
</macrodef>


<target name="doStuffToFiles">
    <fileset id="files1" dir=".">
        <include name="inc/**"/>
        <include name="lib/**"/>
    </fileset>
    <fileset id="files2" dir=".">
        <include name="bin/**"/>
    </fileset>

    <doStuff>
        <fs>
            <fileset refid="files1" />
            <fileset refid="files2" />
        </fs>
    </doStuff>
</target>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49541225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档