tschaub/buildkit — pull request #1 by ahocevar (2011-11-10 15:25:04+00:00)
Title: Respect exclude not only for @include, but also for @require.

This allows us to manually exclude files or directories that are provided by other resources already.

A typical [example](http://getsatisfaction.com/opengeo/topics/changing_locale_in_geoxeplorer?utm_content=reply_link&utm_medium=email&utm_source=reply_notification#reply_6681329) for this are @require statements for external libraries, e.g. [this one](https://github.com/GeoNode/PrintPreview/blob/master/lib/locale/PrintPreview-fr.js#L10) in the GeoExt PrintPreview UX. Right now we work around this issue by using a deeper level in the directory structure as root:

[PrintPreview.js]
root = app/static/externals/PrintPreview/lib/GeoExt.ux

This gives us the library code itself, but we have to say goodbye to language resources in app/static/externals/PrintPreview/lib/locale.
After this change, we could have the following and get the library plus the language resources:

[PrintPreview.js]
root = app/static/externals/PrintPreview/lib
exclude =
loader.js
GeoExt/

Without this change, buildkit would try to include GeoExt/Lang.js (a @require dependency in app/static/externals/PrintPreview/lib/locale/PrintPreview-fr.js), because exclude configurations are only respected for @include dependencies.