On Mon, Jun 16, 2008 at 5:36 PM, Rickard Öberg <[EMAIL PROTECTED]> wrote: > Niclas Hedhman wrote: >> You will of course need the runtime.jar at deployment time, but for >> dependency declarations, I would like to have a reflective lookup >> (like the JRE's service/extension mechanisms) of both runtime and spi >> providers in bootstrap, so "most code" only declare dep on >> api+bootstrap (or maybe even move bootstrap classes into API). > > As it is bootstrap only exposes API classes, so to use it there's no > need to add depedency on runtime. Isn't that enough? What is not > accomplished by that?
I don't think I understand your statement. Right now, bootstrap depends on runtime. This creates a transitive dependency in "my code" on the qi4j-core-runtime.jar, and "my code" has the Runtime classes visible, and that can/will be abused. By doing a reflective solution (there are a few ways to do it), and get the qi4j-core-bootstrap.jar to not have a dependency on qi4j-core-runtime.jar, it means that "my code" has no visibility at all into the runtime classes, which reduces the risks of abuse. Theoretically, it also means that one could create a new compatible runtime and plug that in at deployment time. This might be the case for OSGi and other container deployment scenarios. Not that the entire runtime is replaced, but perhaps that some parts are different "to get going"... This whole exercise is not very high on the todo list at the moment, but is to me a showstopper for a 1.0-final. Cheers Niclas _______________________________________________ qi4j-dev mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/qi4j-dev

