-
-
Notifications
You must be signed in to change notification settings - Fork 305
Changes in 7.1.0
See the Release section of the README for where to find Bnd/Bndtools.
This is a breaking release because we moved the code base to Java 17.
- Bndtools now requires Eclipse 4.25 (2022-09) or later.
- added help buttons to various panels linking to the corresponding Website or manual page.
- new Template Fragments mechanism which allows more fine grained assembly of a new workspace. This new mechanism is the successor of the existing Workspace templates and also allows developers to contribute their own template fragments.
- updated (bndtools.workspace.min) to OSGi R8. The project templates in org.bndtools.templates.osgi now expect this Workspace template.
- removed workspace template https://github.com/bndtools/workspace from the list of suggested templates during the Create Workspace dialog (If you wish to continue to use this template (for OSGi R7) you could add it to the list of
Raw Git clone Urls
manually underEclipse / Settings / Bndtools
) - new Wizard for creating a Java OSGi Service (api, impl, consumer) on the new Project Templates section on the bndtools website.
- new search filter for Requirements and Capabilities
- new filter to hide optional requirements
- new filter to detect (problematic) capabilities which are exported by multiple bundles but with different package content (split package problem)
- show number of current results (after filtering) for Requirements and Capabilities
- Copy to clipboard via
Ctrl / Cmd + C
for Requirements and Capabilities which copies their tooltip contents. This helps during debugging and communicating with others about it. - updated website about Resolutions View
- Double Clicking on an entry of the ResolutionsView (Requirements and Capabilities) now opens the Advanced Search of Repository Browser in the "Other" tab and prefills the fields for namespace and filter.
Tip: Did you know you can drag&drop selected entries from Resolutions View e.g. Requirements to the Customize imports panel of the .bnd-editor? This can become quite handy when you want to declare some requirements of a bundle as resolution:=optional
.
- You can click Resolve multiple times now to keep multiple resolution results open. Can be useful to compare different resolution attempts.
- improved handling of versions which are added a bundle is added to
-runrequires
or-runbundles
via drag&drop or added in the dialog. - The debug output of Resolution Failure result panel was extended
- a shorter summary at the top trying to better explain what could not be resolved
- a section explaining when some bundles were blacklisted on the
-runblacklist
and prevented resolution -
Uses constraint violation
are now logged which have been igored incorrectly before, allowing better debugging of resolver wiring (see example) - The Unresolved Requirements list now has a search bar for filtering the list. This can help searching for clues based on the error message above.
- double clicking on a result entry of an Advanced search (e.g. filter by package name) now opens the jar-file of the bundle. this is now same behavior as double clicking on a bundle-version in the repository browser without advanced search filtering
- added Copy to Clipboard submenu (Right-click on a Repository) for different kinds of information
- add Update Revisions submenu (Right-click on a Repository), This allows to increase versions of a full
central.mvn
maven index file (incnf
folder). Similar functionality already exists if you right-click on a single RepoBundle-Revision entry, but this one here does it for the whole repository. This basically brings the MbrCommand e.g.bnd mbr update -s micro
to the bndtools UI. It also supports a dry-run which copies the result to the clipboard without updating thecentral.mvn
index file.
- Plugins are now displayed and editable via dialog if defined via merged properties (e.g.
-plugin.0.Main
,-plugin.1.Testing
etc.) - added 2 Repository Plugins to the Add-Plugin dialog (
POMRepository
andP2Repository
) - See PR for details
- a new tagging mechanism for repositories in
build.bnd
has been added which allows to assign a list of tags to a repository. This can be used for filtering repositories. One use case was to exclude the baseline repostory from resolution.
- fixed bug in
Package browser / Right-click / Refactoring / Rename Package
which now works again - fixed some race conditions error related to the JAR Editor (
Error creating temp folder for JAREditor
) - fixed bug in BndPomRepository which could not address an OSGi bundle by Maven GAV coodinates. This is now consistent with MavenBndRepository and fixes problems with
bnd.bnd
content like this, where a bundle is addressed by GAV instead of bsn:
-buildpath: \
commons-cli:commons-cli;version=1.2.0,\
-includeresource: \
@${repo;commons-cli:commons-cli;latest},\
- fixed a problem, that newly created Project Template projects required a Eclipse restart to show up in the New Bnd Project wizard. Now they show up immediately after creation
- fixed Source lookup during debugging for (usually non-OSGi) .jar files included via in bundle classpath (
-includeresource: ${repo;foo.bar;latest}; lib:=true
) (see #6165)
-
New processing of files in
META-INF/services
via textual annotations or automatic registration of services. The strategy can be controlled with the new -metainf-services instruction. -
Improvement / Fix:
Import-Package
(coming fromExport-Package
) are not automatically added to generated Manifest anymore, if the export does not specify a version. This now conforms better to the specification which requires a version on exports. Notice that this results in different generated Manifests if exports do not specify a version. (PR #6270)
- TBD
- TBD
-
bnd-maven-plugin: new option
deleteExistingManifest
to delete existing MANIFEST.MF (e.g. from previous build) which could have lead to surprising results whenprocess-classes
is executed multiple times. - maven resolver plugin now prints more helpful output in verification-mode to help identifying problems. It shows the diff between current
-runbundles
and calculated bundles (Example:Diff [org.osgi.service.cm;version='[1.6.1,1.6.2)'] exist in existing runbundles but missing in calculated runbundles
)
- All Bnd artifacts are built to run on Java 17 or later.
- Bndtools is built to run on Eclipse 4.25 (2022-09) or later. So Bndtools may not run on older versions of Eclipse.
- Bndtools m2e is built to run on Eclipse m2e 2.0.5 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-generate-maven-plugin
's poorly named goalbnd-generate
has been renamedgenerate
- The Bnd Gradle plugins require a minimum of Gradle 7.3.
- The Bnd Gradle plugins and tasks underwent an update for 7.0. A number of previously deprecated conventions have been removed.
-
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.