bnd, the swiss army knife for OSGi. A tool to build OSGi bundles.
Java Groovy Other
Latest commit 780b67a Feb 27, 2017 @rotty3000 rotty3000 committed on GitHub Merge pull request #1918 from rotty3000/#1913
fixes #1913 `bnd-export-maven-plugin` produces stray `generated` directory after execution
Permalink
Failed to load latest commit information.
.gradle-wrapper gradlew: Update to Gradle 3.4 Feb 21, 2017
.mvn/wrapper mvnw: Add maven wrapper to build - mvn version 3.3.9 Aug 16, 2016
aQute.libg baseline: Enable baselining in most projects Feb 20, 2017
biz.aQute.bnd.annotation java9: Avoid Class.newInstance deprecation warning Aug 18, 2016
biz.aQute.bnd.embedded-repo embedded-repo: Allow pom Apr 20, 2016
biz.aQute.bnd.exporters Maven Bnd Repository Apr 4, 2016
biz.aQute.bnd.gradle baseline: Update reporting to include member access and type Feb 25, 2017
biz.aQute.bnd.test build: Release to maven shaped repo Apr 21, 2016
biz.aQute.bnd.testextension build: Release to maven shaped repo Apr 21, 2016
biz.aQute.bnd buildpath: Remove output folder from buildpath Feb 22, 2017
biz.aQute.bndlib.comm.tests build: Clean up cnf/repo and move to use Maven Central Feb 20, 2017
biz.aQute.bndlib.tests baseline: Move field type into RETURN child element Feb 24, 2017
biz.aQute.bndlib tester: Launcher already sets cwd from project base Feb 27, 2017
biz.aQute.configadmin build: Clean up cnf/repo and move to use Maven Central Feb 20, 2017
biz.aQute.demo.subsys build: Clean up cnf/repo and move to use Maven Central Feb 20, 2017
biz.aQute.http.testservers build: Clean up cnf/repo and move to use Maven Central Feb 20, 2017
biz.aQute.jpm logging: Change Reporter.trace calls to Logger.debug calls Sep 26, 2016
biz.aQute.junit tester: Use project field from super class Feb 27, 2017
biz.aQute.launcher launcher: Rename launcher properties file var Feb 27, 2017
biz.aQute.remote baseline: Enable baselining in most projects Feb 20, 2017
biz.aQute.repository.aether baseline: Enable baselining in most projects Feb 20, 2017
biz.aQute.repository baseline: Enable baselining in most projects Feb 20, 2017
biz.aQute.resolve.test resolve test: Make it run with gradle May 31, 2016
biz.aQute.resolve fixes #1913 `bnd-export-maven-plugin` produces stray `generated` dire… Feb 27, 2017
biz.aQute.tester tester: Use project field from super class Feb 27, 2017
cnf resolve: Update to Felix Resolver 1.12.0 Feb 21, 2017
demo-fragment build: Remove binary demo jars from repo Feb 10, 2017
demo baseline: Move field type into RETURN child element Feb 24, 2017
dist build: Sort bundle list before indexing May 6, 2016
docker bnd command Docker Image Dec 9, 2016
docs release: Support releasing to multiple repos on -releaserepo Feb 17, 2017
maven fixes #1913 `bnd-export-maven-plugin` produces stray `generated` dire… Feb 27, 2017
org.osgi.impl.bundle.repoindex.ant baseline: Enable baselining in most projects Feb 20, 2017
org.osgi.impl.bundle.repoindex.api baseline: Enable baselining in most projects Feb 20, 2017
org.osgi.impl.bundle.repoindex.cli baseline: Enable baselining in most projects Feb 20, 2017
org.osgi.impl.bundle.repoindex.lib baseline: Enable baselining in most projects Feb 20, 2017
org.osgi.impl.bundle.repoindex.test build: Release to maven shaped repo Apr 21, 2016
.gitattributes gitattributes: Add .bndrun files Dec 7, 2015
.gitignore Ignore the .recommenders directory Jan 10, 2017
.mailmap .mailmap: Add name for Ray Nov 30, 2015
.travis.yml build: Cache m2 and gradle cache Oct 5, 2016
CONTRIBUTING.md build: Update all projects to Java 7 Dec 15, 2016
LICENSE license: Add a LICENSE file for Apache License 2.0 Dec 10, 2015
README.md readme: link mail lists to the google groups Feb 2, 2017
REPOINDEX.md repoindex: Add readme file from old bindex repo Nov 19, 2014
appveyor.yml build: Cache m2 and gradle cache Oct 5, 2016
build.gradle build: Update task to display buildscript dependencies Nov 18, 2016
gradle.properties travis: Add Java 9 to build matrix Aug 16, 2016
gradlew build: Update gradlew to 3.2.1 Dec 8, 2016
gradlew.bat gradlew: Update to gradle 3.0 Aug 15, 2016
mvnw mvnw: Add maven wrapper to build - mvn version 3.3.9 Aug 16, 2016
mvnw.cmd mvnw: Add maven wrapper to build - mvn version 3.3.9 Aug 16, 2016
rebuild-with-local-plugin rebuild: Change default target now that we release to maven repo Apr 22, 2016
settings.gradle gradle: Set Workspace offline from Gradle offline Sep 2, 2016

README.md

README bnd

bnd is a swiss army knife for OSGi, it creates manifest headers for you based on analyzing the class code, it verifies your settings, it manages project dependencies, gives you quote of the day, diffs jars, and much more.

The information about bnd can be found at http://bnd.bndtools.org

Repository

The git repository contains all code. It contains the following projects:

  • aQute.libg - Library to be statically linked (Conditional-Package)
  • biz.aQute.bnd - A command line utility and ant plugin
  • biz.aQute.bndlib - The core library
  • biz.aQute.bndlib.tests - Tests for the core library
  • biz.aQute.jpm - Just another package manager for Java
  • biz.aQute.junit - Junit tester
  • biz.aQute.launcher - Launcher
  • biz.aQute.repository - Different repos with OBR
  • biz.aQute.resolve - OBR Resolver
  • cnf - Configuration directory
  • demo - Used in testing
  • dist - Contains the distribution after 'gradle'
  • docs - GitHub Pages manual for Bnd

License

All code is Apache 2.0 Licensed so you can do what you want with the source code.

API

Though I am usually pretty good at backward compatibility, there is no guarantee. This is an unpaid project and one of the most annoying thing of work is being backward compatible on the Java API when you know a better way to do it. Properties will be backward compatible if there is any possibility. So be aware, its ok to use this package but do not complain if new releases require some work.

If you're building a tool with a general audience, e.g. bndtools, that includes bnd for a general audience I would appreciate if you got in touch with me so I can keep in touch. I am always interested in ideas.

Eclipse

bndtools is the development environment of bnd. An earlier Eclipse plugin in bnd is no longer available.

Building

Gradle is used to build bnd. The workspace root has a build.gradle file that builds all projects in proper order.

./gradlew - Assembles, tests and releases the projects into dist/bundles
./gradlew :dist:build - Assembles and tests the projects
./gradlew :dist:index - Assembles and releases the projects into dist/bundles

The workspace root includes the gradle wrapper, gradlew, command.

CloudBees Build Status Travis CI Build Status

Release

bnd is continuously built and released on CloudBees.

A Maven repository of the latest build is available at https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/. A snapshot version of all the bundles and Maven and Gradle plugins is there.

Built on DEV@cloud

Feedback

Feedback is always welcome, for general discussions use the bndtools-users@googlegroups.com mail list. We also have the bndtools-dev@googlegroups.com mail list for discussions on the development of bnd.

Bugs and issues should go to https://github.com/bndtools/bnd/issues

Other feedback or specific functionality send to Peter.Kriens@aQute.biz

Contributing

Want to hack on bnd? There are instructions to get you started.

They are probably not perfect, please let us know if anything feels wrong or incomplete.

Acknowledgements

YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

YourKit