Skip to content

Changes in 6.4.0

Peter Kriens edited this page Dec 2, 2022 · 6 revisions
Clone this wiki locally

Bnd/Bndtools 6.4.0

See the Release section of the README for where to find Bnd/Bndtools.

Bndtools

  • Avoids JVM crash on macOS for an SWT bug when using Bndtools Explorer view.
  • Support for Apple M1 bndrun file in development

Bndtools m2e

  • Fixed most issues in supporting the latest m2e (2.x).

Bnd

  • Added a cache option to the -resolve instruction. This will resolve on demand and use a cache when the workspace & project files are unchanged.
  • Bugs fixed in jar signing support.
  • Detects recursive macro expansion in properties when processing pom files.
  • Added file resource cache to avoid multiple computations of a file's capabilities and requirements (including SHA-256 hash).
  • osfile macro fixed to use OS specific separators.
  • Baselining now avoids warnings at major version boundaries about missing baseline.
  • Detects loops in -include processing.
  • Resolving adds a default native capability when not set.
  • Now clears -export failures
  • Versioning support for external plugins
  • Improved loop detection in include files

Bnd Command Line

  • The old and out-of-date enroute command has been removed.

Documentation

  • Updated to remove stale references to old enRoute material.

Bnd Maven Plugins

  • Maven plugins all now support the help goals.
  • bnd-testing-maven-plugin adds a testFailureIgnore configuration.
  • New bnd-generate-maven-plugin plugin.
  • New outputBndrunDir configuration parameter for bnd-resolver-maven-plugin so you can specify the output directory to write the output bndrun files.
  • New bndrunDir configuration parameter for bnd-export-maven-plugin and bnd-testing-maven-plugin so they can use the output bndrun files from a bnd-resolver-maven-plugin execution. For completeness, we also add the bndrunDir configuration parameter to bnd-resolver-maven-plugin.

Bnd Gradle Plugins

  • Use of Providers is supported for manifest attribute values.
  • The default values for Bundle-SymbolicName and Bundle-Version are now task inputs.

Backward compatibility

  • Bndtools is built to run on Eclipse 2020-06 (4.16) or later. So Bndtools may not run on older versions of Eclipse.
  • Bndtools m2e is built to run on Eclipse m2e 1.16.0 or later. So Bndtools m2e may not run on older versions of Eclipse m2e.
  • The Bnd Maven plugins require a minimum of Maven 3.3.9.
  • The Bnd Gradle plugins require a minimum of Gradle 6.7 for Java 8 to Java 15, Gradle 7.0 for Java 16, and Gradle 7.3 for Java 17.
  • The Bnd Gradle plugins and tasks underwent a large update in 6.0 to modernize their implementations and prepare for Gradle 7 and newer Gradle idioms. All Bnd Gradle task properties are now Gradle Properties and should generally be set using an assignment in your build script. A number of previously deprecated task properties have been removed. The conventions are now deprecated and replaced by extensions.

Known Issues

  • Eclipse m2e has a bug which can result in build looping. If you experience this, update Eclipse m2e to 1.18.2 or later which seems to have fixed the issue.

  • 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.