2010-03-04 9 views
6

Mamy ant zadania, które zawiera coś podobnego do poniższego:Czy możliwe jest dołączenie/wykluczenie listy plików przez przetworzenie w mrówce?

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

Zadaniem następnie odwołuje się patternset tutaj:

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

I dalej w dół, to odwołuje się do zestawu plików tutaj:

<concat destfile="build/all.css" append="false" force="yes"> 
    <filelist refid="ordered_css" /> 
    <fileset refid="stuff_css" /> 
</concat> 

Czy istnieje sposób konsolidacji dwóch list plików w jeden typ, do którego można się odwoływać w obu miejscach? Do tej pory nie byłem w stanie znaleźć sposobu, ponieważ zestaw wzorców zawiera wykluczenia. Miałem nadzieję na sposób, aby po prostu utworzyć listę plików i uwzględnić lub wykluczyć listę, do której się odnosi.

Odpowiedz

5

A property może być użyty przez oba, jeśli używasz atrybutów filelist files i patternset excludes.

<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

Powiązane problemy