2012-09-27 19 views
7

Bir dış kütüphane için gerekli olan geliştirme ilgili dizini src/main/resources/certs/test var. Bu, üretim yapısında gerekli olmayan bazı sertifika dosyalarına sahiptir. Şu andaGradle 1.2: Kaynaklar dizini kaynağında kalkar Kaynak kümeleri

ben build.gradle yılında blok sonrası o dizin altında her şeyi dışarıda:

sourceSets { 
    main { 
     resources { 
      exclude '**/test/*' 
     } 
    } 
} 

Bu buna da bir iş, ama orada yatan çirkin boş dizini test bırakır. Bu dizini son savaşta içermeyen seçeneklerim nelerdir?

'**/test' hariç tutmayı denedim, ancak hiç çalışmıyor.

savaşın eklentisi ve Gradle 1.2

cevap

26

Gradle 1.1 kullanarak, bu benim için çalışıyor:

apply plugin: 'war' 

sourceSets { 
    main { 
     resources { 
      exclude '**/test/*' 
      exclude 'certs/test' 
     } 
    } 
} 
+1

Temizledikten sonra çalıştı. 'gradle clean build' – Philippe

+0

Her dosya ve klasörü ve alt klasörü hariç tutmak için aşağıdakileri kullanabilirsiniz:' resources {exclude '*. *' Exclude '** /'} ' –

0

ortak projet düzeni test kaynak seti altında test dosyaları koymak, sen main kaynak setinden onları dışlamak zorunda değilsiniz bu şekilde kullanın. Gradle documentation itibaren

, varsayılan proje düzeni şu şekildedir:

src/main/java  Production Java source 
src/main/resources Production resources 
src/test/java  Test Java source 
src/test/resources Test resources 
+0

Standart düzeni biliyorum. Soru, projemin düzeni ve standardın ne olduğu hakkında değil, dizinleri hariç tutmak için Gradle funcionality. Projemi yeniden biçimlendirebilirim, ama ilk soru kalır. –

+0

Bu düzen standarttır ve ayrıca [tamamen pratik değildir] (http://blog.ltgt.net/maven-is-broken-by-design) ("proje yerleşimini" ara). Düştüğüm her gün hoşlandığım bir şey. – maaartinus

4

Bir JAR üretim dosyaları ile benzer bir sorun vardı dosya (benimki test dosyaları değil). Aşağıdaki ile çözdüm:

ör.

jar { 
    exclude ("test/**") 
} 
İlgili konular