Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
bnd, the swiss army knife for OSGi. A tool to build bundles.
Java Other

Merge pull request #1007 from pkriens/master

Auxliary classloaders for plugins & test case for executable jar creation
latest commit 5a6ded1d87
@pkriens pkriens authored
Failed to load latest commit information.
.gradle-wrapper gradlew: Update to 2.4
aQute.libg Fix problem parsing OSGi headers with an explicit empty attribute at …
biz.aQute.bnd.annotation Avoid .* in imports to get precise imports
biz.aQute.bnd.embedded-repo Avoid .* in imports to get precise imports
biz.aQute.bnd.exporters [exporter] New project for exporters
biz.aQute.bnd.gradle gradle plugin: jar task rebuild for -dependson project's artifact cha…
biz.aQute.bnd.test 1000 volatile field implies dynamic
biz.aQute.bnd.testextension Avoid .* in imports to get precise imports
biz.aQute.bnd Use LF line endings in output files for build consistency
biz.aQute.bndlib.tests Merge pull request #1007 from pkriens/master
biz.aQute.bndlib Merge pull request #1007 from pkriens/master
biz.aQute.configadmin Avoid .* in imports to get precise imports
biz.aQute.demo.subsys Avoid .* in imports to get precise imports
biz.aQute.jpm [jpmcmd] Removed GC, gives problems
biz.aQute.junit [junit] junit 4 "unrooted" tests with parametrized tests
biz.aQute.launcher Avoid .* in imports to get precise imports
biz.aQute.remote [remote] Added -a option to register for ALL interfaces.
biz.aQute.repository.aether Make sure super types on -buildpath
biz.aQute.repository [jpm] Made crawler deamon and gave thread a name
biz.aQute.resolve [resolve] The test cases used the resolver without a project
bnd-maven-plugin Fix reference to example projects
cnf Gradle Problems exporting an executable jar #980
demo Gradle Problems exporting an executable jar #980
dist index: Cease generating old OBR index
org.osgi.impl.bundle.repoindex.ant Avoid .* in imports to get precise imports
org.osgi.impl.bundle.repoindex.api Avoid .* in imports to get precise imports
org.osgi.impl.bundle.repoindex.cli Avoid .* in imports to get precise imports
org.osgi.impl.bundle.repoindex.lib [resolver] Added a URI resolver interface
org.osgi.impl.bundle.repoindex.test Avoid .* in imports to get precise imports
osgi.r5 Avoid .* in imports to get precise imports
.gitattributes gitattributes: Update for new file types in repo
.gitignore gitignore: Tidy up root .gitignore
.mailmap Add .mailmap file for git shortlog
.travis.yml travis: Test under jdk8 as well as jdk7
CONTRIBUTING.md gradlew: Update to 2.3
README.md gradlew: Update to 2.3
REPOINDEX.md repoindex: Add readme file from old bindex repo
appveyor.yml windows: Add yml for windows CI build on AppVeyor
build.gradle disable javadoc lint for jdk 8
gradle.properties build: Increase memory settings
gradlew Install Gradle in the workspace
gradlew.bat Install Gradle in the workspace
settings.gradle gradle plugin: Use method names for bnd types

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://www.aQute.biz/Bnd

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.4)
  • biz.aQute.launcher - Launcher (runs on Java 1.4)
  • 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'
  • osgi.r5 - OSGi jars without all dependencies

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.

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.

Something went wrong with that request. Please try again.