On Tue, Aug 16, 2011 at 22:57, Shane Bryzak <span dir="ltr"><<a href="mailto:sbryzak@redhat.com">sbryzak@redhat.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div text="#000000" bgcolor="#FFFFFF">
Of course, but we break that rule. Solder is one example, there's
multiple utility classes in the implementation that are required to
compile other modules.</div></blockquote><div><br></div><div>I consider that a bug (or a work in progress, depending on how you look at it).</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div text="#000000" bgcolor="#FFFFFF">Also, by making the implementation
runtime-only, the user is forced to declare two dependencies for
their project, one for the API and one for the implementation. If
the implementation was compile-scoped, they could just declare the
implementation dependency and the API would then be pulled in
automatically. This is the kind of stuff we need to discuss and
come to a resolution on.</div></blockquote><div><br></div><div>Again, I don't think one dependency is a holy grail. We are making an optimization that I don't find necessary. Making an implementation compile-scoped could be classified as careless programming (by some strict architects, let's say).</div>
<div><br></div><div>If it's setup correctly, depending on seam-faces (the impl) should make it a runtime dep, make the api compile time, make any dependent api compile time and make any dependency impl runtime. If Maven can't accommodate that, then it's just a pita (even then, the worse thing that happens is that the user has two dependencies).</div>
<div><br></div><div>-Dan</div><div><br></div></div>-- <br><div>Dan Allen</div>Principal Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><div><a href="http://www.google.com/profiles/dan.j.allen#about" target="_blank">http://www.google.com/profiles/dan.j.allen#about</a><br>
<a href="http://mojavelinux.com" target="_blank">http://mojavelinux.com</a><br><a href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br></div><br>