felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jan S. Rellermeyer" <rellerme...@inf.ethz.ch>
Subject RE: Importing packages and using classes from the bundle that exported it
Date Sun, 17 Dec 2006 18:59:39 GMT
> Verifying again the classes I was using I realized that Eclipse pointed to
import the class I was using (called MPCLPingResultVO) from other project
that I was using as a dependency. That was the problem.

Yes, that's a sometimes annoying side-effect copy/paste in Eclipse. I ran so
often into it ...

So taking on the previous discussions on Eclipse, Maven and OSGi, I can
state from my experience that the different handling of dependencies is the
cumbersome part, much more than the quality of the individual strategies. 

In Eclipse, everything resides in a magic "bin" folder and over the time, a
lot of old (and dead) code is accumulating which sometimes lead to strange
side-effects. (Not to speak from those effects that you have just
encountered: An innocent paste sometimes introduce dependencies that were
never intended and as long as you stay in Eclipse, they can easily been
overseen unless you try to run it on "real OSGi".) So a regular cleaning of
the project is necessary. 

Since Eclipse is not able to manage multiprojects, I need maven to do this
task. Maven has it's own repository where the dependencies bundles are
stored and every subproject has its own target folder. Once again, regular
cleanups or strange behaviors. What comes out in the end of this process is
still often not what I have intended to do, no matter which plugin I use. 

When I start my Eclipse in the morning, I can go for breakfast, read and
reply to all my mails that have arrived over night (even read all the new
posts on the felix mailing list :-)) and still have to wait since it takes
minutes until the workspace has finished building all the open projects. The
reason for this? It's the Maven-Eclipse integration that makes things so
slow. But if I don't have it, I have yet another layer where I have to
maintain the dependencies between the bundles. A layer additional to the
poms that I need for building and to my different OSGi deployments with all
their startup scripts that I need for running and testing. (To make matters
even worse, I am a pervasive computing person, so I have a number of
different deployments for each project). Everytime I move to a new version
of a bundle, I have to manually adjust all the dependencies anyway.  

So from my point of view, the transition from the PDE to a BDE is the thing
that would make my life a lot easier. But most important, the one bundle =
one project strategy is far away from reality when it comes to the
development of real-life OSGi applications (and this is from my point of
view the main difference between plugins and bundles: The complexity of the
modularization and the resulting dependency structure). 



ETH Zurich, MSc Jan S. Rellermeyer,
Information and Communication Systems Research Group (IKS),
Department of Computer Science, IFW B 47.1, 
Haldeneggsteig 4, CH–8092 Zürich 
Tel +41 44 632 30 38, http://www.iks.inf.ethz.ch

View raw message