Skip to content
BJ Hargrave edited this page Mar 10, 2022 · 8 revisions

Bnd/Bndtools 6.2.0

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

Bndtools

  • Updated classpath container to detect changes in file last modified time of elements.

Bndtools m2e

  • The Repository view now lists all project (such as test and other classifier) artifacts rather than just main artifact.

Bnd

  • Connection Settings will now match simple names, like host names, for server authentication credentials.
  • Improved error message for processing Declarative Services Reference annotation on methods. Some build-time weaving actions seem to relocate the constructor to a generated method before Bnd processes the annotations.
  • New write methods on Resource to support writing directly to files.
  • Fixed handling when using pom-packaging poms as resources for the maven repositories.
  • Improve SPI generator warnings of the type osgi.serviceloader capability found with no 'register:' directive...:
    • make it more informative by specifying the descriptor file in question.
    • only report the warning when both register: directive and the descriptor file are missing.
  • Build reproducibility improvements were made by consistently cross-platform sorting files processed from directories.
  • Updated locking to use a central ReentrantReadWriteLock in the Workspace object. The lock is now used by Bndtools replacing its ReentrantLock.
  • Added DropWhile and TakeWhile support for Java Streams on Java 8.
  • -jpms-moduleinfo instruction now supports multiple access values.
  • -export instruction learns new targetDir and template attributes.
  • Bnd now supports "external" plugins.
  • The -reproducible instruction now accepts values for the timestamp of jar entries. It accepts the same values as the Maven project.build.outputTimestamp property.

Bnd Command Line

  • New buildtool command.

Documentation

  • Fixed documentation for -include instruction to properly state the overwrite behavior as implemented in the code.

Bnd Maven Plugins

  • New support in bnd-maven-plugin to allow it to replace executions of maven-jar-plugin to perform the jar packaging in projects while handling the Bnd instructions.
  • The new jar packaging goals of bnd-maven-plugin support the Maven project.build.outputTimestamp property for reproducible builds.
  • Defined new properties to configure diffignores and diffpackages for bnd-baseline-maven-plugin.
  • bnd-baseline-maven-plugin output for baseline issues has been updated.

Bnd Gradle Plugins

  • Baseline task output for baseline issues has been updated.

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. See above for more details.

Known Issues

Clone this wiki locally