Hey, actually Pax Exam was born as an internal Java based DSL for Pax Runner, _the_ way to create & launch OSGi runtimes back in 2009/2010. Then Exam superseded Runner in terms of breadth and usecases (native containers, forked containers, Java EE support etc). So you barely see the runner relationship anymore.
However, in the early days we actually used the Server Mode (i see it is still there, at least API wise) to share a test configuration with an actually runtime bootstrapper using Server Mode. That mode used to not install the remote bundle context for example that is used to inject the test probe) and other test specific stuff. So your actual runtime stays clear of test stuff. Also the shutdown semantics are different of i recall correctly. Anyway it is now 2016, luckily Pax Exam is still around and with good Karaf support better than ever. Lets rule out some other options you have: - Bnd/Bndtools can "export" fatjars which include all bundles. The super minimal included Bnd Launcher is really simplistic though. If you have created the perfect OSGi system that might work (i am refering to the fact that you cannot and should not control any bundle ordering in bnd. They always launch in alphabetic-order of Symbolic-BundleName - i think it is). Usually you have a more subsytem/feature based system like Karaf is. You simply want to have more control. Right now there is no way to share a Exam @Configuration with Bnd Runlist Definition. Here is the documentation about bnd launcher. <http://bnd.bndtools.org/chapters/300-launching.html> - Pax Runner is still being updated. Unfortunately the pax-exam-paxrunner-container (where it all started) has been discontinued unfortunately. That one would have given you perfect interopability since @Configuration options where translated to pax runner arguments 1:1. - pax:provision used to be the maven frontend (goal) for pax runner. I think its even less support these days than runner. - Karaf Distribution: that seems to be the way to go right now. You can define your "system" as features & custom karaf distro. Both can be used with Exam which should give you exactly what you want. So your system is defined by Karaf Semantics instead of the Pax Exam @Configuration DSL. I think this is what Christian & Achim is suggesting. Here is the Karaf Documentation about that. <http://karaf.apache.org/manual/latest/#_custom_distributions> Just some thoughts. Keep us posted about what you think. - and do. ;) You might want to look at Karaf Boot if you are into internal java DSLs. Though this ties you even more to Karaf. Depends on if you like that. *Toni Menzel* *Developer Advocates - The Rebaze Way * *www.rebaze.de <http://www.rebaze.de/> | www.rebaze.com <http://www.rebaze.com/> | @rebazeio <https://twitter.com/rebazeio>* On Wed, Oct 19, 2016 at 5:30 PM, Steinar Bang <[email protected]> wrote: > >>>>> "'Achim Nierbeck' via OPS4J" <[email protected]>: > > > Hi, > > there used to be the pax-runner doing exactly this, but as it's not used > as > > the heart for Pax-Exam it only has frequent updates. > > Never the less people still use it. > > Hand! :-) > https://github.com/steinarb/ukelonn/tree/master/ukelonn.gogoshell > > Usage: > git clone https://github.com/steinarb/ukelonn.git > cd ukelonn > mvn clean install > mvn pax:provision > > The "pax:provision" step fires up an OSGi runner containing the > dependencies in: > https://github.com/steinarb/ukelonn/blob/master/ukelonn.gog > oshell/provision/pom.xml > > Note that transitive dependencies are pulled in, and if OSGi bundles, > started. > > The explicit excludes are to avoid bundles providing incompatible > versions of the same exported packages from being pulled in as > transitive dependencies. > > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - [email protected] > > --- > You received this message because you are subscribed to the Google Groups > "OPS4J" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- -- ------------------ OPS4J - http://www.ops4j.org - [email protected] --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
