2012-03-07 4 views
11

Mezarda bir maven dönüşümü yapıyorum ve aşağıdakileri gerçekleştirmenin en iyi yolunu görmek istiyorum. Şu anda src/main/webapp altında birden fazla dosyam var. Bazılarının filtrelenmiş bir şekilde ihtiyacı vardır ve bazılarının bir diğerinde filtrelenmesi gerekir.Bir dosya alt grubunu src/main/webapp içinde filtrelemenin yolu nedir?

Özellikle src/main/webapp altında html ve binary içeren bir foo dizinim var ve webapp altında html dahil birçok başka dosya var. Sadece foo/*. Html dosyalarını filtrelemek istiyorum.

war { 
    eachFile { 
    if(shouldFilter(it)) { 
     it.filter(ReplaceTokens, tokens: [key: 'value']) 
    } 
    } 
} 

def shouldFilter(input) { 
    input.path.contains('foo') && input.name.endsWith('.html') 
} 

veya varsayılan

war { 
    from('src/main/foo-pre-filter') { 
    into 'foo' 
    include '*.html' 
    filter(ReplaceTokens, tokens: [key: 'value']) 
    } 
} 

tarafından kopyalanan Ya Kaçırdığım başka seçenek yoktur değil, kendi dizinine her alt kümesini taşıyın: Benim kavramsal build.gradle olarak

Ben de yapabilirim ?

+0

Yapmanız gereken farklı filtre türleri nelerdir? İlk bloğu kullanırım ve tüm dosyaları – Ethan

+0

teşekkürler üzerinden filtreyi çalıştırıp bırakıp bırakmamı sağlarım. İlk seçeneğin benim için harika çalıştı. –

cevap

13

Soruyu doğru anlıyorsam, filesMatching'i kullanabilirsiniz. Ayrıca, savaş görevinin aksine, processResources görevinin bir parçası olarak yapacağım.

processResources { 
    filesMatching('foo/*.html') { 
     filter(ReplaceTokens, tokens: [key: 'value']) 
    } 
} 

Ben ilk soru 2 yıl önce istendi gerçekleştirmek, bu nedenle bu muhtemelen asker yardımcı olmaz, ama belki de gelecekte başkası yardımcı olabilir: Bu gibi bir şey olur.

+4

"ReplaceTokens" öğesini içe aktarmanız gerektiğini unutmayın, örneğin, import org.apache.tools.ant.filters.ReplaceTokens ' – Leukipp

+0

Bu yanıt, "src/main/resources" içindeki dosyalar için çalışır, ancak src/main içindeki dosyalar için geçerli değildir./webapp' sorusu başlığında açıkça soruldu. – Codo

+0

src/main/webapp içindeki dosyalar için çözüm nedir ??? – KaviK

İlgili konular