Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bndtools Update - Whats Coming in v3.0.0 and Beyond - Neil Bartlett


Published on

OSGi Community Event 2015

Bndtools, based on bnd and provided as an Eclipse plugin, is the easy, powerful and productive way to develop with OSGi.</p>
It's great that over the last 12 months the community has grown significantly, and importantly still continues to grow. It's great to see the increased adoption and all of the questions on the mail list.

Join us for this talk to get a detailed overview of what's coming in version 3.0.0 along with an insight to our medium and long-term future plans, including enhancing the bnd Maven Plugin.

Version 3.0.0 will include support for:
* Better offline build fidelity
* Faster builds"
* More visible warnings, error markers and quick fixes
* Integration with OSGi compendium R6 specs such as Declarative Services (DS) 1.3 and metatype 1.3.

Published in: Technology
  • Be the first to comment

Bndtools Update - Whats Coming in v3.0.0 and Beyond - Neil Bartlett

  1. 1. Bndtools Update What’s Coming in 3.0 and Beyond Here! Neil Bartlett – Paremus Ltd,
  2. 2. 3.0
  3. 3. Build • (Even) better build fidelity with offline. • Faster, more scalable builds. • All packaged code in dependent bundle visible downstream.
  4. 4. 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 over packageinfo.
  5. 5. DS 1.3 Demo
  6. 6. Repo-Specific Deps -buildpath: osgi.cmpn; version=5.0; repo="Build*,Release"
  7. 7. Capability Search
  8. 8. 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
  9. 9. • 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…)
  10. 10. • New “Non-Workspace” Plugin. • Much better than the “official” Gradle OSGi plugin… also, maintained! • As used by Liferay.
  11. 11. 3.1
  12. 12. “Standalone” Operations • Resolve/Run/Export without bnd Workspace. • Better support for Maven and Gradle (non-ws) devs • OSGi Repository Index wizard.
  13. 13. • Indexing (bnd-indexer-maven-plugin). • Baselining (bnd-baseline-maven-plugin). • Integration testing (bnd-test-maven-plugin). • Export as executable JAR (TBD).
  14. 14. Standalone/Maven Demo
  15. 15. New Template System • Load Templates from Repository and/or Workspace • Base Templates Updated for OSGi Release 6
  16. 16. Template Demo
  17. 17. 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.
  18. 18. 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?
  19. 19. Help! • Number of Bndtools committers on Windows: 0 • If Windows is an important platform for you, please try to get involved.