Code / Download aQute - Software Consultancy
Search
*

Downloads

Please provide feedback about this code to mailto:Peter.Kriens@aqute.biz


Bnd tool

A tool that can be used as a command line utility, an ant task, an Eclipse plugin, and a maven plugin. It can be used to verify bundles, create bundles from the classpath and a description, as well as wrapping an existing bundle. See Bnd.

Releases

The current version is 0.0.384. The Maven Group Id is always biz.aQute. The maven repository can be found on:

  http://www.aQute.biz/repo
DownloadMaven ArtifactDescription
bnd.jarbndComplete tool (plugin, ant, command line)
bndlib.jarbndlibCore bnd library. Is used in Maven, can be useful if you want to manipulate JAR files and generate manifests.
annotation.jarannotationOnly annotations. Can be useful if you want to use the annotations but do not want the full bnd on your classpath

Source code for bnd is always inside the jar in OPT-INF/src. The license for this source code is ASL 2.0. You can also find a CVS project of bnd at bnd.sourceforge.net.

Feedback

The project is maintained by Peter Kriens. If you have a problematic situation, please contact me with as much info as possible. Usually it is fixed almost immediately. If you want extensions, let me know what features you like.

Versions

200912090.0.384Added more error information when a ZIP/JAR is corrupt. Fixed bug in annotations where multiple/optional/dynamic did not work correctly. The type parameter did work though.
200912010.0.381The annotations did not compile well under the Sun javac compiler because of a static class reference. Removed the class reference.
200911050.0.378Supports specific bind and unbind methods for components
200911030.0.375Added an annotations only version library
200911020.0.374Added Export annotation and now has experimental version policies for that differ between implementing a package and using a package. Separately document in XBnd
200910160.0.372Components can now use annotations, use -component:. Accepts wildcarded classes searched inside the made JAR. Components are in the bnd file: aQute.bnd.annotations.component. Is still alfa but like feedback. Fixed bug with Include-Resource filtering support. No longer warning when you use -exportcontents instead of classpath based directives.
200910120.0.369Added ${env;<name>} macro
200910020.0.366Fixed NullPointerException in the component handling, in checkClass
200909010.0.356On a PC, Include Resource could include "\" as JAR path separator, this should be "/".
200908260.0.355Fixed some errors in signature parsers.
200908260.0.354Only allowed 4 character package names, fixed. DO
200908200.0.353Fixes a serious bug in the class file parsing, causing it to think you're importing '.'.
200908200.0.352Now supports parsing of generics as well. Supports plugins that come from the file system (set path:= to the classpath). Plugins can now be delayed in reporting their absence if they have a command: directive. They are only reported when the command string is used in a bnd file. Better (hopefully) file dependency management. And bug fixes.
200907010.0.337There are continuous enhancements (and surprisingly few bug fixes). Significant new feature is that bnd now supports the new DS namespace with additional methods (activate, modified, deactivate), and configuration policy.
200903240.0.313There have been a lot of changes in the last months because bnd is being used for the OSGi build. It has been extended with a classpath container, project/workspace model, bnd file editor, and lots of bug fixes. Due to time restrictions, I have not been able to document all the features and they are too much to list here. Please not that this release requires Java 5.
200805040.0.257This is an intermediate version. I am making quite a few changes but some people need an update. Be careful not to use this in unaware production sites. I.e. do not update the maven plugin with this one!
200803310.0.249Added an editor, allowed includes to not override already set properties by prepending them with a ~
200803260.0.243Fixed path handling of absolute paths in Eclipse .classpath files. Absolute files were causing errors. Order of -include is reversed. Included files erroneously overwrite their properties on the level they were included. Now properties in the same file as the -include instruction always override the included properties. However, properties later in the list of included files overwrite properties in earlier files.
200803110.0.239Allow export of specifically mentioned metadata packages like META-INF. These are normally not exported but sometimes it is necessary. There is no wildcard expansion for these dirs.
200802120.0.238Added a -remove-attribute: directive on the Import clause to remove inherited mandatory attributes.
200801310.0.236Added a -nouses clause. Uses now only contains imported or exported packages but no private pacakges. Exports can override their uses, optionally including the calculated uses. Inlines (@x.jar) manifest headers were copied to the output manifest when the manifest was copied, the last one won. Inlines will now not copy the manifest
200712220.0.223Dependencies to 1.6 creeped into the code, now compiles against 1.4
200711300.0.218Versions as attributes lacked quotes. It turns out that the value of an attribute was only quoted when it contain a commo or a semicolon. It now verifies if it is already quoted or if it is not a token according to the spec. Note that in the next release it is likely that the . will be allowed in an attribute value.
200711290.0.215If a property had a \n and was copied to the manifest because it was a valid manifest header, and the \n was not followed by a space then the manifest would be corrupt. Now the jar will cleanup any attributes that have a newline
200710220.0.208Did not parse the Parameter Annotation Attributes, they turned to be slightly different than other annotation attributes.
200710050.0.201Crawls classes for come.acme.X.class like constructs. Fixes a parser bug that gave random problems for larger class files read from file (bnd reads from memory).
200709270.0.198Did not augment mandatory attributes when version was not set. Bundle Activator does not show warning when it comes form an import. Added -exportcontents header. Fixed double entries on classpath when using with Eclipse.
200708010.0.187Gives warning for wrap when rename fails. Implemented -removeheaders which remove headers from the output manifest
200708010.0.178Add the target attribute on the reference for a Service-Component. Fixed Conditional-Package to not give superfluous warnings for split packages, . Add the target attribute on the reference for a Service-Component. Fixed Conditional-Package to not give superfluous warnings for split packages
200707300.0.170Gives a proper error when a resource does not exists from Include-Resource. Adds a -split-package directive on Export-Package and Private-Package that defines a strategy when packages are split between different JARs
200706140.0.160Will not create jar when an existing jar is newer than any sources (make functionality) or itself. Sets exit code now on the number of errors (if -failok is not set). Added new ant tasks for preprocessing the bnd way and getting the .classpath values. Added new macros toclassname, toclasspath, and findname.
200705230.0.145Added an experimental feature: Conditional-Package, which will only include a package when it is required. This is a recursive definition
200705220.0.143-o can now also be a directory. Skips META-INF in export, cleans up versions if they are not OSGi compliant, corrected bug in -include when - was used and file was not found, added new error and warning macros
200704280.0.134Closing all streams
200704280.0.131Nasty bug in handling of ! in private/export
200704250.0.130mangled the import versions to follow OSGi rules
200704220.0.129Ouch, used getBoolean instead of parseBoolean in doing the serviceFactory attribute for a component
200704200.0.128-include supports properties like ${user.home} and when a file is prefixed with a - sign then its absence will not generate an error
200704190.0.125new servicecomponent did always create servicefactory
200704120.0.124bnd.jar did not run inside Eclipse because the plugin.xml contained a reference to a non existent preference page. Yes, I am working on better Eclipse support but it is not in any state yet
200704090.0.122Cleaned up non-osgi compatible versions when building
200704060.0.118Updated Service-Component handling. Now supports servicefactory, immediate, enabled, and factory attributes
200703120.0.115Supports <>, {}, (), [], «», and ‹› for macro names. Inside macros, the delimiters are counted so you can use embedded parentheses. You can now use the filename of a jar on the class path in Include-Resource instead of the path name, useful with maven.
200702150.0.112Uses name of bnd file when no Bundle-SymbolicName is set.

clsd Class Dumper

Dumps a class file, see Clsd.

License of the source code is Apache Software License 2.0

download clsd.jar

Versions

200710051.0.0Initial version

Maven Bundle Deployer

Deploys bundles to maven repositories using FTP.

Source code for deploy is available in the maven repository. The license for this source code is ASL 2.0.

Versions

200611131.0Initial release

Sudoku

An example of how to separate an application between an OSGi part and a part that runs in the browser, using RPC to communicate. See Sudoku.

Copyright 2006 aQute SARL, All Rights Reserved