bnd, the swiss army knife for OSGi. A tool to build OSGi bundles.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gradle-wrapper gradlew: Update to 4.10.2 Oct 5, 2018
.mvn/wrapper mvnw: Update wrapper to 0.4 and mvn to 3.5.3 Mar 11, 2018
aQute.libg io: Refactor FileTree to extend new PathSet class Nov 19, 2018
biz.aQute.bnd.annotation methodhandles: Replace method/field reflection with methodhandles Oct 19, 2018
biz.aQute.bnd.diagnostics.gogo consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.bnd.embedded-repo consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.bnd.exporters consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.bnd.gradle build: Use pom built into jar when releasing Nov 19, 2018
biz.aQute.bnd.reporter build: Optionally import packages used by Class.forName in dependencies Nov 19, 2018
biz.aQute.bnd.test consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.bnd.testextension build: Use -includepackage instead of Private-Package Jul 26, 2018
biz.aQute.bnd build: Refactor Home into aQute.bnd.util.home package Nov 19, 2018
biz.aQute.bndall.tests build: Remove usage of osgi.cmpn Sep 15, 2018
biz.aQute.bndlib.comm.tests consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.bndlib.tests clazz: Add isInnerClass method Nov 13, 2018
biz.aQute.bndlib Merge pull request #2731 from rotty3000/cdi.fixes Nov 19, 2018
biz.aQute.http.testservers consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.junit build: Optionally import packages used by Class.forName in dependencies Nov 19, 2018
biz.aQute.launcher consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.remote build: Refactor Home into aQute.bnd.util.home package Nov 19, 2018
biz.aQute.repository maven: Use PathSet to locate pom.xml and pom.properties in jar Nov 19, 2018
biz.aQute.resolve.test consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.resolve consistent formatting only, because I was annoyed Oct 29, 2018
biz.aQute.tester consistent formatting only, because I was annoyed Oct 29, 2018
cnf build: Use pom built into jar when releasing Nov 19, 2018
demo-fragment build: fix new warning Sep 9, 2018
demo methodhandles: Replace method/field reflection with methodhandles Oct 19, 2018
dist [bnd] Add exportreport command Nov 7, 2018
docker [docker] update bnd docker image, use jdk to enable compile Oct 19, 2018
docs removed/updated broken/wrong/old links Nov 14, 2018
maven Fix typo Nov 11, 2018
.gitattributes gitattributes: Add .bndrun files Dec 7, 2015
.gitignore Ignore the .recommenders directory Jan 10, 2017
.mailmap mailman: Add recent committers Oct 5, 2018
.travis.yml travis: Use OpenJDK from adoptopenjdk.net Oct 25, 2018
CONTRIBUTING.md build: Fix some lingering Java 7 references Oct 6, 2017
LICENSE license: Add a LICENSE file for Apache License 2.0 Dec 10, 2015
README.md gradle: Update plugins for Gradle 4.0 as base version Oct 6, 2017
appveyor.yml gradlew: Update to 4.10.1 Sep 16, 2018
build.gradle Revert "test: Increase memory for test execution" Oct 9, 2018
gradle.properties Revert "build: Increase memory for gradle execution" Oct 9, 2018
gradlew build: Update gradlew to 4.0.1 Jul 26, 2017
gradlew.bat gradlew: Update to gradle 3.0 Aug 15, 2016
mvnw mvnw: Update wrapper to 0.4 and mvn to 3.5.3 Mar 11, 2018
mvnw.cmd mvnw: Update wrapper to 0.4 and mvn to 3.5.3 Mar 11, 2018
rebuild-with-local-plugin rebuild: Change default target now that we release to maven repo Apr 22, 2016
settings.gradle build: Move TSTAMP setting into workspace configure closure Mar 13, 2018

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.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 building
  • 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