-
-
Notifications
You must be signed in to change notification settings - Fork 302
Changes in 4.2.0
BJ Hargrave edited this page Jan 11, 2019
·
29 revisions
- Bndtools is now built to run on Eclipse Oxygen or later.
- The Bndtools repo has been merged into the Bnd repo. So there is now a single repo and single build which builds Bnd and Bndtools.
- Changed use of reflection in many places to use MethodHandles. This should provide some performance improvements especially in macro processing.
- Bnd CI builds now also build and test on Java 11.
- A brand new class file object model and parser was added and class file processing was improved which should realize some performance improvements. A side effect of this is that Bnd is much more thorough at locating
Class.forName
references in processed byte code and can then generateImport-Package
clauses for those referenced packages that Bnd 4.1 did not see. So you may see additional packages in the generatedImport-Package
manifest header. - The
-pom
instruction will now add-buildpath
dependency information to the generated pom's<dependencies>
section for each-buildpath
entry that contains a pom.properties resource. You can use themaven-scope
attribute on-buildpath
entries to use a different scope thancompile
. - Built-in project path properties such as
project.buildpath
andproject.sourcepath
now useFile.pathSeparator
to separate entries in the path. Previously:
was always used as the path separator. - Added macro support to reference environment variables by prefixing the environment variable name with
env.
. For example:${env.HOME}
. This is consistent with Maven's support for accessing environment variables. - Connections settings file processing now supports using macro values to access system properties and environment variables.
- The
OSGiRepository
repository type can now use an index.xml or index.gz.xml file inside a jar or zip file. This allows one to package an index in a jar file which can then be placed in a remote repository such as Maven Central. When thelocations
property refers to a jar or zip file, the index will be looked for in the root of the jar or zip file. - Bnd now supports use of bundle annotations which meta annotated repeated annotations.
- DS annotation processing will now better handle when the type of a field annotated with
@Reference
cannot be located during processing. - Added support for a
bnd.home.dir
system property which can be used to override the default Bnd home directory of~/.bnd
.
- A new
exportreport
command is added.
- Various doc updates and additions.
- The
bnd-maven-plugin
will now generate more bundle headers values from pom information. - The
bnd-export-maven-plugin
,bnd-resolver-maven-plugin
, andbnd-testing-maven-plugin
plugins have newscopes
configuration properties to allows the resolver scope to be configured. - The
bnd-export-maven-plugin
andbnd-resolver-maven-plugin
plugins have newskip
configuration properties to allows the plugin to be skipped for the project.
- The Bnd Gradle Plugin jar,
biz.aQute.bnd.gradle
, has been changed to no longer include all Bnd dependencies. Its pom file now has a<dependencies>
section which references any required Bnd dependencies which must be available to the build script. - The Bnd Gradle Plugins have been updated to support Task Configuration Avoidance when using Gradle 5.0 or later. This should provide a reduction in build time for large builds especially when only building a subset of the complete build. To take complete advantage of this, you will likely need to make modifications to your build scripts to also avoid task configuration. See how Bnd's own build scripts were updated for this.
- A
base
property has been added to theIndex
task type. This can be used to specify a different URI base for the generated index. - Properties
diffpackages
anddiffignore
have been added to theBaseline
task type.
- Bndtools is now built to run on Eclipse Oxygen or later. So Bndtools 4.2 may not run on older versions of Eclipse.
- None at this time.