2009-05-12 15 views
7

पुनर्रचना मैं अपने 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> 

अनुक्रम में एक ही है ... मैं कैसे इसे सूखा रखने के लिए में इस छोटे से टुकड़ा पुनर्रचना के बारे में सोच रहा हूँ।

उत्तर

10

शायद तर्क-रेखा के साथ सामान्य बिट्स के लिए संपत्ति का उपयोग करने का प्रयास करें? कुछ इस तरह:

<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> 
+0

धन्यवाद, यह एक आकर्षण की तरह काम करता है :) – dfa

6

को परिभाषित macro

आप किसी तत्व में साझा किए गए भाग को ग्लोब कर सकते हैं, और सशर्त रूप से विशिष्ट भागों को निष्पादित कर सकते हैं।

+1

यह एक उत्कृष्ट समाधान है यदि आपको एक ही कार्य को एक से अधिक बार करना है। –

0

I सोचें यूनिक्स संस्करण एनटी के तहत काम करेगा यदि आपके पास xhltproc.exe पाथ पर्यावरण चर के माध्यम से उपलब्ध है। आप osfamily हटाने और देखने की कोशिश कर सकते हैं।