-
-
Notifications
You must be signed in to change notification settings - Fork 305
Changes in 3.4.0
neilxb edited this page Aug 1, 2017
·
16 revisions
For Bndtools 3.4.0 changes, see https://github.com/bndtools/bndtools/wiki/Changes-in-3.4.0.
This new plugin can be applied in the settings.gradle
file to replace the remainder of the settings.gradle
file and build.gradle
file in the root of the workspace.
The biz.aQute.bnd
Gradle Plugin will now look for source directory sets added to the main
source set and configure them for the Bnd Workspace build to use the src
and testsrc
folders. It will also configure the compile task to depend upon the Bnd project dependencies.
- The
check
task used to hold the actions to run the OSGi JUnit tests. It was not a good idea to put those actions directly on thecheck
task as other plugins also add tasks whichcheck
will depend upon. So a newtestOSGi
task is added which holds the actions to run OSGi JUnit tests and thecheck
task depends ontestOSGi
. So executing thecheck
task will still run OSGi JUnit test. - New
resolve.
name tasks, one per bndrun file in the project, are added. These tasks resolve the name.bndrun file and updates the -runbundles
instruction in the file. The newresolve
task depends upon all theresolve.
name tasks. - The
run.
name tasks, one per bndrun file in the project, runs the name.bndrun file.
- You can now use
Bundle-Version
in the bnd configuration to set the version of the bundle. The default bundle version is the project version.
- TBD
- Bnd now uses slf4j throughout to log. The replaces internal trace methods which could be configured to write to stdout.
- Bnd now used version 1.10 of the Apache Felix Resolver.
- Bnd supports a new DS annotations processing option
version
whoseminimum
attribute sets the default version of DS support. If unspecified, the minimum version of DS supported is now 1.3.
-dsannotations-options: version;minimum=1.0.0
- The output for baselining has been made more detailed and consistent across the Gradle and Maven plugins.
- The
-runrequires
instruction for bndrun files now supports requirement aliases. These make it the requirement list less verbose, and easier to write in plain editors.
- Starting in Bnd 3.1, a comment line ending in
\
was incorrectly continued onto the next line. This is incorrect and has been fixed. - In the Bnd Gradle Plugin for Workspace builds, the actions to run OSGi JUnit tests have been moved from the
check
task to the newtestOSGi
task. This should mostly be transparent unless your build scripts configure thecheck
task for the OSGi JUnit test execution. That configuration will now need to be made to thetestOSGi
task. - When Bnd processes OSGi DS annotations, it now defaults to 1.3 as the base DS version. To work with older DS versions, for example, Eclipse Equinox DS currently does not support DS 1.3, use
-dsannotations-options: version;minimum=1.0.0
to select a lower base DS version.
-
Project.getBuildpath()
no longer returns aContainer
ofProject.getOutput()
as the first element of the collection.Builder
s will need to explicitly addProject.getOutput()
to their classpath rather than assuming it is part ofProject.getBuildpath()
.ProjectBuilder
, Bndtools, and the Bnd Gradle plugin for Workspace builds have been updated to account for this. - Bnd 4.0, planned for 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
JPMRepository
is deprecated and will place a warning on the workspace if used. Please make plans to move to another repository type. Thejpm4j.org
server has been decommissioned. - The
OSGiRepository
replaces theaQute.bnd.deployer.repository.FixedIndexRepo
repository plugin which will be deprecated in the future. Please migrate to theOSGiRepository
repository plugin. - The
MavenBndRepository
replaces theaQute.bnd.deployer.repository.aether.AetherRepository
repository plugin which is now deprecated. Please migrate to theMavenBndRepository
repository plugin. - All artifacts now use Java 7 as the compile target. In the prior release, some artifacts had used Java 6 as the compile target.
- Starting in 3.4, the
resolve
configuration property ofbnd-export-maven-plugin
andbnd-testing-maven-plugin
will no longer mutate the-runbundles
value of the bndrun files. This can be accomplished using the newbnd-resolver-maven-plugin
.
- None at this time.