On Mon, Apr 12, 2010 at 12:10 PM, John Tamplin <j...@google.com> wrote:

>
>
How would you handle the following:
>
> A: include foo*.java, exclude b*.java
> B: include bar*.java, exclude foobaz.java
>
> I am assuming your union would be the following:
>
>    - all foo*.java
>    - all bar*.java
>
> Is that correct?
>

Close, but it'd actually include all foo*.java and all b*.java, not just
bar*.java.  But you probably knew that and just typo'ed....


It seems like maybe you would want to merge in the excludes as well so that
> the most specific rule applies, which would remove foobaz.java from the
> list.
>

No, I think that's wrong.  A wants foobaz.java, so if B takes it away, then
it breaks A, which my app needed.  So either I should remove the inherits of
A (in which case the problem goes away 'cause I didn't need A after all), or
I need GWT to see the union of anything passed by *either* A *or* B.  B
can't yank the rug out from under A.

This also means I don't believe in the "foobaz is toxic to me, keep it away
at all costs" storyline for <excludes/>.  I instead read <source
...><excludes/></source> as "I need ... but don't care about  ...," which
leaves the option for some other module A to pull in the files that it needs
but B didn't care about.

Find me a counter-example and I'll change my mind, but I think the "toxic"
interpretation of <excludes/> introduces a new error case (B removing what A
wants) without solving an actual problem (if foobaz is toxic, it's toxic to
everybody, not just B, and A can have no legitimate usecase for it).

-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

To unsubscribe, reply using "remove me" as the subject.

Reply via email to