sbt-web plugin that filters intermediate assets on the asset pipeline.
This plugin may be used to remove any intermediate or unnecessary assets from the product build of your project. Only assets directly owned by the project can be filtered. Any assets living in the "lib" subdirectory are explicitly left unfiltered.
Add the plugin to the
project/plugins.sbt of your project:
addSbtPlugin("com.slidingautonomy.sbt" % "sbt-filter" % "1.0.1")
Your project's build file also needs to enable sbt-web plugins. For example with build.sbt:
lazy val root = (project in file(".")).enablePlugins(SbtWeb)
The plugin must then be added as a new stage in the asset pipeline.
pipelineStages := Seq(filter)
By default, the plugin allows all assets to pass through the pipeline. To filter assets, you must explicitly configure the includeFilter and excludeFilter to match your requirements.
Any asset matched by the includeFilter will be filtered from the build, unless it also matches the exclude filter. Because filtering is a negative action, the sense of the includeFilter and excludeFilter may seem reversed. Remember that the includeFilter selects assets to be filtered while the excludeFilter removes assets from the list of assets that will be filtered.
For example, to remove the original CoffeeScript and LESS sources from the assets build:
includeFilter in filter := "*.coffee" || "*.less"
includeFilter in filter := "*.js" excludeFilter in filter := "main.js"