Skip to content
This repository has been archived by the owner on Dec 9, 2018. It is now read-only.

Changes in 3.5.0

BJ Hargrave edited this page Oct 13, 2017 · 5 revisions

Bndtools 3.5.0

Enhancements

  • Support for bnd-indexer-maven-plugin in the m2e build is added, including an automatic trigger when any of the indexed workspace project artifacts change.
  • The standalone bndrun editor is changed to automatically reload the bnd model when the bnd-indexer-maven-plugin index changes.
  • Support for m2e is enhanced to add useful decorations to exported packages and files which declare OSGi components.

Performance

Changes were made to improve performance with Eclipse workspaces having a significant number of Bndtools project.

  • The builder was changed so that updating a project's Bnd Classpath Container is done before the Java builder is run rather the being updated by the Bndtools builder after the Java builder is done. This avoids compiling with an incomplete Bnd Classpath Container and then requiring a rebuild after being updated.
  • When importing projects, a single job is used to initialize the Bnd Classpath Containers of all the imported projects rather than creating a job per project to initialize the project's Bnd Classpath Container.
  • When initializing or updating a Bnd Classpath Container, any resource refreshing needed is done in the same thread, if possible, rather than creating a job to perform the refresh operation.
  • Since the Bnd library code is not yet fully thread safe, Bndtools has a lock to control calling the Bnd library code. When many threads contend for this lock, the logic will keep retrying as long as other threads are making progress obtaining and releasing the lock.

Backwards compatibility

  • The Bndtools Bundle Hub workspace template has been deprecated and will be removed in a future release of Bndtools. The bndtools/bundle-hub repository itself will remain available.

Known Issues

  • We failed to update the preferences for the templates for version 3.5. In the Eclipse Preferences, change the Bndtools Workspace Templates for osgi/enroute.workspace to origin/bnd-3.5 and for bndtools/workspace to origin/3.5.