Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Efxclipse/BndtoolsSupport"

Line 30: Line 30:
 
* fx bnd project
 
* fx bnd project
 
* bnd cnf project
 
* bnd cnf project
 +
 +
=== template project ===
 +
Im working on a template project for the wizards. You can find it on github: [https://github.com/redrezo/e4fx-bnd e4fx-bnd].
 +
It is already possible to launch the demo application.
  
 
=== automatic classpath management ===
 
=== automatic classpath management ===

Revision as of 13:02, 10 November 2014

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

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

for now we use the maven-bundle-plugin to create a repository.xml index file within our p2 page.

The documentation of the plugin claims that it is an OBR index.

Our nightly update site already contains the index: nightly repository.xml

Should we use an R5 index instead? I have not yet found a maven plugin to generate R5.


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