2010-09-26 24 views
6

Belirli bir dosya grubunda iki kez bir derleyici çalıştırması gereken ANT'de bir hedefim var: bir kez hata ayıklaması için, bir kez üretim için. Sadece kaynak dosya değiştiyse derleyiciyi çalıştırmak istiyorum, bu yüzden bir <modified> seçicisini kurdum. Ancak, belirli bir değiştirilmiş dosya için çalıştırmak için hata ayıklama ve prod görevine ihtiyaç duyduğumdan, ilk çalıştırmada update özelliğini false olarak ayarladım. Ben bu satırlar boyunca bir şey var:Antenin düzgün çalışması için <modified> seçimini yapma

<!-- Do the debug build --> 
<apply executable="compiler"> 
    <fileset dir="${js.src.dir}" includes="*.js"> 
     <!-- don't update the cache so the prod build below works --> 
     <modified update="false" 
      seldirs="true" 
      cache="propertyfile" 
      algorithm="digest" 
      comparator="equal"> 
      <param name="cache.cachefile" value="cache.properties"/> 
      <param name="algorithm.algorithm" value="md5"/> 
     </modified> 
    </fileset> 
    <args for debug build/> 
</apply> 
<!-- Do the production build --> 
<apply executable="compiler"> 
    <fileset dir="${js.src.dir}" includes="*.js"> 
     <modified update="true" 
      seldirs="true" 
      cache="propertyfile" 
      algorithm="digest" 
      comparator="equal"> 
      <param name="cache.cachefile" value="cache.properties"/> 
      <param name="algorithm.algorithm" value="md5"/> 
     </modified> 
    </fileset> 
    <args for prod build/> 
</apply> 

Ancak bu çalışmaz. Derleyiciye ilk çağrım zaten önbelleği güncelliyor ve ikinci çağrı atlanıyor. Burada neyi özlüyorum?

GÜNCELLEME: Ben görünüşte 1.8.0 kadar bozuldu <modified>

+0

Bir derleme makroyu oluşturmak ve daha sonra, çoğaltmak yerine hata ayıklama ve prod için farklı yayınlarda geçmek daha iyi olurdu. – thekbb

cevap

İlgili konular