-
-
Notifications
You must be signed in to change notification settings - Fork 303
Changes in 6.0.0
Christoph edited this page Jul 7, 2021
·
37 revisions
- Bndtools is built to run on Eclipse 2020-06 (4.16) or later. This was changed from Eclipse 2018-12 (4.10) in the last release. So Bndtools 6.0 may not run on older versions of Eclipse.
- Bndtools m2e is built to run on Eclipse m2e 1.16.0 or later. This was changed from Eclipse m2e 1.10.0 in the last release. So Bndtools m2e 6.0 may not run on older versions of Eclipse m2e.
- Property naming prefix in
cnf/ext/*.bnd
changes - If an property name is already declared elsewhere, the file name will now be used as a namespace. In previous versions it has been used as a prefix. Before-plugin
incnf/ext/test.bnd
becametest.-plugin
, now it will be-plugin.test
. - A number of previously deprecated types and members have been removed. So code using these will need updates.
- TBD
- TBD
- The Bnd Maven plugins now require a minimum of Maven 3.3.9. This was changed from Maven 3.1.1 in the last release.
- The Bnd Gradle plugins and tasks now support Gradle 7.
- The Bnd Gradle plugins and tasks underwent a large update to modernize their implementations and prepare for Gradle 7 and newer Gradle idioms. All Bnd Gradle task properties are now Gradle Properties and should generally be set using an assignment in your build script. This also means the Gradle Properties are typed and expect the correct value when being set. So, using the
Export
task as an example, set thebndrun
property withbndrun = file('mybndrun.bndrun')
rather thanbndrun 'mybndrun.bndrun'
. With the change to use Gradle Properties, the latter example is no longer possible as Gradle expects thebndrun(String)
method which does not exist. So you may need to update your build scripts to use assignment of the proper argument type for setting task properties. - Added
outputBndrun
property to theResolve
task type. This allows the resolve operation to write the resolution to an output bndrun file which can then be used as input to another task such as aTestOSGi
task. Because the Bnd Gradle tasks use Gradle Properties, the connection of theoutputBndrun
output property of aResolve
task to thebndrun
input property of aTestOSGi
task, for examplebndrun = resolveTask.flatMap { it.outputBndrun }
, enables Gradle to know that theResolve
task must be executed before theTestOSGi
task. - A number of previously deprecated task properties and task property setters/getters have been removed.
-
Baseline.destination
is replaced byBaseline.reportFile
. -
Bndrun.workingDir
is replaced byBndrun.workingDirectory
. -
Export.destinationDir
is replaced byExport.destinationDirectory
. -
Index.destinationDir
is replaced byIndex.destinationDirectory
. -
TestOSGi.resultsDir
is replaced byTestOSGi.resultsDirectory
.
-
-
Gradle is deprecating the convention concept and build scripts need to move to use the replacement extensions before Gradle 8.
-
BndPluginConvention
is now deprecated and replaced byBndPluginExtension
.- The
bnd()
,bndis()
,bndMerge()
,bndProcess()
, andbndUnprocessed()
methods inBndPluginConvention
should no longer be used and build scripts should be updated to use the equivalent methods,get()
,is()
,merge()
,process()
, andunprocessed()
, in thebnd
extension. For examplebnd.get('property')
replacesbnd('property')
.
- The
-
BundleTaskConvention
is now deprecated and replaced byBundleTaskExtention
.- The properties of the convention should no longer be used and build scripts should be updated to use the equivalent properties in the
bundle
extension. For example,bundle { bndfile = file('bnd.bnd') }
replacesbndfile = file('bnd.bnd')
.
- The properties of the convention should no longer be used and build scripts should be updated to use the equivalent properties in the
-
- The Bnd Gradle plugins require a minimum of Gradle 6.7 for Java 8 to Java 15, and Gradle 7.0 for Java 16.
- Bndtools is built to run on Eclipse 2020-06 (4.16) or later. So Bndtools 6.0 may not run on older versions of Eclipse.
- Bndtools m2e is built to run on Eclipse m2e 1.16.0 or later. So Bndtools m2e 6.0 may not run on older versions of Eclipse m2e.
- The Bnd Maven plugins require a minimum of Maven 3.3.9.
- The Bnd Gradle plugins require a minimum of Gradle 6.7 for Java 8 to Java 15, and Gradle 7.0 for Java 16.
- The Bnd Gradle plugins and tasks underwent a large update to modernize their implementations and prepare for Gradle 7 and newer Gradle idioms. All Bnd Gradle task properties are now Gradle Properties and should generally be set using an assignment in your build script. A number of previously deprecated task properties have been removed. The conventions are now deprecated and replaced by extensions. See above for more details.
-
Windows 10 users: Windows 10 Defender significantly slows down Eclipse, reason being Windows 10 Defender scanning the JAR files. The problem has been reported to Microsoft here. Until then, a workaround to this problem is to add Eclipse root directory to Windows 10 Defender’s exclusion list, detailed steps are shared here.
Note: This is not just an Eclipse issue on Windows 10.
See also Bnd Tips for Windows users.