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"

(Bndtools Support: added link to google-groups discussion)
(updated repository information)
 
Line 16: Line 16:
 
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=450811 Bug 450811]
 
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=450811 Bug 450811]
  
for now we use the maven-bundle-plugin to create a repository.xml index file within our p2 page.
+
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 [http://search.maven.org/#artifactdetails|biz.aQute.bnd|org.osgi.impl.bundle.repoindex.cli|2.1.5|jar biz.aQute.bnd:org.osgi.impl.bundle.repoindex.cli:2.1.5]
  
The documentation of the plugin claims that it is an OBR index.
+
[http://search.maven.org/#artifactdetails|at.bestsolution|bindex-maven-plugin|1.0.0|maven-plugin at.bestsolution:bindex-maven-plugin:1.0.0]
 
+
[https://github.com/BestSolution-at/bindex-maven-plugin source]
Our nightly update site already contains the index: [http://download.eclipse.org/efxclipse/runtime-nightly/site/repository.xml nightly repository.xml]
+
 
+
Should we use an R5 index instead? I have not yet found a maven plugin to generate R5.
+
  
 +
The index can be found here: [http://download.eclipse.org/efxclipse/runtime-nightly/site/repository.xml.gz runtime-nightly/site/repository.xml.gz]
  
 
== tooling ==
 
== tooling ==

Latest revision as of 05:51, 10 March 2015

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