bnd, the swiss army knife for OSGi. A tool to build OSGi bundles.
Java Groovy Other
Latest commit 9fb2188 Dec 10, 2016 @njbartlett njbartlett committed on GitHub Merge pull request #1806 from njbartlett/bnd-cmd-docker
bnd command Docker Image
Permalink
Failed to load latest commit information.
.gradle-wrapper build: Update gradlew to 3.2.1 Dec 8, 2016
.mvn/wrapper mvnw: Add maven wrapper to build - mvn version 3.3.9 Aug 16, 2016
aQute.libg [findbugs] Character comparison against the wrong character Oct 17, 2016
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 gradle: Handle null return for BndEditModel.getRunBundles() Nov 25, 2016
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 logging: Mark Reporter.progress and Reporter.trace deprecated Sep 26, 2016
biz.aQute.bndlib.comm.tests [http] PUT users did not close the input stream Aug 29, 2016
biz.aQute.bndlib.tests [baseline] at least give _some_ test output Dec 6, 2016
biz.aQute.bndlib fixes #1792 Baseline suggests a "micro" bump when there is both a "mi… Dec 6, 2016
biz.aQute.configadmin coll.toArray(new T[coll.size()]) => coll.toArray(new T[0]) Apr 6, 2016
biz.aQute.demo.subsys javadoc: Clean up the many warnings in the build Feb 12, 2016
biz.aQute.http.testservers build: Release to maven shaped repo Apr 21, 2016
biz.aQute.jpm logging: Change Reporter.trace calls to Logger.debug calls Sep 26, 2016
biz.aQute.junit exception: Handle reporting exceptions better Aug 18, 2016
biz.aQute.launcher logging: Change Reporter.trace calls to Logger.debug calls Sep 26, 2016
biz.aQute.remote Merge pull request #1705 from seanbright/private-reference Sep 28, 2016
biz.aQute.repository.aether fix null artifact file uploading Apr 7, 2016
biz.aQute.repository [pom repo] a test case for #1731 bnd's maven support doesn't properly… Dec 7, 2016
biz.aQute.resolve.test resolve test: Make it run with gradle May 31, 2016
biz.aQute.resolve fixes #1790 repository validation fails if resources contain un-escap… Dec 5, 2016
biz.aQute.tester build: Remove maven artifact building from gradle build Apr 21, 2016
cnf build: Add tag to Bundle-SCM header Nov 11, 2016
demo-fragment Minor fixes Aug 24, 2016
demo Baselining should not assume static methods are inherited #1235 Aug 1, 2016
dist build: Sort bundle list before indexing May 6, 2016
docker bnd command Docker Image Dec 9, 2016
docs docs: Use canonical artifact id for core jar Nov 18, 2016
maven Merge pull request #1803 from rotty3000/issue-1748 Dec 9, 2016
org.osgi.impl.bundle.repoindex.ant javadoc: Clean up the many warnings in the build Feb 12, 2016
org.osgi.impl.bundle.repoindex.api Move static web resource from osgi.org to bnd.bndtools.org Sep 20, 2016
org.osgi.impl.bundle.repoindex.cli Move static web resource from osgi.org to bnd.bndtools.org Sep 20, 2016
org.osgi.impl.bundle.repoindex.lib exception: Handle reporting exceptions better Aug 18, 2016
org.osgi.impl.bundle.repoindex.test build: Release to maven shaped repo Apr 21, 2016
.gitattributes gitattributes: Add .bndrun files Dec 7, 2015
.gitignore maven: Cleanup .gitignore, add .project for bnd-testing-maven-plugin Oct 6, 2016
.mailmap .mailmap: Add name for Ray Nov 30, 2015
.travis.yml build: Cache m2 and gradle cache Oct 5, 2016
CONTRIBUTING.md build: Use compileOnly configuration new to Gradle 2.12 Mar 30, 2016
LICENSE license: Add a LICENSE file for Apache License 2.0 Dec 10, 2015
README.md Update README.md with YourKit acknowledgement Sep 21, 2016
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 (runs on Java 1.6)
  • biz.aQute.launcher - Launcher (runs on Java 1.6)
  • 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 list. We also have the bndtools-dev@googlegroups.com 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