<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 17/08/11 13:05, Dan Allen wrote:
<blockquote
cite="mid:CAKeHnO6+WxvqZkopoHi6kk114bf81FacDTKCTkajsd=ojgsekA@mail.gmail.com"
type="cite">On Tue, Aug 16, 2011 at 22:57, Shane Bryzak <span
dir="ltr"><<a moz-do-not-send="true"
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>
</blockquote>
<br>
George suggested that we make solder a single jar, and to me it
makes sense considering it's a set of utility features, and it would
solve this problem.<br>
<br>
<blockquote
cite="mid:CAKeHnO6+WxvqZkopoHi6kk114bf81FacDTKCTkajsd=ojgsekA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<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>
</blockquote>
<br>
That's fine as long as we're consistent with it.<br>
<br>
<blockquote
cite="mid:CAKeHnO6+WxvqZkopoHi6kk114bf81FacDTKCTkajsd=ojgsekA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<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>
</blockquote>
<br>
Maven won't allow this. If the dependency is runtime, it will be
totally ignored during the compile phase.<br>
<br>
<blockquote
cite="mid:CAKeHnO6+WxvqZkopoHi6kk114bf81FacDTKCTkajsd=ojgsekA@mail.gmail.com"
type="cite">
<div class="gmail_quote">
<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 moz-do-not-send="true"
href="http://www.google.com/profiles/dan.j.allen#about"
target="_blank">http://www.google.com/profiles/dan.j.allen#about</a><br>
<a moz-do-not-send="true" href="http://mojavelinux.com"
target="_blank">http://mojavelinux.com</a><br>
<a moz-do-not-send="true"
href="http://mojavelinux.com/seaminaction" target="_blank">http://mojavelinux.com/seaminaction</a><br>
</div>
<br>
</blockquote>
<br>
</body>
</html>