what's coming in bndtools 3.0 and beyond
TRANSCRIPT
Bndtools UpdateWhat’s Coming in 3.0 and BeyondHere!
Neil Bartlett – Paremus Ltd, [email protected]
3.0
Build
• (Even) better build fidelity with offline.
• Faster, more scalable builds.
• All packaged code in dependent bundle visible downstream.
OSGi Release 6• Support for OSGi R6 annotations: DS 1.3 and
MetaType 1.3.
• Annotation processing for DS & MetaType enabled by default.
• Versioning annotations from OSGi spec.
• Prefer package-info.java over packageinfo.
DS 1.3 Demo
Repo-Specific Deps
-buildpath: osgi.cmpn; version=5.0; repo="Build*,Release"
Capability Search
Wildcard Dependencies
-buildpath: *; repo=Build
• Can be used from cnf.
• Puts all bundles from the repo on buildpath.
• Enable type-level repo searches using ⌘T
• bnd-maven-plugin now production-ready.
• Use POM properties in bnd.bnd.
• Inheritance from Parent Project, omit bnd.bnd if specific settings not required.
• Most projects don’t require bnd.bnd (this surprised us too…)
• New “Non-Workspace” Plugin.
• Much better than the “official” Gradle OSGi plugin… also, maintained!
• As used by Liferay.
3.1
“Standalone” Operations
• Resolve/Run/Export without bnd Workspace.
• Better support for Maven and Gradle (non-ws) devs
• OSGi Repository Index wizard.
• Indexing (bnd-indexer-maven-plugin).
• Baselining (bnd-baseline-maven-plugin).
• Integration testing (bnd-test-maven-plugin).
• Export as executable JAR (TBD).
Standalone/Maven Demo
New Template System
• Load Templates from Repository and/or Workspace
• Base Templates Updated for OSGi Release 6
Template Demo
Hash Dependencies-buildpath: osgi.cmpn; version=hash; hash=292ecca5d8…
• Guaranteed repeatable builds.
• Repos can answer queries purely by hash.
• Safely consume from external repos.
• Hash + BSN validated after download.
Future Plans• Moar Maven integration!
• Incremental bundle build in m2e?
• Clean up Repository Plugin API.
• Export to Docker?
• JSR 376 (Java Platform Module System) Support?
Help!
• Number of Bndtools committers on Windows: 0
• If Windows is an important platform for you, please try to get involved.