Ant exec重构

dfa*_*dfa 7 ant refactoring

我在build.xml中有这个代码:

    <exec executable="cmd" osfamily="winnt">
        <arg value="/c"/>
        <arg value="xsltproc\bin\xsltproc.exe"/>
        <arg value="--xinclude"/>
        <arg value="-o"/>
        <arg value="dist/html/main.html"/>
        <arg value="xsl/html/docbook.xsl"/>
        <arg value="xml/main.xml"/>
    </exec>
    <exec executable="xsltproc" osfamily="unix">
        <arg value="--xinclude"/>
        <arg value="-o"/>
        <arg value="dist/html/main.html"/>
        <arg value="xsl/html/docbook.xsl"/>
        <arg value="xml/main.xml"/>
    </exec>
Run Code Online (Sandbox Code Playgroud)

序列是一样的...我想知道如何重构这个小片段以保持干燥.

小智 10

也许尝试使用arg-line的公共位属性?这样的事情:

<property name="xslt.common" value="--xinclude -o dist/html/main.html xsl/html/docbook.xsl xml/main.xml"/>
<exec executable="cmd" osfamily="winnt">
    <arg value="/c"/>
    <arg value="xsltproc\bin\xsltproc.exe"/>
    <arg line="${xslt.common}"/>
</exec>
<exec executable="xsltproc" osfamily="unix">
    <arg line="${xslt.common}"/>
</exec>
Run Code Online (Sandbox Code Playgroud)


Nic*_*eys 6

定义一个.

您可以对元素中的共享部分进行全局处理,并有条件地执行特定部分.