के साथ एक निर्देशिका के माध्यम से बार-बार दोहराना मान लीजिए कि निम्न पथों के साथ मैं पीडीएफ फाइलों का एक संग्रह करते हैं:चींटी
/some/path/pdfs/birds/duck.pdf
/some/path/pdfs/birds/goose.pdf
/some/path/pdfs/insects/fly.pdf
/some/path/pdfs/insects/mosquito.pdf
मैं क्या करना चाहते हैं क्या प्रत्येक पीडीएफ कि रिश्तेदार पथ संरचना का सम्मान के लिए थंबनेल उत्पन्न है, और दूसरे स्थान पर आउटपुट, यानी:
/another/path/thumbnails/birds/duck.png
/another/path/thumbnails/birds/goose.png
/another/path/thumbnails/insects/fly.png
/another/path/thumbnails/insects/mosquito.png
मैं इसे चींटी में करना चाहता हूं। मान लें मैं कमांड लाइन पर Ghostscript का उपयोग करने के लिए जा रहा हूँ और मैं पहले से ही जी एस करने के लिए कॉल बाहर काम किया है:
<exec executable="${ghostscript.executable.name}">
<arg value="-q"/>
<arg value="-r72"/>
<arg value="-sDEVICE=png16m"/>
<arg value="-sOutputFile=${thumbnail.image.path}"/>
<arg value="${input.pdf.path}"/>
</exec>
तो मुझे क्या करना ${thumbnail.image.path}
के लिए सही मूल्यों बाहर काम कर रहा है की जरूरत है क्या और ${input.pdf.path}
जबकि traversing पीडीएफ इनपुट निर्देशिका।
मुझे एंटी-कॉन्ट्रिब तक पहुंच है (बस "नवीनतम" स्थापित किया गया है, जो कि 1.0b3 है) और मैं चींटी 1.8.0 का उपयोग कर रहा हूं। मुझे लगता है कि मैं <for>
कार्य, <fileset>
एस और <mapper>
एस का उपयोग करके कुछ काम कर सकता हूं, लेकिन मुझे इसे सभी को एक साथ रखने में परेशानी हो रही है।
मैं की तरह कुछ करने की कोशिश की:
<for param="file">
<path>
<fileset dir="${some.dir.path}/pdfs">
<include name="**/*.pdf"/>
</fileset>
</path>
<sequential>
<echo message="@{file}"/>
</sequential>
</for>
लेकिन दुर्भाग्य से @{file}
संपत्ति एक पूर्ण पथ है, और मैं रिश्तेदार घटकों में यह सड़ते के किसी भी आसान तरीका नहीं मिल रहा।
यदि मैं केवल कस्टम कार्य का उपयोग करके ऐसा कर सकता हूं, तो मुझे लगता है कि मैं एक लिख सकता हूं, लेकिन मुझे आशा है कि मैं केवल मौजूदा घटकों को एक साथ जोड़ सकता हूं।
यह बहुत दिलचस्प लगता है। क्या आप यह दिखाने के लिए अपने कोड का विस्तार कर सकते हैं कि मैं इसका उपयोग कैसे करूं? यानी मैं इसे कार्य के संयोजन के साथ उपयोग करता हूं, और यदि ऐसा है, तो क्या यह में जाता है? –