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. 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.
On 17/08/11 12:48, Dan Allen wrote:
On Tue, Aug 16, 2011 at 22:27, Shane Bryzak <sbryzak(a)redhat.com
<mailto:sbryzak@redhat.com>> wrote:
Another thing to add to the agenda which we need to discuss is
dependency scopes. In particular, we need to review our previous
decision to make the implementation component of a module
runtime-scoped, in light of the fact that we now no longer have
combined jars.
Isn't the idea of having an API and implementation split is that you
should not be compiling against anything in the implementation? Of
course, an end user can choose to override that convention to make the
implementation a compile-time scope, but we don't want to encourage
that, do we?
-Dan
--
Dan Allen
Principal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597
http://www.google.com/profiles/dan.j.allen#about
http://mojavelinux.com
http://mojavelinux.com/seaminaction