2010-03-04 2 views
6

Wir haben im Moment eine Ameise Aufgabe haben, die etwas ähnlich der folgenden enthält:Ist es möglich, eine Liste von Dateien durch refid in ant ein- oder auszuschließen?

 <filelist dir="${css.dir}" id="ordered_css"> 
     <file name="interface/foo.css" /> 
     <file name="pages/monkey.css" /> 
     <file name="pages/ninja.css" /> 
     <file name="pages/sidebar.css" /> 
     <file name="pages/bar.css" /> 
     <file name="pages/baz.css" /> 
     <file name="pages/robot.css" /> 
    </filelist> 

    <patternset id="exclude_css"> 
     <exclude name="interface/foo.css" /> 
     <exclude name="pages/monkey.css" /> 
     <exclude name="pages/ninja.css" /> 
     <exclude name="pages/sidebar.css" /> 
     <exclude name="pages/bar.css" /> 
     <exclude name="pages/baz.css" /> 
     <exclude name="pages/robot.css" /> 
    </patternset> 

Die Aufgabe dann hier die patternset verweist:

<fileset dir="${css.dir}" id="stuff_css" includes="*/stuff/*.css"> 
    <patternset refid="exclude_css" /> 
</fileset> 

Und weiter unten, verweist er die fileset hier:

Gibt es eine Möglichkeit, die beiden Listen von Dateien in einem Typ zu konsolidieren, der referenziert werden kann i An beiden Orten? Bis jetzt war ich nicht in der Lage, einen Weg zu finden, da das Musterset Ausschlüsse enthält. Ich hoffte auf eine Möglichkeit, einfach eine Liste von Dateien zu erstellen und die referenzierte Liste ein- oder auszuschließen.

Antwort

5

Ein property kann von beiden verwendet werden, wenn Sie die Attribute filelist files und patternset excludes verwenden.

<property name="css_files" 
      value="interface/foo.css 
       pages/monkey.css 
       pages/ninja.css 
       pages/sidebar.css 
       pages/bar.css 
       pages/baz.css 
       pages/robot.css"/> 

<filelist id="ordered_css" dir="${css.dir}" files="${css_files}"/> 

<patternset id="exclude_css" excludes="${css_files}"/> 
+0

https://ant.apache.org/manual/Types/patternset.html – Vadorequest

Verwandte Themen