Utilice defaultExcludes
con ámbito para la tarea unmanagedResources
y opcionalmente la configuración. Por ejemplo, esta configuración excluye .java archivos de los recursos principales:
defaultExcludes in Compile in unmanagedResources := "*.java"
in Compile
limita a esta configuración sólo se aplican a los recursos principales. Al usar in Test
, se aplicaría solo a los recursos de prueba. Al omitir una configuración (es decir, no in Compile
o in Test
), la configuración se aplicaría a los recursos principales y de prueba.
in unmanagedResources
aplica estas exclusiones solo para recursos. Para aplicar excluye a las fuentes, por ejemplo, el alcance sería in unmanagedSources
. El motivo de la parte no gestionada es enfatizar que estos se aplican únicamente a fuentes no administradas (o editadas manualmente).
La clave defaultExcludes
tiene tipo sbt.FileFilter, por lo que el valor de configuración debe ser de este tipo. En el ejemplo anterior, "*.java"
se convierte implícitamente en un FileFilter. *
se interpreta como un comodín, por lo que el filtro acepta archivos con un nombre que termina en '.java'. Para combinar filtros, usa ||
y &&
. Por ejemplo, si .scala archivos necesarios para ser excluidos, así, el argumento a :=
sería:
"*.java" || "*.scala"
En el conjunto de archivos Ant original, los filtros de inclusión y exclusión seleccionar conjuntos mutuamente excluyentes de archivos, por lo que sólo una es necesario.
También es posible construir directamente el Seq[File]
para unmanagedResources
. Por ejemplo:
unmanagedResources in Compile <<=
unmanagedResourceDirectories in Compile map { (dirs: Seq[File]) =>
(dirs ** ("*.txt" || "*.csv" -- "*.java")).get
}
El método **
selecciona todos los descendientes que coinciden con el argumento FileFilter
. Puede verificar que los archivos se seleccionen como espera ejecutando show unmanaged-resources
.
Solo un aviso para las personas que miran esta pregunta, esto es SBT 0.10. –
¿Vale la pena crear una etiqueta sbt10? Es muy diferente de sbt07 ... – opyate
un aviso secundario - 'defaultExcludes' se desaprobó a favor de' excludeFilter'in sbt 0.11 – wbarksdale