The wait is over: Pax Runner is released
It took about three months from the last release but finally I put out a new release of Pax Runner. The wait was mainly to my busy schedule working for Sonatype but also because I was waiting for OSGi Alliance to release 4.2.
Now, why should I wait for release 4.2? Because in this version we included Apache Felix 2.0 (see bellow) and this is the first version of Felix implementing the 4.2 specs. And since Pax Runner was always provisioning automatically the OSGi Alliance Compendium bundle corresponding to the version of specs implemented by targeted framework. And this brings us to the first noteworthy fact in Pax Runner 1.2.0:
Provision the OSGi Alliance of your need
Why should Pax Runner decide for you what OSGi Alliance compendium bundle you need? Is this one different then any other bundle? No, I would say. The choice of what version to be provisioned or if should be provisioned at all is up to the user, not to the tool. So, from now on Pax Runner does not provision anymore the compendium bundle. But wait a minute. Is now harder to get started? I would say not. Indeed there are some more letters to type but you have the full control:
pax-run compendium // provision latest version of compendium (4.2 for now)
pax-run compendium/4.1 // provision version 4.1 of compendium
But what is this? I do not know this type of provisioning. What it is? It is an alternative way to specify profiles.
Easier way to specify profiles
If you do not know what are Pax Runner profiles you better catch up so can get started faster. Till now you had to specify profiles using the “–profiles” option. Not bad. But why should you type “–profiles” at all? No reason from now on. You just name the profiles you need on the command line. As you see above. In that case the “compendium” is just a profile as any other. Read more about about …
Now back to our man “business”: easy start to OSGi frameworks. In this version we added support for Apache Felix 2.0.0, Makewave Knopflerfish 2.3.2, 2.3.3 and support 3.0.0 beta 1 version.
Chose the shell you like and know
Did you find yourself typing “ps” while in Equinox? Or “ss” while in Felix or Kf? Then you will like the new option “–shell” that will allow you to use the same shell across the frameworks. And Apache Karaf Shell 1.0.0 is around the corner Best I saw till now (extensible, completion, detailed help). Stay tuned.
Assemble (build) directories into bundles
Do you want to use a directory as you bundle packaging format as an alternative to a jar? Use assembly: and Pax Runner.
Faster mvn: urls resolution
In order to determine the download location and version of the artifact to download, “mvn:” protocol has to search across the configured repositories. This process can be slow, particularly when many repositories are involved. Up to this version we used a set of four repositories to search by default: OPS4J, Maven Central and two SpringSource ones.
So, to make this process faster and with help from Sonatype Nexus we combined the four repositories into just one, a group repository in Nexus words. Beside the faster resolution we can this way also benefit from adding / removing repositories on demand without a need of re-downloading of Pax Runner. But if you liked the old way you can go back by using the new options –useFallbackRepositories (or –ufr).
Bundle validation options
Validate or no the bundles before provisioning, skip the invalid ones,… You choice.
I hope you will enjoy this version. But first you will have to download it.