Good afternoon everyone,
I'm doing OSGi development with Spring-DM and the PAX tooling. First
let me give a big "Thank You" to the PAX team. The tooling does make my
life a lot easier.
I have some thoughts on the tooling, hopefully I will not embarrass
myself too much...
So I use the PAX construct, runner and cursor Eclipse plug in. I have
the standard provision, compiled bundle settings, wrapped jar settings
and my bundles.
I tried the PAX profiles in my top level pom file, these deploy Spring
DM and logging and confman just fine. As noted recently on the mailing
list, these don't let you set versions, so you get what you get. This
is a problem for me as I do need to set the versions. Also, when I run
my "mvn pax:eclipse" the bundles from the profiles are not added to my
classpath in Eclipse. Am I missing something here? So I add them with
a scope of "provided", but this seems to be unnecessary. I finally gave
up on the profiles and now list the bundles that I want in my provision
pom.xml.
This has the added benefit of having more control of the bundle loading
order as the bundles are loaded in the order listed in the provision
pom.xml. This was also noted recently on the mailing list that there
does not appear to be a way to set the start order in a maven pom.xml
file. You can do it from cursor in Eclipse, but not from the pom.xml.
So, fine, now I have my dependencies in the provision pom file.
Unfortunately, dependencies scoped as test don't seem to contribute to
the classpath. I had to put my test scoped dependencies in the compiled
bundle settings pom.xml? This works, the bundles show up on the
classpath, but I would prefer to only have build settings in that pom
file.
I would also like to have dependencies in my projects pom files deployed
automatically. As an example, I have web service client bundles in my
communications project as dependencies. These are not deployed unless
they are listed in the provision pom.xml. Similarly, I have a web UI
project that needs servlet api 2.4. The servlet dependency must also be
listed in the provision pom.xml. So when I run "mvn pax:eclipse"
non-web based projects end up with servlet api in their classpath. I
figure that I must just be doing something fundamentally wrong.
I have dependencies in multiple pom.xml files. As noted above, these
are in provision, compiled bundle settings and my project poms. In
order to manage version dependencies for Felix, Spring-DM and many other
things, I have properties for versions defined in my top level pom file.
However, in Eclipse and Cursor, I need to include the provision pom so
that all of the needed bundles will get deployed. Unfortunately, the
versions that are defined in my top level pom file are not found, so
using ${pax.logging.ver} in the provision pom gives an error at
deployment time. This forces me to duplicate the properties in the top
level pom in provision pom. This is a bit ugly.
Apologies for the long post, any insight or guidance would be deeply
appreciated,
Doug
_______________________________________________
general mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/general