-
-
Notifications
You must be signed in to change notification settings - Fork 305
Changes in 6.3.0
BJ Hargrave edited this page May 24, 2022
·
11 revisions
See the Release section of the README for where to find Bnd/Bndtools.
- Bndtools "Bnd Bundle Path" class path container now supports negation in the
packages
attribute of-buildpath
and-testpath
clauses. Negated packages are markedNON_ACCESSIBLE | IGNORE_IF_BETTER
in Eclipse. - Bndtools "Bnd Bundle Path" class path container can be configured, when using
version=latest
orversion=snapshot
, to hide the referenced project's folders and just use the referenced project's generated bundle. The classes in a bundle may be transformed and can be different than the classes in a project's folders. This can be configured using thesource
attribute of-buildpath
and-testpath
clauses. Settingsource
to a value other thanproject
will not include the referenced project's folders. This is done by marking the referenced project asDISCOURAGED | IGNORE_IF_BETTER
. Note that this can cause Eclipse's "Open Type Hierarchy" result to be incomplete due to flaws in how the Eclipse hierarchy search code handles hidden types. See #5250. - Bndtools "Bnd Bundle Path" class path container is updated, when using
version=latest
orversion=snapshot
, to no longer include the referenced project's folders in the runtime classpath. This changed provide better fidelity since a bundle may contain more or less classes/resources than the project's folders. - When hovering over a macro name in a bnd editor, the hover view will show the decorated value of the macro.
- Fixes to package decoration when using the new packaging goals of
bnd-maven-plugin
.
- Bnd adds decoration support for the following instructions:
-conditionalpackage
-privatepackage
-includepackage
-includeresource
- The
-privatepackage
instruction is now also a merged instruction. - A decoration ending in
++
will include all unused literals in the decorated result whereas a decoration ending in+
will not include unused literals in the result. - Unused literal inclusion in decoration now allows the decoration to add additional entries to the beginning or the end of the decorated item.
- Instruction decoration now supports removal of attributes and non-overwriting of attributes. Prefixing the attribute name with
!
means removal. Prefixing the attribute name with~
means do not overwrite an existing attribute value. - Fixes to support the Eclipse Transformer project's Bnd Analyzer and Verifier plugins. The re-analyze code path was fixed to properly reset the analyzer and analyze the content again.
- The external plugin handler was enhanced to support external plugins implementing the
Plugin
andRegistryPlugin
interfaces. - The
AnalyzerPlugin
s andVerifierPlugin
s now have an invocation ordering which can be influenced by the plugin implementation. - For Java 1.1, the ee name is changed to
JRE
. - Added
ServiceCapability
annotation as convenient way to createosgi.service
capabilities. -
Callable
registered withmain.thread
property will not stop theLauncher
if the return code is198
.
- None.
- The styling of the documentation has added a search bar and indication of when macros and instructions are in effect.
-
bnd-baseline-maven-plugin
now has areportFile
configuration which names the file to contain the baseline report. The report format is expanded with more detail.
-
BundleTaskExtension
is updated to make the generated manifest available from the task’smanifest.effectiveManifest
property. - Updated the
group
property values for tasks to better match standard gradle task groups.
- Bndtools is built to run on Eclipse 2020-06 (4.16) or later. So Bndtools 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 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, Gradle 7.0 for Java 16, and Gradle 7.3 for Java 17.
- The Bnd Gradle plugins and tasks underwent a large update in 6.0 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.
-
Eclipse m2e has a bug which can result in build looping. If you experience this, update Eclipse m2e to 1.18.2 or later which seems to have fixed the issue.
-
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.