2012-09-27 24 views
7

Tengo el directorio relacionado con el desarrollo src/main/resources/certs/test que se necesita para una biblioteca externa. Esto tiene algunos archivos cert que no son necesarios en la construcción de producción.Gradle 1.2: Excluir directorio en recursos sourceSets

En el momento en que excluye todo bajo ese directorio con el siguiente bloque en build.gradle:

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

Esto hace que el trabajo bien, pero deja directorio vacío feo test tendido. ¿Cuáles son mis opciones para no incluir este directorio en la guerra final?

He intentado excluir '**/test', pero no funciona en absoluto.

utilizo plugin de guerra y Gradle 1.2

Respuesta

26

Usando Gradle 1.1, esto funciona para mí:

apply plugin: 'war' 

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

Una vez que lo limpié, funcionó. 'gradle clean build' – Philippe

+0

Puede usar lo siguiente para excluir todos los archivos, carpetas y subcarpetas:' resources {exclude '*. *' Exclude '** /'} ' –

0

Un diseño Projet común es poner los archivos de prueba en el marco del conjunto test fuente, de esta manera usted no tiene que excluirlos del conjunto main fuente.

Desde el Gradle documentation, el diseño del proyecto por defecto es la siguiente:

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

Conozco el diseño estándar. La pregunta no es sobre el diseño de mi proyecto y qué tan estándar es, sino la funcionalidad de Gradle para excluir directorios. Puedo reformatear mi proyecto, pero la pregunta inicial permanece. –

+0

Este diseño es estándar, y también [totalmente impráctico] (http://blog.ltgt.net/maven-is-broken-by-design) (busque "diseño del proyecto"). Dejarlo caer es algo que disfruto todos los días. – maaartinus

4

He tenido un problema similar con los archivos de producción en un frasco archivo (aunque el mío no eran archivos de prueba). Lo resolví con lo siguiente:

jar { 
    exclude ("DIRECTORY-TO-EXCLUDE/**") 
} 

p.

jar { 
    exclude ("test/**") 
} 
Cuestiones relacionadas