<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">&lt;<a moz-do-not-send="true"
          href="mailto:sbryzak@redhat.com">sbryzak@redhat.com</a>&gt;</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>