2009-08-04 9 views
5

Dosyaları bir makroda kopyalamaya çalışıyorum, örneğin:Bir <macrodef> karıncada <copy> nasıl?

<project name="why" default="go"> 
    <macrodef name="copy-some-stuff"> 
    <attribute name="file.name" /> 

    <copy todir="/var/tmp"> 
     <fileset file="${file.name}" /> 
    </copy> 
    </macrodef> 

    <target name="go"> 
    <copy-some-stuff file.name="/etc/hosts" /> 
    </target> 
</project> 

ama şu

BUILD FAILED 
b.xml:3: macrodef doesn't support the nested "copy" element. 

olsun "Evet, bağımsız, makrodef iç içe geçmiş "copy" öğesi. Bende çok var. Bu sınırlamanın neden burada olduğunu ve olası bir geçici çözümün (antcall kullanmadan) nedenini arıyorum.

+0

görünüyor. –

cevap

9

deneyin: Birisi macrodef için kılavuzu okumadım gibi

<macrodef name="copy-some-stuff"> 
    <attribute name="file.name" /> 
    <sequential> 
     <copy todir="/var/tmp"> 
      <fileset file="@{file.name}" /> 
     </copy> 
    </sequential> 
</macrodef> 
+1

Teşekkürler. Makrodaki özniteliklerin kullanımını da bastım gibi görünüyor. Olması gereken: @ param not $ kullanarak bildirim. – Trenton

+0

Gerçekten de farketmedim. Cevabımı buna göre değiştirdim. –

+0

Bunun neden işe yaradığını biraz açabilir misiniz? –

İlgili konular