I have maven project creating "offline runner" zip for my app.

The trick is to provide right downloaded_bundles.properties file and
platform jars, so runner uses them and doesn't try to download.

* runner/downloaded_bundles.properties:

mvn\:org.eclipse/osgi/3.3.0.v20070530=org.eclipse.osgi_3.3.0.v20070530.jar
mvn\:org.eclipse.osgi/util/3.1.200.v20070605=org.eclipse.osgi.util_3.1.200.v20070605.jar
mvn\:org.eclipse.osgi/services/3.1.200.v20070605=org.eclipse.osgi.services_3.1.200.v20070605.jar

* runner/bundles directory:

org.eclipse.osgi.services_3.1.200.v20070605.jar
org.eclipse.osgi.util_3.1.200.v20070605.jar
org.eclipse.osgi_3.3.0.v20070530.jar

* runner.args contains:

--platform=equinox
--version=3.3.0


Another trick is to start some bundles at start level 1 and others default
start level:

runner.args:

scan-dir:bundles/[EMAIL PROTECTED]
scan-dir:bundles/default

Files in directory bundles/1:

org.apache.felix.configadmin-1.0.1.jar
pax-confman-propsloader-0.2.2.jar
pax-logging-api-1.1.1.jar
pax-logging-service-1.1.1.jar

I use maven-assembly-plugin with assembly.xml:

  <dependencySets>
  <dependencySet>
  <outputDirectory>/</outputDirectory>
  <unpack>false</unpack>
  <scope>compile</scope>
  <useTransitiveDependencies>false</useTransitiveDependencies>
  <includes>
  <include>*pax-runner*</include>
  </includes>
  </dependencySet>
  <dependencySet>
  <outputDirectory>/bundles/1</outputDirectory>
  <unpack>false</unpack>
  <scope>compile</scope>
  <useTransitiveDependencies>false</useTransitiveDependencies>
  <includes>
  <include>*org.apache.felix.configadmin*</include>
  <include>*pax-confman-propsloader*</include>
  <include>*pax-logging-api*</include>
  <include>*pax-logging-service*</include>
  </includes>
  </dependencySet>
  <dependencySet>
  <outputDirectory>/bundles/default</outputDirectory>
  <unpack>false</unpack>
  <scope>compile</scope>
  <useTransitiveDependencies>false</useTransitiveDependencies>
  <excludes>
  <exclude>*pax-runner*</exclude>
  <exclude>*org.apache.felix.configadmin*</exclude>
  <exclude>*pax-confman-propsloader*</exclude>
  <exclude>*pax-logging-api*</exclude>
  <exclude>*pax-logging-service*</exclude>
  </excludes>
  </dependencySet>
  </dependencySets>

I hope it helps you.
-- 
Damian
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to