<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Ok, well we can add extra rules to this module:<br>
<br>
* no non-optional dependencies on other jars (must be self contained)<br>
* bean validation must have no deps outside BV api<br>
<br>
I think it would be sensible to add a short contract.txt to each module to include these requirements. Shane, could you add these?<br>
<br>
Technically that is the purpose of the maven enforcer plugin. With patience, it can be configured to fail the build when certain dependencies show up (or are outside of a pattern list).<br>
<br>
You need more than that - you need to execute an test for each piece of functionality that has such a contract and ensure it runs with only it&#39;s deps in the classpath. The enforcer plugin is more about enforcing a rule on a dependency management, not on how people write code AFAIK.<br>

<br>
True, I was thinking more in terms of an alternative to contract.txt, which just makes me cringe. We should enforce the requirement declaratively (and tie it into the build), then write tests if necessary that validate it further.<br>

</blockquote>
<br></div>
Yes, definitely there should be tests to enforce this, but you need to specify what the contract is somewhere, so that when someone comes along to write the code, they understand the requirements.</blockquote><div><br>So we&#39;ll take both approaches and we&#39;ll have all the bases covered ;)<br>
<br>-Dan</div></div><br>-- <br>Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br>
<a href="http://in.relation.to/Bloggers/Dan">http://in.relation.to/Bloggers/Dan</a><br><br>NOTE: While I make a strong effort to keep up with my email on a daily<br>basis, personal or other work matters can sometimes keep me away<br>
from my email. If you contact me, but don&#39;t hear back for more than a week,<br>it is very likely that I am excessively backlogged or the message was<br>caught in the spam filters.  Please don&#39;t hesitate to resend a message if<br>
you feel that it did not reach my attention.<br>