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

Changes in 2.4.0

pkriens edited this page Nov 3, 2014 · 10 revisions

Bndtools 2.4.0

  • More accurate resolving of Run Requirements
  • Bugfixes enabling integration of JPM repositories.
  • Select workspace projects by version in -buildpath
  • Improved Gradle plugin. Requires Gradle 2.0 or later.
  • OSGi enRoute templates.
  • Improved build error reporting for Declarative Services components.
  • Improved views and diagnostics for Resolution results.
  • Improved build speed
  • Baselining support for Java 8 default methods
  • Exclude mechanism for specific resources while baselining
  • Java 8 compatibility for repositories
  • Various bug fixes
  • Added life cycle plugin that can interact with workspace/project creation/deletion. Added life cycle plugins for Maven, Gradle, Ant, etc.
  • Made plugins searchable in a JAR by adding a BndPlugin annotation
  • Added RequireCapability and ProvideCapability annotations. These annotations can be used directly to add requirements to the manifest but they can also be applied to another annotation. If this annotation is then applied to a type it will generate the requirement. See for example the ASL_2_0 annotation.A
  • Allow includes in bnd files to specify a URL
  • Added support for gestalt, allows build tools to communicate out what the environment they run in supports. See -bnd-driver
  • Full window testing, removed many window bugs
  • Provide an identity command in bnd that can be used to authorize other systems
  • Most paths can now be set with their primary key (e.g. -runbundles) but are appended with secondary keys (anything that begins with the primary key + .*, e.g. '-runbundles.5'). The mergeProperties is the function creating this collective path.
  • Now supports augmenting the indexing of JARs for bsn/range. Just add [;]: cap=;key=value, req=filter:='(...)' etc.
  • Blacklisting items so they are not resolved
  • Added a aQute.bnd.deployer.repository.wrapper.Plugin that wraps all aQute.bnd.service.repository.InfoRepository plugins and provides an OSGi Repository. The wrapper dynamically indexes the underlying aQute.bnd.service.repository.InfoRepository's.
  • -runpath and -testpath already contributed any exported packages. They now also contribute their capabilities to the framework's capabilities.

Backwards compatibility

  • Using relative paths to plugins may break. Use ${plugin-dir} to fix this: https://github.com/bndtools/bndtools/issues/902
  • Bundle descriptor file names should not contain the full name of the project
  • The launcher moved to Java 6
  • bnd files are now always read with UTF-8, if this throws an exception, they are read with ISO-8859-1

Known Issues

  • On OS X Yosemite, an Eclipse bug causes visibility issues on some dialogs.