Downloads
Please provide feedback about this code to mailto:Peter.Kriens@aqute.biz
- Bnd Tool
- FileInstall Utility
- Class Dump Utility
- Maven Deploy Utility
- Sudoku game with OSGi based transparent RPC
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
Source code for bnd is available in the maven repository. The license for this source code is ASL 2.0.
Versions
| 20080504 | 0.0.257 | This 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! |
| 20080331 | 0.0.249 | Added an editor, allowed includes to not override already set properties by prepending them with a ~ |
| 20080326 | 0.0.243 | Fixed 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. |
| 20080311 | 0.0.239 | Allow 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. |
| 20080212 | 0.0.238 | Added a -remove-attribute: directive on the Import clause to remove inherited mandatory attributes. |
| 20080131 | 0.0.236 | Added 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 |
| 20071222 | 0.0.223 | Dependencies to 1.6 creeped into the code, now compiles against 1.4 |
| 20071130 | 0.0.218 | Versions 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. |
| 20071129 | 0.0.215 | If 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 |
| 20071022 | 0.0.208 | Did not parse the Parameter Annotation Attributes, they turned to be slightly different than other annotation attributes. |
| 20071005 | 0.0.201 | Crawls 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). |
| 20070927 | 0.0.198 | Did 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. |
| 20070801 | 0.0.187 | Gives warning for wrap when rename fails. Implemented -removeheaders which remove headers from the output manifest |
| 20070801 | 0.0.178 | Add 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 |
| 20070730 | 0.0.170 | Gives 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 |
| 20070614 | 0.0.160 | Will 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. |
| 20070523 | 0.0.145 | Added an experimental feature: Conditional-Package, which will only include a package when it is required. This is a recursive definition |
| 20070522 | 0.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 |
| 20070428 | 0.0.134 | Closing all streams |
| 20070428 | 0.0.131 | Nasty bug in handling of ! in private/export |
| 20070425 | 0.0.130 | mangled the import versions to follow OSGi rules |
| 20070422 | 0.0.129 | Ouch, used getBoolean instead of parseBoolean in doing the serviceFactory attribute for a component |
| 20070420 | 0.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 |
| 20070419 | 0.0.125 | new servicecomponent did always create servicefactory |
| 20070412 | 0.0.124 | bnd.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 |
| 20070409 | 0.0.122 | Cleaned up non-osgi compatible versions when building |
| 20070406 | 0.0.118 | Updated Service-Component handling. Now supports servicefactory, immediate, enabled, and factory attributes |
| 20070312 | 0.0.115 | Supports <>, {}, (), [], «», 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. |
| 20070215 | 0.0.112 | Uses name of bnd file when no Bundle-SymbolicName is set. |
File Install Bundle
The File Install bundle watches a local directory. Files in this directory are bundles or configuration files. They are installed, updated, and uninstalled. This is probably the simplest management agent, but incredibly easy to use. See FileInstall.
License of the source code is EPL (or any other license you want).
Versions
| 20071207 | 1.3.4 | Log did not check for null exception so gave a NullPointerException when it tried to print a stack trace |
| 20070813 | 1.3.2 | Changed configuration factory name to match the spec recommendation of using a symbolic name. |
| 20070613 | 1.2.1 | Join in stop to prevent race condition, careful with bundle location setting to null |
| 20070524 | 1.2 | Added configuration checking |
| 20061113 | 1.0 | Initial release |
clsd Class Dumper
Dumps a class file, see Clsd.
License of the source code is Apache Software License 2.0
Versions
| 20071005 | 1.0.0 | Initial 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
| 20061113 | 1.0 | Initial 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.



