Make include and exclude filters more consistent in name and behavior.

GlobalScope has conservative default with task specific filters explicitly modified.
This commit is contained in:
Indrajit Raychaudhuri 2011-09-03 02:09:25 +05:30
parent fd130fcb16
commit 5614243ce9
2 changed files with 12 additions and 8 deletions

View File

@ -107,11 +107,11 @@ object Defaults extends BuildCommon
)
def paths = Seq(
baseDirectory <<= thisProject(_.base),
includeFilter in GlobalScope :== NothingFilter,
excludeFilter in GlobalScope :== (".*" - ".") || HiddenFileFilter,
target <<= baseDirectory / "target",
defaultExcludes in GlobalScope :== (".*" - ".") || HiddenFileFilter,
historyPath <<= target(t => Some(t / ".history")),
sourceDirectory <<= baseDirectory / "src",
sourceFilter in GlobalScope :== ("*.java" | "*.scala"),
sourceManaged <<= crossTarget / "src_managed",
resourceManaged <<= crossTarget / "resource_managed",
cacheDirectory <<= target / "cache"
@ -124,7 +124,8 @@ object Defaults extends BuildCommon
scalaSource <<= sourceDirectory / "scala",
javaSource <<= sourceDirectory / "java",
unmanagedSourceDirectories <<= Seq(scalaSource, javaSource).join,
unmanagedSources <<= collectFiles(unmanagedSourceDirectories, sourceFilter, defaultExcludes in unmanagedSources),
includeFilter in unmanagedSources :== ("*.java" | "*.scala"),
unmanagedSources <<= collectFiles(unmanagedSourceDirectories, includeFilter in unmanagedSources, excludeFilter in unmanagedSources),
watchSources in ConfigGlobal <++= unmanagedSources,
managedSourceDirectories <<= Seq(sourceManaged).join,
managedSources <<= generate(sourceGenerators),
@ -138,7 +139,8 @@ object Defaults extends BuildCommon
unmanagedResourceDirectories <<= Seq(resourceDirectory).join,
managedResourceDirectories <<= Seq(resourceManaged).join,
resourceDirectories <<= Classpaths.concatSettings(unmanagedResourceDirectories, managedResourceDirectories),
unmanagedResources <<= (unmanagedResourceDirectories, defaultExcludes in unmanagedResources) map unmanagedResourcesTask,
includeFilter in unmanagedResources :== AllPassFilter,
unmanagedResources <<= collectFiles(unmanagedResourceDirectories, includeFilter in unmanagedResources, excludeFilter in unmanagedResources),
watchSources in ConfigGlobal <++= unmanagedResources,
resourceGenerators :== Nil,
resourceGenerators <+= (definedSbtPlugins, resourceManaged) map writePluginsDescriptor,
@ -151,7 +153,7 @@ object Defaults extends BuildCommon
docDirectory <<= (crossTarget, configuration) { (outDir, conf) => outDir / (prefix(conf.name) + "api") }
)
def addBaseSources = Seq(
unmanagedSources <<= (unmanagedSources, baseDirectory, sourceFilter, defaultExcludes in unmanagedSources) map {
unmanagedSources <<= (unmanagedSources, baseDirectory, includeFilter in unmanagedSources, excludeFilter in unmanagedSources) map {
(srcs,b,f,excl) => (srcs +++ b * (f -- excl)).get
}
)
@ -236,8 +238,6 @@ object Defaults extends BuildCommon
case Some(h) => ScalaInstance(h, launcher)
}
}
def unmanagedResourcesTask(dirs: Seq[File], excl: FileFilter) =
dirs.descendentsExcept("*",excl).get
lazy val testTasks: Seq[Setting[_]] = testTaskOptions(test) ++ testTaskOptions(testOnly) ++ Seq(
testLoader <<= (fullClasspath, scalaInstance, taskTemporaryDirectory) map { (cp, si, temp) => TestFramework.createTestLoader(data(cp), si, IO.createUniqueDirectory(temp)) },
@ -585,7 +585,7 @@ object Classpaths
exportedProducts <<= exportProductsTask,
classpathConfiguration <<= (internalConfigurationMap, configuration)( _ apply _ ),
managedClasspath <<= (classpathConfiguration, classpathTypes, update) map managedJars,
unmanagedJars <<= (configuration, unmanagedBase, classpathFilter, defaultExcludes in unmanagedJars) map { (config, base, filter, excl) =>
unmanagedJars <<= (configuration, unmanagedBase, classpathFilter, excludeFilter in unmanagedJars) map { (config, base, filter, excl) =>
(base * (filter -- excl) +++ (base / config.name).descendentsExcept(filter, excl)).classpath
}
)

View File

@ -80,7 +80,11 @@ object Keys
val sources = TaskKey[Seq[File]]("sources", "All sources, both managed and unmanaged.")
// Filters
val includeFilter = SettingKey[FileFilter]("include-filter", "Filter for including sources and resources files from default directories.")
val excludeFilter = SettingKey[FileFilter]("exclude-filter", "Filter for excluding sources and resources files from default directories.")
@deprecated("Use `includeFilter`, scoped by respective source related task instead. For example, `includeFilter in unmanagedSources`", "0.11.0")
val sourceFilter = SettingKey[FileFilter]("source-filter", "Filter for selecting sources from default directories.")
@deprecated("Use `excludeFilter`, scoped by respective task instead. For example, `excludeFilter in unmanagedSources`", "0.11.0")
val defaultExcludes = SettingKey[FileFilter]("default-excludes", "Filter for excluding files, such as sources and resources, by default.")
// Resource paths