Skip to content
BJ Hargrave edited this page Mar 4, 2021 · 21 revisions

Bnd/Bndtools 5.3.0

Bndtools

  • The resolver now gives some (imperfect) feedback on progress during the resolution process.
  • The context-sensitive launching for OSGi JUnit tests now works better - in particular, it will now properly launch test methods that have parameters.
  • Fixes/improvements for the quick fix processor:
    • The versioning policy is now configurable via the Bndtools preferences page for the workspace. You can set it to use either "earliest" (no version attribute) or "latest" (version=latest) when adding bundles to the -buildpath or -testpath.
    • Suggestions will now also include classes that belong to your own projects' bundles (previously these were omitted due to a bug).
    • Fixed a stack overflow bug on self-referential types (eg, class MyClass<T extends MyClass<T>> {}).
    • Added handling for a few more cases of errors caused by missing types.
  • Better error reporting for misconfigured bnd workspaces (eg, missing bnd.bnd file in a project, missing cnf, etc).
  • Fixed a bug where non-bundle jars were sometimes listed twice in the repository view.
  • A "pin" option is added to the BndTools Explorer view.
  • When editing a bnd file, hovering over a macro will show the expansion of the macro.

Bnd

  • Properly creates the bnd.hashes attribute in-memory for bundles in your workspace (enables workspace bundles to be suggested by QuickFix processor).
  • Update the EE models to make sure the java. packages are available to the resolver when resolving bundles which import java. packages.
  • Numerous fixes and improvements for resolving.
  • Emit service capabilities for DS Factory Components.
  • The -export-apiguardian instruction now processes package-info.class.
  • Several thread-safety fixes.
  • Fixed handling of ZIP file extra field support.
  • The MavenBndRepository can be configured to release javadoc and sources artifacts to the local repo using the force attribute on the -maven-release instruction.
  • The MavenBndRepository can be configured to GPG sign artifacts when released using the sign clause on the -maven-release instruction.
  • The findproviders macro has been extended to enable control over whether the workspace is searched for providers.
  • bndversion macro is added which returns the version of Bnd.
  • Improved class loading for Bnd plugins.
  • Processor aarch64 is now recognized for Apple Silicon Macs.
  • Fixed -include from remote locations on workspace level (e.g. cnf/build.bnd or cnf/ext/*.bnd).
  • Added STATIC and INNER query types to the classes macro.

Documentation

Bnd Maven Plugins

  • The Bnd Maven plugins require a minimum of Maven 3.1.1.
  • The -runee inference has been updated to use the java.specification.version system property instead of the java.version system property when inferring the EE.

Bnd Gradle Plugins

  • The Bnd Gradle plugins require a minimum of Gradle 5.3 for Java 8 to Java 12, Gradle 6.0 for Java 13, Gradle 6.3 for Java 14, and Gradle 6.7 for Java 15.
  • Replaced use of Gradle API which has been deprecated and scheduled for removal in a future version of Gradle.
  • For Bnd Workspace support, the test task inputs now include the jar task outputs of the projects named in the -dependson Bnd instruction. This means test cases can rely upon the jars built by the -dependson projects.
  • Added resultsDirectory property to TestOSGiTask task type.

Backward compatibility

  • Bndtools is built to run on Eclipse 2018-12 or later. So it may not run on older versions of Eclipse.
  • The Bnd Gradle plugins no longer work on versions of Gradle less than 5.3.

Known Issues

  • #4574 An NPE in the Bndtools JarEditor. This can be worked around by deleting the hidden BndtoolsJAREditorTempFiles project and restarting Eclipse.

  • On more recent versions of Eclipse, there is a problem with the undo history for the Bnd editor on .bnd and .bndrun files (#4433).

  • Windows 10 users: Windows 10 Defender significantly slows down Eclipse, reason being Windows 10 Defender scanning the JAR files. The problem has been reported to Microsoft here. Until then, a workaround to this problem is to add Eclipse root directory to Windows 10 Defender’s exclusion list, detailed steps are shared here.

    Note: This is not just an Eclipse issue on Windows 10.

    See also Bnd Tips for Windows users.

Clone this wiki locally