-
-
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
checktask used to hold the actions to run the OSGi JUnit tests. It was not a good idea to put those actions directly on thechecktask as other plugins also add tasks whichcheckwill depend upon. So a newtestOSGitask is added which holds the actions to run OSGi JUnit tests and thechecktask depends ontestOSGi. So executing thechecktask 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 -runbundlesinstruction in the file. The newresolvetask 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-Versionin 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
versionwhoseminimumattribute 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
-runrequiresinstruction 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
checktask to the newtestOSGitask. This should mostly be transparent unless your build scripts configure thechecktask for the OSGi JUnit test execution. That configuration will now need to be made to thetestOSGitask. - 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 aContainerofProject.getOutput()as the first element of the collection.Builders 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
JPMRepositoryis deprecated and will place a warning on the workspace if used. Please make plans to move to another repository type. Thejpm4j.orgserver has been decommissioned. - The
OSGiRepositoryreplaces theaQute.bnd.deployer.repository.FixedIndexReporepository plugin which will be deprecated in the future. Please migrate to theOSGiRepositoryrepository plugin. - The
MavenBndRepositoryreplaces theaQute.bnd.deployer.repository.aether.AetherRepositoryrepository plugin which is now deprecated. Please migrate to theMavenBndRepositoryrepository 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
resolveconfiguration property ofbnd-export-maven-pluginandbnd-testing-maven-pluginwill no longer mutate the-runbundlesvalue of the bndrun files. This can be accomplished using the newbnd-resolver-maven-plugin.
- None at this time.