harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Ellison <t.p.elli...@gmail.com>
Subject Re: Bootstrapping the classlibrary builds
Date Tue, 27 Dec 2005 20:34:44 GMT
Geir Magnusson Jr wrote:
> On Dec 25, 2005, at 5:13 PM, Tim Ellison wrote:
>> Stefano Mazzocchi wrote:
>>
>>> Maybe I'm missing something, but if A depends on B and B depends  on A,
>>> isn't the separation between A and B something to reconsider?
>>
>> I agree that we should be minimizing these circular dependencies,  but if
>> you make their avoidance a hard rule then you soon end up dragging  lots
>> of code into a single massive-component.
> 
> Is that really true?  The component can be a packaging artifact,  can't
> it?  build a pile of class files in the easiest way possible,  and then
> package as you need to...

That's what I'm saying really.  So consider build-time and runtime
separately.

At buildtime such cyclical dependencies likely mean that you want to
build everything together so that all references can be resolved, and
package them up into separate bundles (=JARs).  This means that the unit
of compilation is a single massive component, and is the approach we
have got at the moment in the classlib/trunk/make/build.xml.

We should aim to have the components separate at runtime (those
different bundles) otherwise we would end up back at a monolithic
rt.jar.  Now the rt.jar has some advantages, but if you want the runtime
modularitity benefits of the OSGi framework then you have to go down the
path of separate bundle JARs.  Minimizing the dependencies between the
bundles will enhance the benefits of the bundle componentization.

p.s.  It is too bad that the OSGi bundles are so closely tied to the
physical packaging of the code in JAR files -- but I don't see that
changing anytime soon.

Regards,
Tim


-- 

Tim Ellison (t.p.ellison@gmail.com)
IBM Java technology centre, UK.

Mime
View raw message