Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{excerpt:hidden=true}The easiest way to provision your bundles in all major OSS platforms (Felix, Equinox, Knopflerfish, Concierge).{excerpt}

{ops4j-style}
{section}
{column:width=70%}
{ops4j-roundrect:Overview}

If any of the following is true:
* You often change from one OSGi platform to another.
* You don't know what OSGi is, but want to spend half an hour checking it out.
* You can't be bothered about following the setup and requirements README for the OSGi platform of your choice.
* You have problem to get the OSGi platform working at all.

then perhaps the *Pax Runner* can help. And it will not take you very long to find out, just read the easy [instalation steps|#install]. You have some questions? Maybe they are [already answered|Pax Runner FAQ].

h4. How Pax Runner helps you
* _*Quick start up*_
You have a set of bundles you just developed or wanna test? Just place them all in the same folder, start a command prompt, go to your folder and type "pax-run". That simple.
* _*Easy run on different platforms*_
If you need to run your set of bundles under different platform runner helps you. You just have to type the name of youur platform. That simple.
* _*Easy running in different contexts*_
As runner supports multiple provsioning sources you could easy define sets to bundles that should be installed toegether with your bundles. You could for example have sets of bundles that you use in diferent development lifecycle steps as dev, test and production. Or maybe you wanna test how does you bundles behave depending on the availability of different services.

h4. Screencasts
In order to get used with Pax Runner you can watch [screencasts|Pax Runner - Screencasts].
If you would like to see a feature for which there is not already a screencast just let us know.

h4. Design (see [Pax Runner Design] page for detailed information)
{excerpt-include:Pax Runner Design|nopanel=true}

{anchor:install}
h3. Installation instructions
Follow this steps in order to install pax runner or watch a [screencast|Pax Runner - Screencast - Install]:
# Download the latest version (0.5.6) from bellow or checkout [older versions|Pax Runner - Download]: 
** java 1.5 and beyond: [zip|http://repository.ops4j.org/maven2/org/ops4j/pax/runner/pax-runner-assembly/0.5.6/pax-runner-assembly-0.5.6.zip] [tar.gz|http://repository.ops4j.org/maven2/org/ops4j/pax/runner/pax-runner-assembly/0.5.6/pax-runner-assembly-0.5.6.tar.gz] 
** java 1.4: [zip|http://repository.ops4j.org/maven2/org/ops4j/pax/runner/pax-runner-assembly/0.5.6/pax-runner-assembly-0.5.6-jdk14.zip] [tar.gz|http://repository.ops4j.org/maven2/org/ops4j/pax/runner/pax-runner-assembly/0.5.6/pax-runner-assembly-0.5.6-jdk14.tar.gz]
# Unpack the downloaded archive to an arbitrary folder
# Optional: set the *PATH* to include also the *bin* directory from the unpacked directory so you will be able to execute *pax-run* from anywhere.
# Go to the folder containing your bundles and execute *pax-run*. Note that this is just an example of how you could start pax runner. For other ways  see [how do you start it up|#start] (for jdk 1.4 use pax-run-1.4)

{anchor:start}
h3. How do you start it up
{code}
pax-run [--option]* [provision_spec]*
{code}
where:
* *option* : optional; a start up [#option]. Can be zero, one or more.
* *provision_url* : optional; a [#provision] specification. Can be zero, one or more.

{anchor:provision}
h3. Provision urls
A provision specification is an URL like string that is understood by one of the [scanners|Pax Runner Design#scanners]. Default value is "./*.jar" meaning that will scan the folder from where runner was started for all the jar files and will install them via [Scanner - Directory].
If no provision schema is specified, runner will try to determine the correct schema based on the extension of your file as follow:
|| Extension || Scanner used ||
| *pom* | [Scanner - Maven 2 POM] |
| *jar* | [Scanner - Bundle] |
| *bundle* | [Scanner - Bundle] |
| any extension | [Scanner - File] |
| *zip* | [Scanner - Directory] |
| no extension | [Scanner - Directory] |
| ending with "/" | [Scanner - Directory] |
| ending with "\" | [Scanner - Directory] |
If there is no protocol specified and runner can find a file that matches it will automatically transform it to an valid file url. This means that you can simply use a provision url as {{mybundles.txt}} and runner will resolve it for you from the current folder.

{anchor:option}
h3. Options
If the default settings of runner does not suit you bellow you can find a set of usual options that allow you to control runner behavior (listed alphabetically).
For a detailed list of options take a look at [this page|Pax Runner Options].
|| Option key || Description || Default ||
| *clean\|noClean* | see [org.ops4j.pax.runner.platform.clean|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *console\|noConsole* | see [org.ops4j.pax.runner.platform.console|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *ee* | see [org.ops4j.pax.runner.platform.ee|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *log* | the logging level to be used by runner (NONE,FATAL,ERROR,WARNING,INFO,DEBUG,TRACE)| INFO |
| *platform\|p* | the [platform|#platforms] to be started ([equinox/e/eq|Platform - Equinox], [felix/f|Platform - Felix], [knopflerfish/k/kf|Platform - Knopflerfish], [concierge/c|Platform - Concierge] | felix |
| *profiles* | see [org.ops4j.pax.runner.platform.profiles|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *usePersistedState\|ups* | see [org.ops4j.pax.runner.platform.usePersistedState|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *vmOptions\|vmo* | see [org.ops4j.pax.runner.platform.vmOptions|Platform - Extender#configuraton] | [see option|Platform - Extender#configuraton] |
| *version\|v* | version of the platform to be started. See platforms for details about supported versions | 1.0.0 (felix) |

h3. Legend
* (/) - stands for: implemented
* (!) - stands for: under development
* (i) - stands for: in design phase
* (x) - stands for: only an idea 

{anchor:sorce}
h3. Source code
*[https://scm.ops4j.org/repos/ops4j/projects/pax/runner]* ( or [browse via FishEye|http://scm.ops4j.org/browse/OPS4J/projects/pax/runner] )
This project builds with [Apache Maven|http://maven.apache.org] and uses [Apache Felix|http://felix.apache.org]'s [maven-bundle-plugin|http://cwiki.apache.org/FELIX/bundle-plugin-for-maven-bnd.html], and Peter Krien's [bnd|http://www.aqute.biz/Code/Bnd] tool.

h4. Issue tracker
Issues, bugs, and feature requests can be submitted to the [issue tracking system|http://issues.ops4j.org/jira/browse/PAXRUNNER?report=com.atlassian.jira.plugin.system.project:roadmap-panel].

h3. FAQ
If the above description did not anwer what you are looking for you may checkout the [FAQ page|Pax Runner FAQ].

h3. Change Log
[Check out the following page|Pax Runner Change Log] to find out what is changed in each version of [Pax Runner].

h3. Previous versions
For information on Pax Runner releases before 0.5.0 visit [this page|Pax Runner - Deprecated].

{ops4j-roundrect}
{ops4j-roundrect:Pax Runner Family}

{include:Pax Runner Family}

{ops4j-roundrect}
{column}
{column:width=30%}
{ops4j-roundrect:Latest News}

{blog-posts:10|labels=pax-runner}

{ops4j-roundrect}
{column}
{section}