-
-
Notifications
You must be signed in to change notification settings - Fork 300
Changes in 4.2.0
BJ Hargrave edited this page Jan 23, 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.forNamereferences in processed byte code and can then generateImport-Packageclauses for those referenced packages that Bnd 4.1 did not see. So you may see additional packages in the generatedImport-Packagemanifest header. - The
-pominstruction will now add-buildpathdependency information to the generated pom's<dependencies>section for each-buildpathentry that contains a pom.properties resource. You can use themaven-scopeattribute on-buildpathentries to use a different scope thancompile. - Built-in project path properties such as
project.buildpathandproject.sourcepathnow useFile.pathSeparatorto 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
OSGiRepositoryrepository type can now use an index.xml or index.xml.gz 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 thelocationsproperty 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
@Referencecannot be located during processing. - Added support for a
bnd.home.dirsystem property which can be used to override the default Bnd home directory of~/.bnd. - Enhanced error checking when using the DS Reference annotation on fields.
- Added special
@bundlesymbolicnameand@bundleversionproperties which are usable in the Import-Package header. You can reference the Bundle-SymbolicName and Bundle-Version of the exporter on the classpath by using the${@bundlesymbolicname}and${@bundleversion}values. - Added
${list}macro which can be use to escape semicolons in a property value so it can be used as a list in another macro. - Updated macro list parsing to better handle quoted strings such that commas in a quoted string portion of a property value will not be used as a list item separator.
- A new
exportreportcommand is added.
- Various doc updates and additions.
- The
bnd-maven-pluginwill now generate more bundle headers values from pom information. - The
bnd-export-maven-plugin,bnd-resolver-maven-plugin, andbnd-testing-maven-pluginplugins have newscopesconfiguration properties to allow the resolver scope to be configured. - The
bnd-export-maven-pluginandbnd-resolver-maven-pluginplugins have newskipconfiguration properties to allow the plugin to be skipped for the project. - The
bnd-export-maven-plugin,bnd-resolver-maven-plugin, andbnd-testing-maven-pluginplugins have newincludeDependencyManagementconfiguration properties to allow the resolver to search the<dependencyManagement>for bundles (honoring thescopeconfiguration).
- 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
baseproperty has been added to theIndextask type. This can be used to specify a different URI base for the generated index. - Properties
diffpackagesanddiffignorehave been added to theBaselinetask 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.
Dev Meetings Agenda/Protocol
Latest Releases
all versions
- 7.2.1 | 7.2.0
- 7.1.0 | 7.0.0
- 6.4.1 | 6.4.0 | 6.3.1 | 6.3.0
- 6.2.0 | 6.1.0 | 6.0.0
- 5.3.0 | 5.2.0 | 5.1.2 | 5.1.1
- 5.1.0 | 5.0.1 | 5.0.0
- 4.3.1 | 4.3.0 | 4.2.1 | 4.2.0
- 4.1.0 | 4.0.0
- 3.5.0 | 3.4.0 | 3.3.0 | 3.2.0
- 2.2.0
Gradle
- Plugin
- Build Customizations
- Builder & java-library
- Non-Workspace builds
- PluginManagement
- Using Kotlin
- Kotlin DSL jar config
- AntTasks
- Baselining [beta]
- Blurry Form Text on High-Resolution Displays
- Bnd toolchain parity table
- bnddistribute
- Buildpath Versions
- Conflict with M2E PDE Connector
- Eclipse Logging with Logback
- Hackathon June 2012
- Install bnd on the command line
- Is there a mailing list for bnd
- Launching Framework
- Multi-project build order
- Multi-release JAR support design discussion
- Plans wrt to enRoute
- Reading Eclipse project preferences in bnd
- Release Process
- Requirements for New Repository API
- Windows Locked Files
- WIP ideas ‐ bnd 8.0.0 breaking changes
- XML Attributes on Annotations
- [ant] Loading and Expanding Shared Headers or Properties