What's Coming in Bndtools 3.0 and Beyond

19
Bndtools Update What’s Coming in 3.0 and Beyond Here! Neil Bartlett – Paremus Ltd, [email protected]

Transcript of What's Coming in Bndtools 3.0 and Beyond

Page 1: What's Coming in Bndtools 3.0 and Beyond

Bndtools UpdateWhat’s Coming in 3.0 and BeyondHere!

Neil Bartlett – Paremus Ltd, [email protected]

Page 2: What's Coming in Bndtools 3.0 and Beyond

3.0

Page 3: What's Coming in Bndtools 3.0 and Beyond

Build

• (Even) better build fidelity with offline.

• Faster, more scalable builds.

• All packaged code in dependent bundle visible downstream.

Page 4: What's Coming in Bndtools 3.0 and Beyond

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.

Page 5: What's Coming in Bndtools 3.0 and Beyond

DS 1.3 Demo

Page 6: What's Coming in Bndtools 3.0 and Beyond

Repo-Specific Deps

-buildpath: osgi.cmpn; version=5.0; repo="Build*,Release"

Page 7: What's Coming in Bndtools 3.0 and Beyond

Capability Search

Page 8: What's Coming in Bndtools 3.0 and Beyond

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

Page 9: What's Coming in Bndtools 3.0 and Beyond

• 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…)

Page 10: What's Coming in Bndtools 3.0 and Beyond

• New “Non-Workspace” Plugin.

• Much better than the “official” Gradle OSGi plugin… also, maintained!

• As used by Liferay.

Page 11: What's Coming in Bndtools 3.0 and Beyond

3.1

Page 12: What's Coming in Bndtools 3.0 and Beyond

“Standalone” Operations

• Resolve/Run/Export without bnd Workspace.

• Better support for Maven and Gradle (non-ws) devs

• OSGi Repository Index wizard.

Page 13: What's Coming in Bndtools 3.0 and Beyond

• Indexing (bnd-indexer-maven-plugin).

• Baselining (bnd-baseline-maven-plugin).

• Integration testing (bnd-test-maven-plugin).

• Export as executable JAR (TBD).

Page 14: What's Coming in Bndtools 3.0 and Beyond

Standalone/Maven Demo

Page 15: What's Coming in Bndtools 3.0 and Beyond

New Template System

• Load Templates from Repository and/or Workspace

• Base Templates Updated for OSGi Release 6

Page 16: What's Coming in Bndtools 3.0 and Beyond

Template Demo

Page 17: What's Coming in Bndtools 3.0 and Beyond

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.

Page 18: What's Coming in Bndtools 3.0 and Beyond

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?

Page 19: What's Coming in Bndtools 3.0 and Beyond

Help!

• Number of Bndtools committers on Windows: 0

• If Windows is an important platform for you, please try to get involved.