-
-
Notifications
You must be signed in to change notification settings - Fork 300
Changes in 3.2.0
BJ Hargrave edited this page Feb 13, 2017
·
31 revisions
For Bndtools 3.2.0 changes, see https://github.com/bndtools/bndtools/wiki/Changes-in-3.2.0.
We've added a new repository plugin for Maven repositories: aQute.bnd.repository.maven.provider.MavenBndRepository. This repository plugin provides full support for Maven repositories. It can handle the following use cases:
- Local repository – Bnd can put built bundles directly in the local repository. This defaults to
~/.m2/repositorybut can be specified by themaven.repo.localsystem property. - Remote repository – Publish snapshots and releases to the repository. Snapshot are properly managed. The remote repository URL can also be a
file:URL to publish to a file system. - Support for proxies and credentials.
There is a tutorial on the OSGi enRoute website and an example. These are the further links:
- Maven Bnd Repository – Overview of the plugin.
-
-connection-settings– Explains how to set credentials and proxies. -
-maven-release– Specifies how to set options on the release process. -
-buildrepo– Shows how to built bundles can be placed directly into the local repository.
The MavenBndRepository replaces the aQute.bnd.deployer.repository.aether.AetherRepository repository plugin which is now deprecated. Please migrate to the MavenBndRepository repository plugin.
- When generating the
Bundle-Versionmanifest header, previous versions of this plugin always replaced the stringSNAPSHOTin the version qualifier with the value of the Bnd${tstamp}macro. The plugin now instead sets the Bnd instruction-snapshot: ${tstamp}. If the qualifier equalsSNAPSHOTor ends with-SNAPSHOT, the valueSNAPSHOTis replaced with the the value of the Bnd${tstamp}macro. Using the-snapshotinstruction allows the user to override the plugin behavior in the project's bnd file. For example, to retain the stringSNAPSHOTin the version qualifier, set-snapshot: SNAPSHOTin the project's bnd file. - Performance improvements were made for incremental building with M2E. The plugin will avoid work and writing output if none of the input files to the bundle are changed.
- A
<bndfile>configuration element is defined to allow the specification of an alternate path for the project's bnd file. This path can be absolute or relative to the project's base directory. - A
<bnd>configuration element is defined to allow the Bnd instructions to be specified in the pom file. This will generally be done via a<![CDATA[]]>section in the<bnd>element. The<bnd>element will not be used if the project has a bnd file. - If
Bundle-SymbolicNameis not set in the project's bnd file, its value will default to the project's artifactId. - If
Bundle-Nameis not set in the project's bnd file, its value will default to the project's name.
- When using Gradle 2.12 and later, the
compileClasspathconfiguration is used in preference to thecompileconfiguration.
-
ProjectBuilder, used for Workspace model builds, is changed to use the source output folder, e.g.binfolder, as the default contents of the bundle if the project does not specify any of the following instructions:Private-Package,Export-Package,Include-Resource,-includeresource, or-resourceonly. If the project specifies any of these instructions, then they will fully control the contents of the bundle. This change will make the default behavior more like maven or gradle builds where the source built in the project is included in the resulting bundle without having to specify that it should be included. - Bnd now use common communications logic to support proxies. See
-connection-settingsfor information on how to set credentials and proxies. - A
${fileuri;path}macro is added to convert a file path into a file URI. - A
${glob;expr}macro is added which converts a glob expression into a regular expression. - A new VERSIONED option is added for the
${packages}macro. This returns the packages in the bundle which are versioned. - Bnd tracing is now directed to slf4j. This will be INFO level if
setTrace(true)was called or DEBUG level otherwise.
- The bnd-maven-plugin changed how
SNAPSHOTis replaced with${tstamp}in theBundle-Versionheader value. See above for details. - The bnd-maven-plugin changed the default value of the
Bundle-SymbolicNameheader from the name of the project's base directory to the project's artifactId. - Bnd 4.0, planned for Spring 2017, will move to Java 8 as the base runtime.
- The Bnd DS, metatype and versioning annotations are deprecated and support for them will be removed in Bnd 4.0. Please make plans to migrate to the OSGi Release 6 specified annotations which now offer more features than the bnd annotations.
- The
MavenBndRepositoryreplaces theaQute.bnd.deployer.repository.aether.AetherRepositoryrepository plugin which is now deprecated. Please migrate to theMavenBndRepositoryrepository plugin.
- The Bnd Gradle plugin for non-workspace builds does not properly handle plain files in the configuration of the
Bundletask type. This is fixed by #1490 for the next release. - The Bnd Gradle plugin for workspace builds does not work in Gradle 2.14 due to a change Gradle made to how extra properties are looked up. This is fixed by #1496 for the next release.
- A comment line in a
bndfile ending in\is incorrectly continued onto the next line.
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