Skip to main content
Jump to: navigation, search

Efxclipse/BndtoolsSupport

Bndtools Support

This page is used to collect information about how to support bndtools.

Contributions are welcome ;-)

This is our root bug for the support: Bug 414418

Google groups discussion: bndtools-users

Build system

runtime repository

bndtools uses repositories to access bundles (similar to pde's target platform). It seems that bnd has no p2 repository plugin, so we need to provide a bnd compatible repository to access the efxclipse runtime

Bug 450811

We use now repoindex to create our repository meta info. To include it in our build process we created a little maven plugin which wraps biz.aQute.bnd:org.osgi.impl.bundle.repoindex.cli:2.1.5

at.bestsolution:bindex-maven-plugin:1.0.0 source

The index can be found here: runtime-nightly/site/repository.xml.gz

tooling

wizards

we need some new project wizards to create

  • e4fx bnd project
  • fx bnd project
  • bnd cnf project

template project

Im working on a template project for the wizards. You can find it on github: e4fx-bnd. It is already possible to launch the demo application.

automatic classpath management

in pde we add some dependencies automatically to the classpath.

How do we solve this for bndtools?


launching

bndtools comes with its own launcher. It uses .bndrun files to describe the osgi setup to be launched. we need to generate a default .bndrun file, so that users can instantly start their applications.

Issues

resolver issue with org.eclipse.osgi from our own repo

Our runtime repository provides everything needed to launch an e4fx application. However if bndtools tries to resolve with our bundled equinox implementation it always fails.

   Unable to resolve <<INITIAL>> version=null:
  missing requirement Require[osgi.identity]{}{filter=(osgi.identity=dummy)} [caused by:
  Unable to resolve dummy version=0.0.0:
  missing requirement Require[osgi.wiring.package]{}{filter=(osgi.wiring.package=javafx.application)} [caused by:
  Unable to resolve org.eclipse.fx.javafx version=2.2.0.201411100602:
  missing requirement Require[osgi.ee]{}{filter=(|(osgi.ee=JavaSE-1.7))}]]

If it uses org.eclipse.osgi from bundlehub it succeds. Both are the same version.. I suspect the index to be at fault...

developing e4fx applications with bndtools

Issues

bnd development cycle and e4

bndtools rebuilds on every change the resulting bundle and updates it in the running osgi container. It seems that the e4 platform cannot handle dynamic changes correctly and the application will somehow fail afterwards.

Back to the top