[knopflerfish-osgi] 01/05: New upstream version 6.1.1

Felix Natter fnatter-guest at moszumanska.debian.org
Sat Sep 16 08:31:36 UTC 2017


This is an automated email from the git hooks/post-receive script.

fnatter-guest pushed a commit to branch master
in repository knopflerfish-osgi.

commit b2511e0431fdc9acbd2895bac3702f863de0944e
Author: Felix Natter <fnatter at gmx.net>
Date:   Sat Sep 16 10:05:50 2017 +0200

    New upstream version 6.1.1
---
 .gitignore                                         |   44 +
 .travis.yml                                        |   52 +
 BUILD.txt                                          |   26 +
 Knopflerfish.epf                                   |   75 ++
 KnopflerfishEclipseDictionary.txt                  |   63 +
 LICENSE.txt                                        |    2 +-
 META-INF/MANIFEST.MF                               |    9 -
 NOTICE.txt                                         |    4 +-
 README.txt                                         |   24 +-
 README_Eclipse.txt                                 |   16 +
 ant/android.xml                                    |  108 +-
 ant/build.xml                                      |    8 +-
 ant/bundlebuild.xml                                |  155 +--
 ant/bundletasks.xml                                |  128 +-
 ant/docbuild_include.xml                           |    0
 ant/html_template/bundledoc_ext.html               |    0
 .../knopflerfish/ant/taskdefs/bundle/Bundle.java   |    0
 .../ant/taskdefs/bundle/BundleArchives.java        |    4 +-
 .../taskdefs/bundle/BundleHTMLExtractorTask.java   |    2 +-
 .../ant/taskdefs/bundle/BundleLocator.java         |    6 +-
 .../ant/taskdefs/bundle/BundleManifestTask.java    |   73 +-
 .../ant/taskdefs/bundle/BundleMvnAntTask.java      |  287 ++++-
 .../knopflerfish/ant/taskdefs/bundle/FileUtil.java |    2 +-
 .../ant/taskdefs/bundle/MakeHTMLTask.java          |   10 +-
 .../ant/taskdefs/bundle/OSGiPackage.java           |    0
 .../ant/taskdefs/util/Markdown2HtmlTask.java       |  145 +++
 .../org/knopflerfish/ant/taskdefs/util/antlib.xml  |    5 +
 build.xml                                          |  905 +++++++++++++++
 changelog.txt                                      |  374 ------
 docs/building.html                                 |  239 ----
 docs/bundledoc/bundledoc_list.html                 |   92 --
 docs/bundledoc/cm/index.html                       |  171 ---
 docs/bundledoc/cm_cmd/index.html                   |  147 ---
 docs/bundledoc/cm_desktop/images/cm_desktop.png    |  Bin 60740 -> 0 bytes
 .../bundledoc/cm_desktop/images/cm_desktop_300.png |  Bin 36958 -> 0 bytes
 .../cm_desktop/images/cm_desktop_systembundle.png  |  Bin 47391 -> 0 bytes
 .../images/cm_desktop_systembundle_300.png         |  Bin 26009 -> 0 bytes
 docs/bundledoc/cm_desktop/images/frag.png          |  Bin 1546 -> 0 bytes
 docs/bundledoc/cm_desktop/images/lib.png           |  Bin 1479 -> 0 bytes
 docs/bundledoc/cm_desktop/index.html               |  152 ---
 docs/bundledoc/component/index.html                |   71 --
 docs/bundledoc/console/index.html                  |  376 ------
 docs/bundledoc/consoletcp/index.html               |  101 --
 docs/bundledoc/consoletelnet/index.html            |  116 --
 docs/bundledoc/consoletty/index.html               |   65 --
 docs/bundledoc/crimson/index.html                  |   65 --
 docs/bundledoc/desktop/images/bundle.png           |  Bin 2597 -> 0 bytes
 docs/bundledoc/desktop/images/bundle_active.png    |  Bin 7985 -> 0 bytes
 docs/bundledoc/desktop/images/desktop_details.png  |  Bin 102524 -> 0 bytes
 docs/bundledoc/desktop/images/desktop_graph.png    |  Bin 220563 -> 0 bytes
 docs/bundledoc/desktop/images/desktop_icons.png    |  Bin 61275 -> 0 bytes
 docs/bundledoc/desktop/images/desktop_main.png     |  Bin 152499 -> 0 bytes
 docs/bundledoc/desktop/images/desktop_main_300.png |  Bin 49579 -> 0 bytes
 docs/bundledoc/desktop/images/frag.png             |  Bin 1546 -> 0 bytes
 docs/bundledoc/desktop/images/lib.png              |  Bin 1604 -> 0 bytes
 docs/bundledoc/desktop/images/lib_resolved.png     |  Bin 4214 -> 0 bytes
 docs/bundledoc/desktop/images/scr.png              |  Bin 2253 -> 0 bytes
 docs/bundledoc/desktop/images/scr_active.png       |  Bin 2346 -> 0 bytes
 docs/bundledoc/desktop/images/scr_resolved.png     |  Bin 2265 -> 0 bytes
 docs/bundledoc/desktop/index.html                  |  404 -------
 docs/bundledoc/device/index.html                   |   90 --
 docs/bundledoc/dirdeployer/dirdeployer.xml         |   26 -
 docs/bundledoc/dirdeployer/index.html              |  276 -----
 docs/bundledoc/event/index.html                    |  126 --
 docs/bundledoc/framework/index.html                | 1227 --------------------
 docs/bundledoc/frameworkcommands/index.html        |   86 --
 docs/bundledoc/http/index.html                     |  380 ------
 .../bundledoc/httpconsole/images/bundle-active.png |  Bin 2550 -> 0 bytes
 .../httpconsole/images/bundle-lib-active.png       |  Bin 1697 -> 0 bytes
 docs/bundledoc/httpconsole/images/bundle.png       |  Bin 2544 -> 0 bytes
 .../bundledoc/httpconsole/images/document-open.png |  Bin 919 -> 0 bytes
 docs/bundledoc/httpconsole/images/go-home.png      |  Bin 920 -> 0 bytes
 docs/bundledoc/httpconsole/images/help.png         |  Bin 1359 -> 0 bytes
 .../httpconsole/images/httpconsole_login.png       |  Bin 3072 -> 0 bytes
 .../httpconsole/images/httpconsole_openfile.png    |  Bin 1696 -> 0 bytes
 .../httpconsole/images/httpconsole_ppc2003_1.png   |  Bin 19629 -> 0 bytes
 .../httpconsole/images/httpconsole_ppc2003_3.png   |  Bin 18738 -> 0 bytes
 docs/bundledoc/httpconsole/images/info.png         |  Bin 1204 -> 0 bytes
 docs/bundledoc/httpconsole/images/lib.png          |  Bin 1067 -> 0 bytes
 docs/bundledoc/httpconsole/images/openurl.png      |  Bin 1319 -> 0 bytes
 docs/bundledoc/httpconsole/images/player_eject.png |  Bin 729 -> 0 bytes
 docs/bundledoc/httpconsole/images/player_play.png  |  Bin 961 -> 0 bytes
 docs/bundledoc/httpconsole/images/player_stop.png  |  Bin 513 -> 0 bytes
 docs/bundledoc/httpconsole/images/view-refresh.png |  Bin 1364 -> 0 bytes
 docs/bundledoc/httpconsole/index.html              |  266 -----
 docs/bundledoc/junit/index.html                    |  268 -----
 docs/bundledoc/kxml/index.html                     |   63 -
 docs/bundledoc/log/index.html                      |  168 ---
 docs/bundledoc/logcommands/index.html              |  433 -------
 docs/bundledoc/prefs/index.html                    |   69 --
 .../repository_desktop/images/repository_add.png   |  Bin 115295 -> 0 bytes
 .../images/repository_add_300.png                  |  Bin 29822 -> 0 bytes
 .../images/repository_details_displayer.png        |  Bin 114702 -> 0 bytes
 .../images/repository_details_displayer_300.png    |  Bin 47672 -> 0 bytes
 .../images/repository_settings.png                 |  Bin 30397 -> 0 bytes
 .../images/repository_settings_300.png             |  Bin 11735 -> 0 bytes
 docs/bundledoc/repository_desktop/index.html       |  141 ---
 .../repository_xml/images/repository_add.png       |  Bin 115295 -> 0 bytes
 .../repository_xml/images/repository_add_300.png   |  Bin 29822 -> 0 bytes
 .../images/repository_details_displayer.png        |  Bin 114702 -> 0 bytes
 .../images/repository_details_displayer_300.png    |  Bin 47672 -> 0 bytes
 .../repository_xml/images/repository_settings.png  |  Bin 30397 -> 0 bytes
 .../images/repository_settings_300.png             |  Bin 11735 -> 0 bytes
 docs/bundledoc/repository_xml/index.html           |  127 --
 docs/bundledoc/repositorycommands/index.html       |  203 ----
 docs/bundledoc/scrcommands/index.html              |  173 ---
 docs/bundledoc/serial/index.html                   |   69 --
 docs/bundledoc/soap/index.html                     |   49 -
 docs/bundledoc/sslj2sp/index.html                  |  169 ---
 docs/bundledoc/trayicon_fw/index.html              |   60 -
 docs/bundledoc/util/index.html                     |  139 ---
 docs/bundledoc/xalan/index.html                    |   63 -
 docs/bundledoc/xerces/index.html                   |  106 --
 docs/bundledoc/xml/index.html                      |   55 -
 docs/bundledoc/xml_index/index.html                |   50 -
 docs/changelog.html                                |  485 --------
 docs/desktop.html                                  |  243 ----
 docs/examples/cpa/admin/build.xml                  |   26 -
 docs/examples/cpa/admin/bundle.manifest            |   13 -
 .../cpaexample/bundle/admin/AdminActivator.java    |   61 -
 docs/examples/cpa/build.xml                        |   34 -
 docs/examples/cpa/caller/build.xml                 |   28 -
 docs/examples/cpa/caller/bundle.manifest           |   13 -
 .../cpa/caller/resources/OSGI-INF/permissions.perm |    3 -
 .../cpaexample/bundle/caller/CallerActivator.java  |   38 -
 docs/examples/cpa/init.xargs                       |   33 -
 docs/examples/cpa/init.xargs.in                    |   33 -
 docs/examples/cpa/props.xargs                      |   13 -
 docs/examples/cpa/user/build.xml                   |   28 -
 docs/examples/cpa/user/bundle.manifest             |   13 -
 .../cpa/user/resources/OSGI-INF/permissions.perm   |    6 -
 .../cpaexample/service/user/UserService.java       |   85 --
 docs/index.html                                    |  166 ---
 docs/installing.html                               |  177 ---
 .../applicationadmin_api-4.0.0.html                |  215 ----
 .../basicdriverlocator-4.0.0.html                  |  202 ----
 .../basicdriverlocator_all-4.0.0.html              |  202 ----
 docs/jars/blueprint/blueprint_api-5.0.0.html       |  347 ------
 docs/jars/classpatcher/classpatcher_all-5.0.0.html |  199 ----
 docs/jars/cm/cm-5.0.1.html                         |  332 ------
 docs/jars/cm/cm_all-5.0.1.html                     |  351 ------
 docs/jars/cm/cm_api-5.0.1.html                     |  339 ------
 docs/jars/cm_cmd/cm_cmd-5.0.1.html                 |  204 ----
 docs/jars/cm_desktop/cm_desktop-5.0.2.html         |  281 -----
 docs/jars/cm_desktop/cm_desktop_all-5.0.2.html     |  288 -----
 docs/jars/comm-linux/comm-linux_all-3.0.0.html     |  201 ----
 docs/jars/comm-win32/comm-win32_all-3.0.0.html     |  198 ----
 docs/jars/command/command_all-0.2.html             |  284 -----
 docs/jars/command/command_api-0.2.html             |  278 -----
 docs/jars/commandtty/commandtty-4.0.1.html         |  198 ----
 .../commons-logging_all-2.0.0.kf4-001.html         |  284 -----
 docs/jars/component/component_all-5.0.3.html       |  343 ------
 docs/jars/component/component_api-5.0.3.html       |  333 ------
 .../component_annotations_api-1.0.0.html           |  233 ----
 docs/jars/connectors/connectors-3.0.0.html         |  231 ----
 docs/jars/connectors/connectors_all-3.0.0.html     |  231 ----
 docs/jars/console/console-4.0.1.html               |  263 -----
 docs/jars/console/console_all-4.0.1.html           |  282 -----
 docs/jars/console/console_api-4.0.1.html           |  278 -----
 .../console2command/console2command-2.0.0.html     |  208 ----
 docs/jars/consoletcp/consoletcp-5.0.0.html         |  201 ----
 docs/jars/consoletcp/consoletcp_all-5.0.0.html     |  201 ----
 docs/jars/consoletelnet/consoletelnet-4.0.1.html   |  273 -----
 docs/jars/consoletty/consoletty-4.0.1.html         |  202 ----
 docs/jars/coordinator/coordinator_api-1.0.0.html   |  215 ----
 docs/jars/crimson/crimson-2.1.0.kf4-001.html       |  205 ----
 .../deploymentadmin/deploymentadmin_api-4.0.0.html |  242 ----
 docs/jars/desktop/desktop-5.0.1.html               |  825 -------------
 docs/jars/desktop/desktop_all-5.0.1.html           |  899 --------------
 docs/jars/desktop/desktop_api-5.0.1.html           |  794 -------------
 docs/jars/desktop_jvm/desktop_jvm-1.0.0.html       |  205 ----
 docs/jars/desktop_jvm/desktop_jvm_all-1.0.0.html   |  205 ----
 docs/jars/device/device-4.0.1.html                 |  244 ----
 docs/jars/device/device_all-4.0.1.html             |  252 ----
 docs/jars/device/device_api-4.0.1.html             |  247 ----
 docs/jars/dirdeployer/dirdeployer_all-4.0.1.html   |  242 ----
 docs/jars/dirdeployer/dirdeployer_api-4.0.1.html   |  220 ----
 docs/jars/dmt/dmt_api-5.0.0.html                   |  336 ------
 docs/jars/event/event_all-4.0.1.html               |  284 -----
 docs/jars/event/event_api-4.0.1.html               |  272 -----
 .../foreignapplication_api-4.0.0.html              |  210 ----
 docs/jars/framework.html                           |  294 -----
 .../frameworkcommands/frameworkcommands-4.0.1.html |  216 ----
 docs/jars/header.html                              |   81 --
 docs/jars/http/http-4.0.5.html                     |  438 -------
 docs/jars/http/http_all-4.0.5.html                 |  471 --------
 docs/jars/http/http_api-4.0.5.html                 |  429 -------
 docs/jars/httpconsole/httpconsole_all-4.0.1.html   |  312 -----
 docs/jars/httproot/httproot-4.0.0.html             |  201 ----
 docs/jars/index.html                               |   42 -
 docs/jars/io/io_all-4.0.0.html                     |  212 ----
 docs/jars/io/io_api-4.0.0.html                     |  210 ----
 docs/jars/jinidriver/jinidriver_all-0.1.0.html     |  277 -----
 docs/jars/jsdk/jsdk_api-2.5.0.kf3-2.html           |  392 -------
 docs/jars/junit/junit_all-3.8.1.kf4-001.html       |  243 ----
 docs/jars/junit_runner/junit_runner_all-4.0.0.html |  190 ---
 docs/jars/kf_metatype/kf_metatype_all-5.0.2.html   |  263 -----
 docs/jars/kxml/kxml-2.3.0.kf4-001.html             |  240 ----
 docs/jars/list.html                                |  158 ---
 docs/jars/log/log-5.0.0.html                       |  287 -----
 docs/jars/log/log_all-5.0.0.html                   |  329 ------
 docs/jars/log/log_api-5.0.0.html                   |  326 ------
 docs/jars/logcommands/logcommands-5.0.0.html       |  209 ----
 docs/jars/main.html                                |  154 ---
 docs/jars/measurement/measurement-4.0.0.html       |  204 ----
 docs/jars/metatype/metatype-4.0.0.html             |  215 ----
 docs/jars/monitor/monitor_api-4.0.0.html           |  218 ----
 docs/jars/namespace/namespace_api-1.0.0.html       |  219 ----
 docs/jars/package_list.html                        |  424 -------
 docs/jars/position/position-4.0.0.html             |  195 ----
 docs/jars/prefs/prefs_all-4.0.2.html               |  253 ----
 docs/jars/prefs/prefs_api-4.0.2.html               |  242 ----
 docs/jars/provisioning/provisioning_api-4.0.0.html |  193 ---
 docs/jars/remotefw/remotefw_api-4.0.0.html         |  189 ---
 .../remoteserviceadmin_api-1.0.0.html              |  245 ----
 docs/jars/repoindex_kf/repoindex_kf_all-1.0.1.html |  231 ----
 docs/jars/repository/repository_api-1.0.0.html     |  210 ----
 .../repository_desktop_all-1.1.1.html              |  273 -----
 .../repository_xml/repository_xml_all-1.0.2.html   |  246 ----
 .../repository_xml/repository_xml_api-1.0.2.html   |  234 ----
 .../repositorycommands-1.1.1.html                  |  202 ----
 .../repositorymanager_all-1.2.0.html               |  240 ----
 .../repositorymanager_api-1.2.0.html               |  226 ----
 docs/jars/resolver/resolver_api-1.0.0.html         |  212 ----
 .../rxtxcomm-linux-arm-2.1.7.1.html                |  183 ---
 .../rxtxcomm-linux-x86-2.2.0.pre2.html             |  183 ---
 docs/jars/rxtxcomm/rxtxcomm_api-2.2.0.pre2.html    |  345 ------
 docs/jars/scrcommands/scrcommands-4.0.1.html       |  198 ----
 .../serialportdevice_all-4.0.0.html                |  224 ----
 .../serialportdevice_api-4.0.0.html                |  211 ----
 .../serviceloader/serviceloader_api-1.0.0.html     |  195 ----
 docs/jars/sslj2sp/sslj2sp-4.0.0.html               |  206 ----
 docs/jars/subsystem/subsystem_api-1.0.0.html       |  210 ----
 docs/jars/threadio/threadio-0.2.0.html             |  209 ----
 docs/jars/threadio/threadio_all-0.2.0.html         |  214 ----
 docs/jars/threadio/threadio_api-0.2.0.html         |  212 ----
 docs/jars/trayicon_fw/trayicon_fw-4.0.0.html       |  196 ----
 docs/jars/upnp/upnp_api-4.0.0.html                 |  228 ----
 docs/jars/useradmin/useradmin-4.1.1.html           |  381 ------
 docs/jars/useradmin/useradmin_all-4.1.1.html       |  387 ------
 docs/jars/useradmin/useradmin_api-4.1.1.html       |  349 ------
 docs/jars/util/util-4.1.0.html                     |  297 -----
 docs/jars/wireadmin/wireadmin_api-5.0.0.html       |  240 ----
 docs/jars/xalan/xalan-2.7.1.kf3_01.html            |  219 ----
 docs/jars/xerces/xerces-2.10.1.kf5.html            |  292 -----
 docs/jars/xml/xml-4.0.0.html                       |  196 ----
 .../kf_osgi_tutorial/example_source/build.xml      |    0
 .../example_source/dateservice/build.xml           |    0
 .../example_source/dateservice/manifest.mf         |    0
 .../tutorial/dateservice/DateService.java          |    0
 .../tutorial/dateservice/impl/Activator.java       |    0
 .../tutorial/dateservice/impl/DateServiceImpl.java |    0
 .../example_source/dateserviceuser_bad/build.xml   |    0
 .../example_source/dateserviceuser_bad/manifest.mf |    0
 .../dateserviceuserbad/impl/Activator.java         |    0
 .../example_source/dateserviceuser_bad2/build.xml  |    0
 .../dateserviceuser_bad2/manifest.mf               |    0
 .../dateserviceuserbad2/impl/Activator.java        |    0
 .../dateserviceuser_declarative/build.xml          |    0
 .../dateserviceuser_declarative/manifest.mf        |    0
 .../resources/OSGI-INF/component.xml               |    0
 .../tutorial/common/ServiceUserThread.java         |    0
 .../dateserviceuserdeclarative/impl/Component.java |    0
 .../dateserviceuser_listener/build.xml             |    0
 .../dateserviceuser_listener/manifest.mf           |    0
 .../tutorial/common/ServiceUserThread.java         |    0
 .../dateserviceuserlistener/impl/Activator.java    |    0
 .../dateserviceuser_tracker/build.xml              |    0
 .../dateserviceuser_tracker/manifest.mf            |    0
 .../tutorial/common/ServiceUserThread.java         |    0
 .../dateserviceusertracker/impl/Activator.java     |    0
 .../example_source/simplebundle/build.xml          |    0
 .../example_source/simplebundle/manifest.mf        |    0
 .../tutorial/simplebundle/impl/Activator.java      |    0
 .../simplebundle/impl/HelloWorldThread.java        |    0
 .../kf_osgi_tutorial/kf_osgi_tutorial.odt          |  Bin
 .../kf_osgi_tutorial/kf_osgi_tutorial.pdf          |  Bin
 docs/{tutorials => }/kf_osgi_tutorial/readme.txt   |    0
 docs/license.html                                  |  150 ---
 docs/release_notes.html                            |  367 ------
 docs/testing.html                                  |  150 ---
 docs/tutorials.html                                |  144 ---
 fish16x16.gif                                      |  Bin 990 -> 0 bytes
 fish200x300.gif                                    |  Bin 9473 -> 0 bytes
 fish32x32.gif                                      |  Bin 1328 -> 0 bytes
 htdocs/build.xml                                   |  203 ++++
 {docs => htdocs}/css/kf_man.css                    |    0
 {docs => htdocs}/css/knopflerfish.css              |   38 +-
 docs/jars/style.css => htdocs/css/plain.css        |  501 ++++----
 {docs/bundledoc/cm => htdocs/dtd}/cm_data.dtd      |    2 +-
 htdocs/dtd/config.dtd                              |   53 +
 htdocs/error/401.shtml                             |   22 +
 htdocs/error/403.shtml                             |   20 +
 htdocs/error/404.shtml                             |   21 +
 htdocs/error/error_bottom.html                     |    8 +
 htdocs/error/style.css                             |   42 +
 htdocs/favicon.gif                                 |  Bin 0 -> 154 bytes
 htdocs/favicon.ico                                 |  Bin 0 -> 894 bytes
 htdocs/framelink/index.html                        |    3 +
 .../html_src}/android_dalvik_tutorial.html         |  109 +-
 htdocs/html_src/building.html                      |  132 +++
 .../html_src/components_main.html                  |  529 ++++-----
 htdocs/html_src/desktop_main.html                  |  131 +++
 htdocs/html_src/index_main.html                    |   59 +
 htdocs/html_src/installing.html                    |   70 ++
 htdocs/html_src/license.html                       |   12 +
 .../html_src}/osgi_service_tutorial.html           |  173 +--
 {docs => htdocs/html_src}/osgi_with_security.html  |  109 +-
 .../html_src/programming_main.html                 |  113 +-
 htdocs/html_src/release_page.html.in               |  140 +++
 {docs => htdocs/html_src}/running.html             |  107 --
 .../html_src/services_main.html                    |  237 +---
 htdocs/html_src/testing.html                       |   43 +
 htdocs/html_src/tutorials.html                     |   37 +
 htdocs/html_templates/blank                        |    1 +
 .../html_templates/bundle_doc}/bundledoc_hdr.html  |    2 +-
 .../html_templates/bundle_doc/bundledoc_list.html  |   51 +
 .../html_templates/bundle_doc}/bundledoc_main.html |    0
 .../html_templates/bundle_doc}/index.html          |    0
 htdocs/html_templates/bundle_index.html            |   24 +
 htdocs/html_templates/formatted.html               |    4 +
 htdocs/html_templates/release_notes.html           |  120 ++
 htdocs/html_templates/template.html                |  106 ++
 htdocs/image_repo/Image15.psp                      |  Bin 0 -> 34236 bytes
 htdocs/image_repo/knopflerfish-golden.psp          |  Bin 0 -> 72593 bytes
 htdocs/image_repo/knopflerfish-golden2.psp         |  Bin 0 -> 445748 bytes
 htdocs/image_repo/knopflerfish.psp                 |  Bin 0 -> 86136 bytes
 {docs => htdocs}/images/active_overlay.gif         |  Bin
 {docs => htdocs}/images/android_app.png            |  Bin
 {docs => htdocs}/images/bundle_active.gif          |  Bin
 {docs => htdocs}/images/bundle_installed.gif       |  Bin
 {docs => htdocs}/images/dalvik_httproot.png        |  Bin
 {docs => htdocs}/images/desktop-clip.png           |  Bin
 {docs => htdocs}/images/desktop1.gif               |  Bin
 {docs => htdocs}/images/desktop1_200.gif           |  Bin
 {docs => htdocs}/images/desktop1_small.gif         |  Bin
 {docs => htdocs}/images/desktop_details.gif        |  Bin
 {docs => htdocs}/images/desktop_details.png        |  Bin
 {docs => htdocs}/images/desktop_drop_view.gif      |  Bin
 {docs => htdocs}/images/desktop_drop_view.png      |  Bin
 {docs => htdocs}/images/desktop_icons.gif          |  Bin
 {docs => htdocs}/images/desktop_info_log.gif       |  Bin
 {docs => htdocs}/images/desktop_info_log.png       |  Bin
 {docs => htdocs}/images/desktop_info_manifest.gif  |  Bin
 {docs => htdocs}/images/desktop_info_manifest.png  |  Bin
 .../images/desktop_info_manifest_200.gif           |  Bin
 .../images/desktop_info_manifest_200.png           |  Bin
 .../images/desktop_info_manifest_400.gif           |  Bin
 .../images/desktop_info_manifest_400.png           |  Bin
 {docs => htdocs}/images/desktop_info_packages.gif  |  Bin
 {docs => htdocs}/images/desktop_info_packages.png  |  Bin
 {docs => htdocs}/images/desktop_info_services.gif  |  Bin
 {docs => htdocs}/images/desktop_info_services.png  |  Bin
 {docs => htdocs}/images/desktop_list.gif           |  Bin
 {docs => htdocs}/images/desktop_on_eclipse.png     |  Bin
 {docs => htdocs}/images/desktop_open_bundle.gif    |  Bin
 {docs => htdocs}/images/desktop_open_bundle.png    |  Bin
 {docs => htdocs}/images/desktop_set_startlevel.gif |  Bin
 {docs => htdocs}/images/desktop_set_startlevel.png |  Bin
 .../images/desktop_setbundle_startlevel.gif        |  Bin
 .../images/desktop_setbundle_startlevel.png        |  Bin
 {docs => htdocs}/images/desktop_spin.gif           |  Bin
 {docs => htdocs}/images/desktop_spin.png           |  Bin
 {docs => htdocs}/images/desktop_timeline.gif       |  Bin
 {docs => htdocs}/images/desktop_timeline.png       |  Bin
 {docs => htdocs}/images/fadeout_15.png             |  Bin
 {docs => htdocs}/images/install_options.png        |  Bin
 {docs => htdocs}/images/kf300_black.png            |  Bin
 {docs => htdocs}/images/knopflerfish-bottom.jpg    |  Bin
 {docs => htdocs}/images/knopflerfish-small.gif     |  Bin
 {docs => htdocs}/images/knopflerfish-top.jpg       |  Bin
 {docs => htdocs}/images/knopflerfish.jpg           |  Bin
 .../images/knopflerfish4_red400pxl.gif             |  Bin
 {docs => htdocs}/images/knopflerfish_red120pxl.gif |  Bin
 {docs => htdocs}/images/knopflerfish_red140pxl.gif |  Bin
 {docs => htdocs}/images/knopflerfish_red200pxl.gif |  Bin
 {docs => htdocs}/images/knopfleri.gif              |  Bin
 {docs => htdocs}/images/knopfleri.jpg              |  Bin
 {docs => htdocs}/images/knopfleri_2.jpg            |  Bin
 {docs => htdocs}/images/knopfleri_3.jpg            |  Bin
 {docs => htdocs}/images/legend.gif                 |  Bin
 {docs => htdocs}/images/lib_installed.gif          |  Bin
 {docs => htdocs}/images/makewave_logo.png          |  Bin
 {docs => htdocs}/images/makewave_logo_126x16.gif   |  Bin
 {docs => htdocs}/images/mem_256.gif                |  Bin
 {docs => htdocs}/images/no_remote_framework.png    |  Bin
 {docs => htdocs}/images/osgi-fish.jpg              |  Bin
 {docs => htdocs}/images/osgi-knopflerfish.gif      |  Bin
 {docs => htdocs}/images/remote_framework.png       |  Bin
 {docs => htdocs}/images/shortfadeout_20px.png      |  Bin
 {docs => htdocs}/images/time_256.gif               |  Bin
 {docs => htdocs}/images/tray.gif                   |  Bin
 {docs/images => htdocs}/knopflerfish.jpg           |  Bin
 .../BundleReferenceImpl.java => htdocs/license.txt |   20 +-
 htdocs/osgi_copyright.txt                          |   65 ++
 kf_16x16.gif                                       |  Bin 990 -> 0 bytes
 kf_32x32.gif                                       |  Bin 1328 -> 0 bytes
 knopflerfish_red400pxl.gif                         |  Bin 7133 -> 0 bytes
 osgi/build.xml                                     |   52 +-
 osgi/framework/TODO                                |    1 -
 osgi/framework/build.xml                           |  133 +--
 osgi/framework/doc/index.html                      |  112 +-
 .../org.osgi.framework.launch.FrameworkFactory     |    0
 osgi/framework/resources/android_packages.txt      |  215 ++++
 osgi/framework/resources/exports                   |    1 -
 osgi/framework/resources/kfsplash.gif              |  Bin
 osgi/framework/resources/release                   |    1 -
 osgi/framework/resources/version                   |    1 -
 .../src/org/knopflerfish/framework/Alias.java      |    3 +-
 .../framework/BundleCapabilityImpl.java            |  137 ++-
 .../knopflerfish/framework/BundleClassLoader.java  |  223 +---
 .../knopflerfish/framework/BundleClassPath.java    |  260 +----
 .../knopflerfish/framework/BundleContextImpl.java  |  107 +-
 .../knopflerfish/framework/BundleGeneration.java   |   80 +-
 .../org/knopflerfish/framework/BundleHooks.java    |   22 +-
 .../src/org/knopflerfish/framework/BundleImpl.java |  166 ++-
 .../framework/BundleNameVersionCapability.java     |    4 +-
 .../org/knopflerfish/framework/BundlePackages.java |  103 +-
 .../framework/BundleReferenceImpl.java             |   16 +-
 .../framework/BundleRequirementImpl.java           |   63 +-
 .../knopflerfish/framework/BundleRevisionImpl.java |   79 +-
 .../framework/BundleURLConnection.java             |    4 +-
 .../framework/BundleURLStreamHandler.java          |    2 +-
 .../org/knopflerfish/framework/BundleWireImpl.java |   16 +-
 .../knopflerfish/framework/BundleWiringImpl.java   |  124 +-
 .../src/org/knopflerfish/framework/Bundles.java    |   29 +-
 .../{BundleReferenceImpl.java => DTOId.java}       |   25 +-
 .../src/org/knopflerfish/framework/ExportPkg.java  |    5 +-
 .../knopflerfish/framework/ExtensionContext.java   |  161 ---
 .../src/org/knopflerfish/framework/FWProps.java    |  110 +-
 .../org/knopflerfish/framework/FileArchive.java    |   14 +-
 .../src/org/knopflerfish/framework/Fragment.java   |   28 +-
 .../knopflerfish/framework/FrameworkContext.java   |   90 +-
 .../framework/FrameworkFactoryImpl.java            |    0
 .../framework/FrameworkWiringImpl.java             |   38 +-
 .../src/org/knopflerfish/framework/ImportPkg.java  |   17 +-
 .../org/knopflerfish/framework/ListenerEntry.java  |    0
 .../src/org/knopflerfish/framework/Listeners.java  |   45 +-
 .../src/org/knopflerfish/framework/Main.java       |   45 +-
 .../knopflerfish/framework/NativeRequirement.java  |  364 ++++++
 .../knopflerfish/framework/PackageAdminImpl.java   |    6 +-
 .../org/knopflerfish/framework/PermissionOps.java  |    9 +
 .../src/org/knopflerfish/framework/Pkg.java        |    9 +-
 .../framework/PropertiesDictionary.java            |   77 +-
 .../org/knopflerfish/framework/RequireBundle.java  |    6 +-
 .../src/org/knopflerfish/framework/Resolver.java   |  423 +++++--
 .../org/knopflerfish/framework/ResolverHooks.java  |    2 +-
 .../framework/SecurePermissionOps.java             |   15 +
 .../framework/ServiceContentHandlerFactory.java    |    4 +-
 .../org/knopflerfish/framework/ServiceHooks.java   |   17 +-
 .../framework/ServiceListenerEntry.java            |    0
 .../framework/ServiceListenerState.java            |    0
 ...{ListenerEntry.java => ServiceObjectsImpl.java} |   63 +-
 .../framework/ServiceReferenceImpl.java            |   43 +-
 .../framework/ServiceRegistrationImpl.java         |  239 ++--
 .../framework/ServiceURLStreamHandlerFactory.java  |    4 +-
 .../src/org/knopflerfish/framework/Services.java   |   55 +-
 .../framework/StartLevelController.java            |  230 ++--
 .../org/knopflerfish/framework/SystemBundle.java   |  316 +++--
 .../src/org/knopflerfish/framework/Util.java       |   37 +-
 .../org/knopflerfish/framework/WeavingHooks.java   |  175 ++-
 .../bundlestorage/dex/BundleStorageImpl.java       |   85 ++
 .../framework/bundlestorage/dex/DexArchive.java    |  149 +++
 .../framework/bundlestorage/file/Archive.java      |  218 ++--
 .../bundlestorage/file/BundleArchiveImpl.java      |   31 +-
 .../bundlestorage/file/BundleStorageImpl.java      |   36 +-
 .../framework/bundlestorage/memory/Archive.java    |   82 +-
 .../ConditionalPermissionInfoStorage.java          |    6 +-
 .../permissions/PermissionInfoStorage.java         |    4 +-
 .../framework/permissions/PermissionsHandle.java   |   20 +-
 .../framework/permissions/PermissionsWrapper.java  |   77 +-
 .../framework/validator/SelfSignedValidator.java   |    2 +-
 osgi/framework/src/org/osgi/dto/DTO.java           |  273 +++++
 .../{framework/launch => dto}/package-info.java    |   21 +-
 .../{framework/hooks/resolver => dto}/packageinfo  |    0
 .../src/org/osgi/framework/AdaptPermission.java    |   25 +-
 .../src/org/osgi/framework/AdminPermission.java    |   31 +-
 .../src/org/osgi/framework/AllServiceListener.java |    8 +-
 osgi/framework/src/org/osgi/framework/Bundle.java  |  211 ++--
 .../src/org/osgi/framework/BundleActivator.java    |   12 +-
 .../src/org/osgi/framework/BundleContext.java      |  274 +++--
 .../src/org/osgi/framework/BundleEvent.java        |   24 +-
 .../src/org/osgi/framework/BundleException.java    |    6 +-
 .../src/org/osgi/framework/BundleListener.java     |    7 +-
 .../src/org/osgi/framework/BundlePermission.java   |   13 +-
 .../src/org/osgi/framework/BundleReference.java    |    8 +-
 .../org/osgi/framework/CapabilityPermission.java   |   28 +-
 .../src/org/osgi/framework/Configurable.java       |    4 +-
 .../src/org/osgi/framework/Constants.java          |  129 +-
 osgi/framework/src/org/osgi/framework/Filter.java  |    7 +-
 .../src/org/osgi/framework/FrameworkEvent.java     |   24 +-
 .../src/org/osgi/framework/FrameworkListener.java  |    7 +-
 .../org/osgi/framework/InvalidSyntaxException.java |    6 +-
 .../src/org/osgi/framework/PackagePermission.java  |   23 +-
 .../osgi/framework/PrototypeServiceFactory.java    |  124 ++
 .../src/org/osgi/framework/ServiceEvent.java       |    4 +-
 .../src/org/osgi/framework/ServiceException.java   |   10 +-
 .../src/org/osgi/framework/ServiceFactory.java     |   51 +-
 .../src/org/osgi/framework/ServiceListener.java    |    7 +-
 .../src/org/osgi/framework/ServiceObjects.java     |  142 +++
 .../src/org/osgi/framework/ServicePermission.java  |   33 +-
 .../src/org/osgi/framework/ServiceReference.java   |    9 +-
 .../org/osgi/framework/ServiceRegistration.java    |   32 +-
 .../src/org/osgi/framework/SignerProperty.java     |    6 +-
 .../osgi/framework/SynchronousBundleListener.java  |    8 +-
 .../osgi/framework/UnfilteredServiceListener.java  |    7 +-
 osgi/framework/src/org/osgi/framework/Version.java |   47 +-
 .../src/org/osgi/framework/VersionRange.java       |   54 +-
 .../src/org/osgi/framework/dto/BundleDTO.java      |   66 ++
 .../src/org/osgi/framework/dto/FrameworkDTO.java   |   60 +
 .../osgi/framework/dto/ServiceReferenceDTO.java    |   69 ++
 .../dto}/package-info.java                         |   27 +-
 .../src/org/osgi/framework/dto/packageinfo         |    1 +
 .../osgi/framework/hooks/bundle/CollisionHook.java |   14 +-
 .../org/osgi/framework/hooks/bundle/EventHook.java |    6 +-
 .../org/osgi/framework/hooks/bundle/FindHook.java  |    6 +-
 .../osgi/framework/hooks/bundle/package-info.java  |    7 +-
 .../org/osgi/framework/hooks/bundle/packageinfo    |    0
 .../framework/hooks/resolver/ResolverHook.java     |   52 +-
 .../hooks/resolver/ResolverHookFactory.java        |    6 +-
 .../framework/hooks/resolver/package-info.java     |    7 +-
 .../org/osgi/framework/hooks/resolver/packageinfo  |    0
 .../osgi/framework/hooks/service/EventHook.java    |    7 +-
 .../framework/hooks/service/EventListenerHook.java |    7 +-
 .../org/osgi/framework/hooks/service/FindHook.java |    7 +-
 .../osgi/framework/hooks/service/ListenerHook.java |   10 +-
 .../osgi/framework/hooks/service/package-info.java |    7 +-
 .../org/osgi/framework/hooks/service/packageinfo   |    0
 .../framework/hooks/weaving/WeavingException.java  |    4 +-
 .../osgi/framework/hooks/weaving/WeavingHook.java  |    8 +-
 .../osgi/framework/hooks/weaving/WovenClass.java   |  133 ++-
 .../hooks/weaving/WovenClassListener.java          |   71 ++
 .../osgi/framework/hooks/weaving/package-info.java |   11 +-
 .../org/osgi/framework/hooks/weaving/packageinfo   |    2 +-
 .../src/org/osgi/framework/launch/Framework.java   |   56 +-
 .../osgi/framework/launch/FrameworkFactory.java    |    7 +-
 .../org/osgi/framework/launch/package-info.java    |   11 +-
 .../src/org/osgi/framework/launch/packageinfo      |    2 +-
 .../namespace/AbstractWiringNamespace.java         |    6 +-
 .../osgi/framework/namespace/BundleNamespace.java  |    4 +-
 .../namespace/ExecutionEnvironmentNamespace.java   |    4 +-
 .../osgi/framework/namespace/HostNamespace.java    |    6 +-
 .../framework/namespace/IdentityNamespace.java     |    4 +-
 .../osgi/framework/namespace/NativeNamespace.java  |   81 ++
 .../osgi/framework/namespace/PackageNamespace.java |    4 +-
 .../org/osgi/framework/namespace/package-info.java |    9 +-
 .../src/org/osgi/framework/namespace/packageinfo   |    2 +-
 .../src/org/osgi/framework/package-info.java       |   11 +-
 osgi/framework/src/org/osgi/framework/packageinfo  |    2 +-
 .../framework/startlevel/BundleStartLevel.java     |    7 +-
 .../framework/startlevel/FrameworkStartLevel.java  |   15 +-
 .../startlevel/dto/BundleStartLevelDTO.java        |   61 +
 .../startlevel/dto/FrameworkStartLevelDTO.java     |   47 +
 .../resolver => startlevel/dto}/package-info.java  |   21 +-
 .../{hooks/resolver => startlevel/dto}/packageinfo |    0
 .../osgi/framework/startlevel/package-info.java    |    7 +-
 .../src/org/osgi/framework/startlevel/packageinfo  |    0
 .../osgi/framework/wiring/BundleCapability.java    |    7 +-
 .../osgi/framework/wiring/BundleRequirement.java   |    7 +-
 .../org/osgi/framework/wiring/BundleRevision.java  |    9 +-
 .../org/osgi/framework/wiring/BundleRevisions.java |    7 +-
 .../src/org/osgi/framework/wiring/BundleWire.java  |    7 +-
 .../org/osgi/framework/wiring/BundleWiring.java    |   43 +-
 .../org/osgi/framework/wiring/FrameworkWiring.java |   52 +-
 .../framework/wiring/dto/BundleRevisionDTO.java    |   62 +
 .../osgi/framework/wiring/dto/BundleWireDTO.java   |   48 +
 .../osgi/framework/wiring/dto/BundleWiringDTO.java |   97 ++
 .../wiring/dto}/package-info.java                  |   27 +-
 .../src/org/osgi/framework/wiring/dto/packageinfo  |    1 +
 .../org/osgi/framework/wiring/package-info.java    |   11 +-
 .../src/org/osgi/framework/wiring/packageinfo      |    2 +-
 .../src/org/osgi/resource/Capability.java          |    6 +-
 .../framework/src/org/osgi/resource/Namespace.java |    7 +-
 .../src/org/osgi/resource/Requirement.java         |    6 +-
 osgi/framework/src/org/osgi/resource/Resource.java |    6 +-
 osgi/framework/src/org/osgi/resource/Wire.java     |    7 +-
 osgi/framework/src/org/osgi/resource/Wiring.java   |   18 +-
 .../src/org/osgi/resource/dto/CapabilityDTO.java   |   70 ++
 .../dto/CapabilityRefDTO.java}                     |   36 +-
 .../src/org/osgi/resource/dto/RequirementDTO.java  |   70 ++
 .../dto/RequirementRefDTO.java}                    |   36 +-
 .../src/org/osgi/resource/dto/ResourceDTO.java     |   51 +
 .../src/org/osgi/resource/dto/WireDTO.java         |   58 +
 .../src/org/osgi/resource/dto/WiringDTO.java       |   73 ++
 .../tracker => resource/dto}/package-info.java     |   21 +-
 .../hooks/resolver => resource/dto}/packageinfo    |    0
 .../src/org/osgi/resource/package-info.java        |    7 +-
 .../condpermadmin/BundleLocationCondition.java     |    4 +-
 .../condpermadmin/BundleSignerCondition.java       |    4 +-
 .../org/osgi/service/condpermadmin/Condition.java  |    9 +-
 .../osgi/service/condpermadmin/ConditionInfo.java  |   16 +-
 .../condpermadmin/ConditionalPermissionAdmin.java  |    7 +-
 .../condpermadmin/ConditionalPermissionInfo.java   |   16 +-
 .../condpermadmin/ConditionalPermissionUpdate.java |   12 +-
 .../osgi/service/condpermadmin/package-info.java   |    7 +-
 .../osgi/service/packageadmin/ExportedPackage.java |    4 +-
 .../osgi/service/packageadmin/PackageAdmin.java    |   40 +-
 .../osgi/service/packageadmin/RequiredBundle.java  |    4 +-
 .../osgi/service/packageadmin/package-info.java    |    5 +-
 .../service/permissionadmin/PermissionAdmin.java   |    8 +-
 .../service/permissionadmin/PermissionInfo.java    |   13 +-
 .../osgi/service/permissionadmin/package-info.java |    7 +-
 .../org/osgi/service/startlevel/StartLevel.java    |   23 +-
 .../org/osgi/service/startlevel/package-info.java  |    5 +-
 .../url/AbstractURLStreamHandlerService.java       |   23 +-
 .../src/org/osgi/service/url/URLConstants.java     |    8 +-
 .../osgi/service/url/URLStreamHandlerService.java  |   19 +-
 .../osgi/service/url/URLStreamHandlerSetter.java   |    8 +-
 .../src/org/osgi/service/url/package-info.java     |    7 +-
 .../src/org/osgi/util/tracker/AbstractTracked.java |    4 +-
 .../src/org/osgi/util/tracker/BundleTracker.java   |    8 +-
 .../osgi/util/tracker/BundleTrackerCustomizer.java |    6 +-
 .../src/org/osgi/util/tracker/ServiceTracker.java  |   19 +-
 .../util/tracker/ServiceTrackerCustomizer.java     |    6 +-
 .../src/org/osgi/util/tracker/package-info.java    |    7 +-
 osgi/headless.xargs                                |   99 --
 osgi/init-tests.xargs                              |  127 --
 osgi/init-tests.xargs.in                           |   15 +-
 osgi/init.xargs                                    |   99 --
 osgi/kf2                                           |    0
 osgi/minimal.xargs                                 |   22 -
 osgi/remote-init.xargs                             |   99 --
 osgi/template.xargs.in                             |    6 +-
 osgi/test-restart1.xargs                           |   34 -
 osgi/test-restart2.xargs                           |   19 -
 release_notes.html                                 |  380 ------
 release_notes.in.md                                |   43 +
 strings.properties                                 |   66 --
 628 files changed, 10475 insertions(+), 44274 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..bfcd4ec
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,44 @@
+*~
+/.classpath
+/.project
+/.settings
+/ant/classes/
+/ant/lib/
+/eclipse_bin/
+/osgi/bundles/remotefw/doc/client.xargs
+/osgi/bundles/remotefw/doc/server.xargs
+/osgi/bundles_examples/cpa/init.xargs
+/osgi/bundles_opt/classpatcher/resources/asm-3.2.jar
+/osgi/bundles_test/regression_tests/component_test/resources/
+/osgi/bundles_test/regression_tests/condpermadmin_test/resources/
+/osgi/bundles_test/regression_tests/endurance_test/resources/
+/osgi/bundles_test/regression_tests/extension_test/resources/
+/osgi/bundles_test/regression_tests/framework_test/resources/*.jar
+/osgi/bundles_test/regression_tests/out/
+/osgi/bundles_test/regression_tests/restart_test/resources/
+/osgi/bundles_test/regression_tests/servicetracker_test/resources/
+/osgi/bundles_test/regression_tests/startlevel_test/resources/
+/osgi/dex_jars/
+/osgi/framework.jar
+/osgi/framework-javadoc.jar
+/osgi/framework-source.jar
+/osgi/framework/resources/exports
+/osgi/framework/resources/release
+/osgi/framework/resources/tstamp
+/osgi/framework/resources/version
+/osgi/fwdir/
+/osgi/headless.xargs
+/osgi/init-tests.xargs
+/osgi/init.xargs
+/osgi/jars/
+/osgi/junit_grunt/
+/osgi/minimal.xargs
+/osgi/out/
+/osgi/prefsdir/
+/osgi/remote-init.xargs
+/osgi/test-restart1.xargs
+/osgi/test-restart2.xargs
+/osgi/test_jars/
+/out/
+/bin/
+/tools/jarunpacker/out/
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..4ffaf78
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,52 @@
+dist: precise
+sudo: required
+language: android
+addons:
+  hostname: builder
+android:
+  components:
+  - build-tools-23.0.1
+git:
+  depth: 50
+jdk:
+- openjdk6
+- oraclejdk8
+env:
+  matrix:
+  - DEPLOY=true  VER_SUF=      EXTRA=
+  - DEPLOY=false VER_SUF=_dex  EXTRA=-DANDROID_HOME=$ANDROID_HOME
+before_install:
+- wget https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.8-bin.tar.gz
+- tar xzf apache-ant-1.9.8-bin.tar.gz
+- wget http://services.gradle.org/distributions/gradle-2.10-bin.zip
+- unzip gradle-2.10-bin.zip
+- export GRADLE_HOME=$PWD/gradle-2.10
+notifications:
+  email:
+    recipients:
+    - devel at makewave.com
+    on_success: always
+install: true
+script: apache-ant-1.9.8/bin/ant -Dbuild.kind=Travis_CI_$TRAVIS_JDK_VERSION -Dtravis.tag=$TRAVIS_TAG -Dtravis.suffix=$VER_SUF -Dgit.pristine=true $EXTRA distrib && ! (grep '<case ' out/distrib_*/junit_grunt/index.xml | grep -v passed)
+before_deploy:
+- openssl aes-256-cbc -K $encrypted_a3ffaab67d90_key -iv $encrypted_a3ffaab67d90_iv -in tools/travis/id_rsa.travis.enc -out tools/travis/id_rsa.travis -d
+- chmod 600 tools/travis/id_rsa.travis
+deploy:
+- provider: releases
+  api_key:
+    secure: rAYBAuFuv12I3BsJHS2Mw5dT1J+zpFx5XpXyVK6+IF1rkt4xL0PfrAjnhEMaBv1rvvliIyXpJQG+v9trrPjnZ5nZi+uqiWn1YAq//1m0ungvGNrrqt+jVRmiR8ma4HfKwoaevnDvT3uRzjw598FxbXhH+2bnUbKAnRkrm4VNTv+wkJDrVvvRBRbEmPX+A8trteSuTbJiDC3vCktWkE1eU6e5unHZMEN5G36BTvolWjoTevYaXjEAEue31jSsmqhGYjDhrU0D+Xl8V2+U75OuEm5FoYXHPIK2aytXwPySZkgBPAAbVY5NBRFi5fjDHXRY71gGusmWk/IDAy0ZzRV8EdaxGnhuBVnbb28T+yIz2L2gtl1qb7E0S8Xli/gjfLLD6lf/slOxRJ5/sjKEEd5Oe2xf7Q4K/rKCkNPnPSf1uvfkRGPSfyw7err0ifYvtIOqD/CvC7cQ32FUZd2zMq4mVtcFr8rovnBk [...]
+  file:
+  - out/distrib_$TRAVIS_TAG$VER_SUF/knopflerfish_osgi_sdk_$TRAVIS_TAG$VER_SUF.jar
+  - out/distrib_$TRAVIS_TAG$VER_SUF/knopflerfish_osgi_tiny_$TRAVIS_TAG$VER_SUF.zip
+  skip_cleanup: true
+  on:
+    tags: true
+    jdk: openjdk6
+    condition: $DEPLOY = true
+- provider: script
+  script: tools/travis/kf_upload.sh $TRAVIS_TAG$VER_SUF
+  skip_cleanup: true
+  on:
+    tags: true
+    jdk: openjdk6
+    condition: $DEPLOY = true
diff --git a/BUILD.txt b/BUILD.txt
new file mode 100644
index 0000000..40e7b68
--- /dev/null
+++ b/BUILD.txt
@@ -0,0 +1,26 @@
+To build Knopflerfish from scratch you need:
+
+ Java SE 6.
+    To build bundles compatible with JDK 1.6 and later. Bundles built
+    this way will run on jdk 1.7 but it will not work to put classes
+    using generics from these builds on the classpath when compiling
+    other Java code using the 1.7 javac.
+
+
+ Java SE 7 (or later)
+    To build bundles for Java SE 6 and later. Bundles built with 
+    javac from Java 7 requires a Java 6 JRE to run.
+
+
+ Ant 1.9.3 (or later)
+
+
+ [OPTIONAL] Proguard 5.2 (or later)
+    Proguard is only used when building the compact version of
+    framework.
+    
+Type "ant all" in this directory to build all bundles and test bundles.
+
+
+See htdocs/html_src/building.html for more details, or visit 
+http://www.knopflerfish.org/releases/current/docs/building.html
diff --git a/Knopflerfish.epf b/Knopflerfish.epf
new file mode 100644
index 0000000..83ef5c2
--- /dev/null
+++ b/Knopflerfish.epf
@@ -0,0 +1,75 @@
+#Thu Aug 22 09:49:28 CEST 2013
+/instance/org.eclipse.jdt.ui/cleanup.make_parameters_final=false
+/instance/org.eclipse.jdt.ui/cleanup.always_use_parentheses_in_expressions=false
+/instance/org.eclipse.jdt.ui/cleanup.add_serial_version_id=true
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.ondemandthreshold=99
+/instance/org.eclipse.jdt.ui/cleanup.always_use_blocks=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_trailing_whitespaces=true
+/instance/org.eclipse.jdt.ui/cleanup.make_private_fields_final=true
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_override_annotations_interface_methods=true
+ at org.eclipse.jdt.ui=3.8.2.v20130107-165834
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_nls_tags=false
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.ignorelowercasenames=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_private_constructors=true
+/instance/org.eclipse.jdt.ui/cleanup.add_default_serial_version_id=true
+/instance/org.eclipse.jdt.ui/cleanup.use_blocks=false
+/instance/org.eclipse.jdt.ui/cleanup.convert_to_enhanced_for_loop=true
+file_export_version=3.0
+/instance/org.eclipse.jdt.ui/formatter_settings_version=12
+/instance/org.eclipse.jdt.ui/cleanup.qualify_static_field_accesses_with_declaring_class=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.cleanupprofiles=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<profiles version\="2">\n<profile kind\="CleanUpProfile" name\="KnopflerfishCleanupProfile" version\="2">\n<setting id\="cleanup.remove_unused_private_fields" value\="true"/>\n<setting id\="cleanup.always_use_parentheses_in_expressions" value\="false"/>\n<setting id\="cleanup.never_use_blocks" value\="false"/>\n<setting id\="cleanup.remove_unused_private_methods" val [...]
+/instance/org.eclipse.jdt.ui/cleanup_profile=_KnopflerfishCleanupProfile
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.deprecation=ignore
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.importorder=java;javax;org;com;org.osgi;org.knopflerfish;
+/instance/org.eclipse.jdt.ui/cleanup.qualify_static_member_accesses_with_declaring_class=true
+/instance/org.eclipse.jdt.ui/cleanup.use_parentheses_in_expressions=false
+\!/=
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.compliance=1.5
+/instance/org.eclipse.jdt.ui/cleanup.sort_members=false
+/instance/org.eclipse.jdt.ui/cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.staticondemandthreshold=99
+/instance/org.eclipse.jdt.ui/cleanup.never_use_parentheses_in_expressions=true
+/instance/org.eclipse.jdt.ui/cleanup.make_variable_declarations_final=true
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.formatterprofiles=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\n<profiles version\="12">\n<profile kind\="CodeFormatterProfile" name\="Knopflerfish" version\="12">\n<setting id\="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value\="insert"/>\n<setting id\="org.eclipse.jdt.core.formatter.disabling_tag" value\="@formatter\:off"/>\n<setting id\="org.eclipse.jdt.core.formatter.insert_space_after_comma_in [...]
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_override_annotations=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_unnecessary_nls_tags=true
+/instance/org.eclipse.jdt.ui/formatter_profile=_Knopflerfish
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+/instance/org.eclipse.jdt.ui/cleanup.organize_imports=true
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.formatterprofiles.version=12
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+ at org.eclipse.jdt.core=3.8.3.v20130121-145325
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_private_types=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_imports=true
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_methods=false
+/instance/org.eclipse.jdt.ui/cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+/instance/org.eclipse.jdt.ui/cleanup.always_use_this_for_non_static_field_access=false
+/instance/org.eclipse.jdt.ui/cleanup.always_use_this_for_non_static_method_access=false
+/instance/org.eclipse.jdt.ui/cleanup.use_this_for_non_static_field_access=false
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_annotations=true
+/instance/org.eclipse.jdt.ui/cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_trailing_whitespaces_all=true
+/instance/org.eclipse.jdt.ui/cleanup.never_use_blocks=false
+/instance/org.eclipse.jdt.ui/cleanup.format_source_code_changes_only=false
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_private_methods=true
+/instance/org.eclipse.jdt.ui/cleanup.add_generated_serial_version_id=false
+/instance/org.eclipse.jdt.ui/cleanup.remove_trailing_whitespaces_ignore_empty=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.source=1.5
+/instance/org.eclipse.jdt.ui/cleanup.use_this_for_non_static_method_access=false
+/instance/org.eclipse.jdt.ui/cleanup.sort_members_all=false
+/instance/org.eclipse.jdt.ui/cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_private_fields=true
+/instance/org.eclipse.jdt.ui/cleanup.qualify_static_method_accesses_with_declaring_class=false
+/instance/org.eclipse.jdt.ui/cleanup_settings_version=2
+/instance/org.eclipse.jdt.ui/cleanup.make_type_abstract_if_missing_method=false
+/instance/org.eclipse.jdt.core/org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_local_variables=false
+/instance/org.eclipse.jdt.ui/cleanup.make_local_variable_final=true
+/instance/org.eclipse.jdt.ui/cleanup.format_source_code=false
+/instance/org.eclipse.jdt.ui/cleanup.correct_indentation=false
+/instance/org.eclipse.jdt.ui/cleanup.remove_unnecessary_casts=true
+/instance/org.eclipse.jdt.ui/cleanup.remove_unused_private_members=false
+/instance/org.eclipse.jdt.ui/cleanup.add_missing_deprecated_annotations=false
+/instance/org.eclipse.jdt.ui/cleanup.use_blocks_only_for_return_and_throw=false
+/instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
diff --git a/KnopflerfishEclipseDictionary.txt b/KnopflerfishEclipseDictionary.txt
new file mode 100644
index 0000000..849fd24
--- /dev/null
+++ b/KnopflerfishEclipseDictionary.txt
@@ -0,0 +1,63 @@
+makewave
+fallback
+philippe
+laporte
+andersson
+gunnar
+ekolin
+unsubscribe
+correlator
+joek
+uninstalled
+uninstall
+uninstallation
+weilenmann
+kaspar
+refactor
+serializable
+jonas
+gatespace
+eric
+jonsson
+downloaded
+hibernate
+erik
+wistrand
+zombie
+startlevel
+stringbuffer
+argv
+xarg
+xargs
+stein
+jan
+persson
+ola
+knopflerfish
+rimen
+klack
+magnus
+martin
+berg
+gustafson
+proxy
+postponement
+servlet
+gzip
+flipping
+metatype
+displayers
+telnet
+deployer
+multi
+verbosity
+plugin
+downloadable
+ubicore
+namespace
+prodata
+validators
+vaadin
+validator
+unsubscribed
+solidus
diff --git a/LICENSE.txt b/LICENSE.txt
index 41f90bb..462cfb1 100644
--- a/LICENSE.txt
+++ b/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2003-2014, KNOPFLERFISH project
+Copyright (c) 2003- at YEAR@, KNOPFLERFISH project
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
deleted file mode 100644
index 89ab27e..0000000
--- a/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Ant-Version: Apache Ant 1.9.4
-Created-By: 1.6.0_65-b14-462-11M4609 (Apple Inc.)
-Main-class: org.knopflerfish.tools.jarunpacker.Main
-jarunpacker-destdir: knopflerfish_osgi_5.1.0
-jarunpacker-opendir: ${destdir}/osgi
-jarunpacker-licensepath: /LICENSE.txt
-knopflerfish-version: 5.1.0
-
diff --git a/NOTICE.txt b/NOTICE.txt
index 57542d6..405c490 100644
--- a/NOTICE.txt
+++ b/NOTICE.txt
@@ -3,7 +3,7 @@
 ======================================================================
 
 Knopflerfish OSGi
-Copyright 2003-2014 The Knopflerfish Project
+Copyright 2003- at YEAR@ The Knopflerfish Project
 http://www.knopflerfish.org
 
 This product includes software developed by the Knopflerfish Project
@@ -23,7 +23,7 @@ This product includes the OSGi Service Platform API code from the OSGi
 Alliance provided under an Apache 2 license.
 http://www.osgi.org
 
-Copyright (c) OSGi Alliance (2000, 2009). All Rights Reserved.
+Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
 
 
 ----------------------------------------------------------------------
diff --git a/README.txt b/README.txt
index 4fa4476..f1093ad 100644
--- a/README.txt
+++ b/README.txt
@@ -1,14 +1,13 @@
 ======================================================================
-	Knopflerfish Release  5.1.0
+	Knopflerfish Release  @VERSION@
 ======================================================================
 
 Contents:
 ----------------------------------------
- README.txt       - this file.
- release_notes.*  - the release notes for the current release.
- changelog.html   - the subversion change log for this release.
- NOTICE.txt       - notice file on included third party software.
- LICENSE.txt      - the Knopflerfish license.
+ README.txt         - this file.
+ release_notes.html - the release notes for the current release.
+ NOTICE.txt         - notice file on included third party software.
+ LICENSE.txt        - the Knopflerfish license.
 
  ant              - Ant related code and build include files.
  docs             - online documentation (html),
@@ -25,7 +24,7 @@ Basic: How to start
 ----------------------------------------
  Prerequisites
 
-   - JRE 1.4 or later, available from Oracle.
+   - JRE 6 or later, available from Oracle.
 
 1. Step into the osgi dir
 2. Start the OSGi framework by:
@@ -39,16 +38,17 @@ Building:
 ----------------------------------------
  Prerequisites
 
-   - JDK 1.6 (or 1.5), available from Oracle.
+   - JDK 6 , available from Oracle.
      See http://java.com/en/download/faq/java_6.xml for details.
-     Note that JDK 1.7 or later can NOT be used to build Knopflerfish,
+     Note that JDK 7 or later can NOT be used to build Knopflerfish,
      but Knopflerfish will run on them.
-   - Ant 1.8.1 or later, available from ant.apache.org.
+   - Ant 1.9.1 or later, available from ant.apache.org.
    - openssl, to create and manipulate certificates when using
      security and the Conditional Permission Admin (CPA) service. Test
      suites for CPA can not be built and executed without openssl.
-   - ProGuard 4, tested with 4.10. This is only need if you want
-     to build the compact version of the framework.
+   - ProGuard 4.10 or later, tested with 5.2. This is only need if you want
+     to build the compact version of the framework. You need ProGuard 5
+     or later if you want to build with Java 8.
 
 1. Step into the osgi dir
 2. Start the build by:
diff --git a/README_Eclipse.txt b/README_Eclipse.txt
new file mode 100644
index 0000000..256bab5
--- /dev/null
+++ b/README_Eclipse.txt
@@ -0,0 +1,16 @@
+To get Eclipse 4.3 or later to use -target jsr14 when compiling you
+need to:
+
+1) Select a JavaSE 6 runtime for you workspace (the jsr14 option was
+   removed in the Java 7 compiler).
+
+2) Edit the workspace configuration file named:
+
+   worksapce/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs
+
+   Change the targetPlatform, compliance and source lines to:
+
+   org.eclipse.jdt.core.compiler.codegen.targetPlatform=jsr14
+   org.eclipse.jdt.core.compiler.compliance=1.6
+   org.eclipse.jdt.core.compiler.source=1.6
+
diff --git a/ant/android.xml b/ant/android.xml
index ed5e17a..1a31d40 100644
--- a/ant/android.xml
+++ b/ant/android.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-   ** Copyright (c) 2011-2013, KNOPFLERFISH project
+   ** Copyright (c) 2011-2015, KNOPFLERFISH project
    ** All rights reserved.
    **
    ** Redistribution and use in source and binary forms, with or without
@@ -36,66 +36,76 @@
 <!--  Android instrumentation support,                            -->
 <!--  adds a .dex-file to a bundle jar-file                       -->
 <!-- ============================================================ -->
-<project name="android_instrumentation" basedir=".">
+<project name="android_instrumentation" xmlns:if="ant:if" xmlns:unless="ant:unless">
 
   <!-- Are we building for Dalvik/Android? -->
   <available property="android.exists" file="${ANDROID_HOME}"/>
 
-  <!-- look for dx.jar and aapt in Android sdk -->
-  <first id="first.dx">
-    <fileset dir="${ANDROID_HOME}"
-             includes="**/dx.jar"
-             erroronmissingdir="false"/>
-  </first>
-  <first id="first.aapt">
-    <fileset dir="${ANDROID_HOME}"
-             includes="**/aapt*"
-             erroronmissingdir="false"/>
-  </first>
-  <property name="android.tool.dx" value="${toString:first.dx}" />
-  <property name="android.tool.aapt" value="${toString:first.aapt}" />
-
+  <macrodef name="android.init.path">
+    <!-- look for dx.jar in Android sdk -->
+    <sequential>
+      <first id="first.dx">
+        <fileset dir="${ANDROID_HOME}"
+                 includes="**/dx.jar"
+                 erroronmissingdir="false"/>
+      </first>
+      <property name="android.tool.dx" value="${toString:first.dx}" />
+      <property name="android.path.checked" value="true"/>
+    </sequential>
+  </macrodef>
 
-  <macrodef name="add_dex"
-            description="Generates xargs-file from templare.">
-    <attribute name="jarfile"
-               description="The jar file to create and add a .dex-file to."/>
-    <attribute name="outdir"
-               description="Directory to write temporary file to"/>
+  <dirname property="ant.dir" file="${ant.file.android_instrumentation}"/>
+  <property name="bundledexify" location="${ant.dir}/../tools/android/bundledexify" />
 
-    <sequential>
-      <basename file="@{jarfile}" suffix="jar" property="jarfile.basename"/>
-      <tempfile destdir="@{outdir}" prefix="${jarfile.basename}"
-                property="temp.dir"/>
-      <mkdir dir="${temp.dir}"/>
-      <property name="temp.dex" location="${temp.dir}/classes.dex"/>
 
-      <exec executable="${android.tool.aapt}" dir="${temp.dir}">
-        <arg value="remove"/>     
-        <arg value="-f"/>
-        <arg value="@{jarfile}"/>
-        <arg value="classes.dex"/>
-      </exec>
+  <macrodef name="dexify_bundle"
+    description="Creates Android/Dalvik dexified bundle.">
+    <attribute name="targetApiLevel" default="12"
+      description="Android target API level to use when dexifing"/>
+    <attribute name="bundle"
+      description="Path to bundle to convert"/>
 
-      <java fork="true" jar="${android.tool.dx}">
-        <arg value="--dex"/>
-        <arg value="--output=${temp.dex}"/>
-        <arg value="@{jarfile}"/>
+    <sequential>
+      <android.init.path unless:true="android.path.checked"/>
+      <echo message="Dexify: @{bundle}"/>
+      <java fork="true" classname="org.knopflerfish.tools.bundledexify.Main">
+        <classpath>
+          <pathelement location="${bundledexify}/bundledexify.jar"/>
+          <pathelement location="${android.tool.dx}"/>
+        </classpath>
+        <arg value="-apilevel"/>
+        <arg value="@{targetApiLevel}"/>
+        <arg line="@{bundle}"/>
       </java>
+    </sequential>
+  </macrodef>
 
-      <exec executable="${android.tool.aapt}" dir="${temp.dir}">
-        <arg value="add"/>     
-        <arg value="-f"/>
-        <arg value="@{jarfile}"/>
-        <arg value="classes.dex"/>
-      </exec>
+  <macrodef name="dexify_bundles"
+    description="Creates Android/Dalvik dexified bundles for all listed files into a directory.">
+    <attribute name="targetApiLevel" default="12"
+      description="Android target API level to use when dexifing"/>
+    <attribute name="dir"
+      description="The output directory"/>
+    <attribute name="bundles.ref"
+      description="Ref to pathset of bundles to convert"/>
 
-      <delete dir="${temp.dir}"/>
+    <sequential>
+      <android.init.path unless:true="android.path.checked"/>
+      <local name="bundles"/>
+      <pathconvert property="bundles" refid="@{bundles.ref}" pathsep=" " />
+      <echo message="Dexify: ${bundles}"/>
+      <java fork="true" classname="org.knopflerfish.tools.bundledexify.Main">
+        <classpath>
+          <pathelement location="${bundledexify}/bundledexify.jar"/>
+          <pathelement location="${android.tool.dx}"/>
+        </classpath>
+        <arg value="-apilevel"/>
+        <arg value="@{targetApiLevel}"/>
+        <arg value="-outdir"/>
+        <arg value="@{dir}"/>
+        <arg line="${bundles}"/>
+      </java>
     </sequential>
   </macrodef>
 
-  <!-- Helper taget that adds Android dex data to the bundle. -->
-  <target name="add_dex" if="android.exists">
-  </target>
-
 </project>
diff --git a/ant/build.xml b/ant/build.xml
index a49ebb6..4f823af 100644
--- a/ant/build.xml
+++ b/ant/build.xml
@@ -8,7 +8,8 @@
   <target name="all" description="Creates lib/bundle_tasks.jar">
     <delete quiet="true" dir="classes"/>
     <delete quiet="true" dir="lib" includes="bundle_tasks.jar"/>
-    <ant antfile="bundletasks.xml" target="build_bundle_tasks"/>
+    <!-- <ant antfile="bundletasks.xml" target="build_bundle_tasks"/> -->
+    <ant antfile="bundletasks.xml" target="build_ant_tasks"/>
   </target>
 
   <target name="javadoc"
@@ -29,6 +30,11 @@
     <delete dir="lib" includes="org.osgi.impl.bundle.repoindex.cli-*.jar"/>
     <delete dir="lib" includes="proguard-*.jar"/>
 
+    <delete dir="lib" includes="kf_ant_util_tasks.jar"/>
+    <delete dir="lib" includes="asm-all*.jar"/>
+    <delete dir="lib" includes="pegdown*.jar"/>
+    <delete dir="lib" includes="parboiled*.jar"/>
+
     <!-- Obsolete, not used in KF-5 and later. -->
     <delete dir="lib" includes="bindex.jar"/>
   </target>
diff --git a/ant/bundlebuild.xml b/ant/bundlebuild.xml
index ad34034..363a974 100644
--- a/ant/bundlebuild.xml
+++ b/ant/bundlebuild.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-   ** Copyright (c) 2003-2013, KNOPFLERFISH project
+   ** Copyright (c) 2003-2016, KNOPFLERFISH project
    ** All rights reserved.
    **
    ** Redistribution and use in source and binary forms, with or without
@@ -52,93 +52,14 @@
   <import file="${ant.dir}/android.xml"/>
 
 
-
   <!-- ************************************************************ -->
   <!-- Properties configuring javac settings.                       -->
   <!-- ************************************************************ -->
 
   <!-- The default encoding is UTF8, other values that may be       -->
-  <!-- usefull: ISO8859_1, UTF-16, ${file.encoding}                 -->
+  <!-- useful: ISO8859_1, UTF-16, ${file.encoding}                 -->
   <property name="javac.encoding"     value="UTF8"/>
 
-  <available property="jdk1.7+" classname="java.lang.ClassValue"/> 
-  <condition property="javac.source" value="1.5" else="1.5">
-    <isset property="jdk1.7+"/>
-  </condition>
-  <condition property="javac.target" value="1.5" else="jsr14">
-    <isset property="jdk1.7+"/>
-  </condition>
-  <!-- Since we currently can not do a strict compilation using    -->
-  <!-- OSGi/Minimum EE when on jdk 1.7, we replace any requirement -->
-  <!-- on OSGu/Minum EE with one on the JavaSE 5.                  -->
-  <condition property="ee.min.replacement"
-             value="(&(osgi.ee=JavaSE)(version>=1.5))"
-             else="">
-    <isset property="jdk1.7+"/>
-  </condition>
-
-  <!-- The bundle Execution Environment to use when compiling.       -->
-  <!-- The value is the id of a path that will be used as boot class -->
-  <!-- path during the compilation.                                  -->
-  <!-- Predefined values: ee.minimum ee.foundation                   -->
-  <!-- Used but currently undefined EE:s: ee.JavaSE_1.4, ee.JavaSE_1.5   -->
-  <property name="bundle.compile.EE" value="ee.minimum"/>
-
-
-  <!-- Define the EEs that we have (stub-)jars for.                  -->
-  <!-- The OSGi Minimum EE.                                          -->
-  <path id="ee.minimum">
-    <pathelement location="${osgi.dir}/ee/ee.minimum.jar"/>
-    <!-- Outside EE, but usefull when compling -->
-    <pathelement location="${osgi.dir}/ee/src_annotations.jar"/>
-  </path>
-
-  <!-- The OSGi Foundation EE.                                       -->
-  <path id="ee.foundation">
-    <pathelement location="${osgi.dir}/ee/ee.foundation.jar"/>
-    <pathelement location="${osgi.dir}/ee/src_annotations.jar"/>
-  </path>
-
-
-  <!-- If the EE selected by bundle.compile.EE does not exist, i.e., -->
-  <!-- is not a valid reference to a path then tell javac to use the -->
-  <!-- EE from the runtime it is executing on by setting             -->
-  <!-- includeJavaRuntime to true.                                   -->
-  <!-- For Java 7, the predefined EEs (minimum/foundation) are       -->
-  <!-- missing some interfaces (e.g., Iterable) that Java 6 with     -->
-  <!-- target jsr14 does not need, thus we let the runtime leak      -->
-  <!-- through for Java 7 and set the required EE to JavaSE 5.       -->
-  <condition property="javac.includeJavaRuntime" value="true" else="false">
-    <or>
-      <isset property="jdk1.7+"/>
-      <not>
-        <isreference refid="${bundle.compile.EE}" type="path"/>
-      </not>
-    </or>
-  </condition>
-
-  <!-- Empty path to get a valid path refid when having no class     -->
-  <!-- path the selected EE.                                         -->
-  <path id="ee.empty">
-  </path>
-
-  <!-- If the EE selected by bundle.compile.EE does not exist, i.e., -->
-  <!-- is not a valid reference to a path then use a dummy (empty)   -->
-  <!-- path as the value for bundle.bootclasspath.ref                -->
-  <!-- For Java 7, allways use the dummy EE.                         -->
-  <condition property="bundle.bootclasspath.ref"
-             value="ee.empty"
-             else="${bundle.compile.EE}">
-    <or>
-      <isset property="jdk1.7+"/>
-      <not>
-        <isreference refid="${bundle.compile.EE}" type="path"/>
-      </not>
-    </or>
-  </condition>
-
-
-
   <!-- ************************************************************ -->
   <!-- Properties configuring bundle contents and manifest.         -->
   <!-- ************************************************************ -->
@@ -256,6 +177,13 @@
   <!-- Subdirectory of jars.dir where this projects bundles shall live. -->
   <property name="jardir"   location="${jars.dir}/${jardir.name}"/>
 
+  <!-- The root of the local bundle repository, in which built bundles -->
+  <!-- are placed.                                                     -->
+  <property name="dexs.dir" location="${topdir}/dex_jars"/>
+
+  <!-- Subdirectory of dexs.dir where this projects dex bundles shall live. -->
+  <property name="dexdir"   location="${dexs.dir}/${jardir.name}"/>
+
   <!-- The root if the local bundle docs directory. -->
   <property name="docs.dir" location="${root.out.dir}/doc"/>
 
@@ -345,12 +273,25 @@
   <!-- and the exported and imported packages on the console.      -->
   <property name="bundlemanifest.verbose" value="true"/>
 
+  <!-- Extra suffix to bundle version -->
+  <property name="bundle.version.suffix" value=""/>
 
-  <!-- Path that finds the framework API packages.                 -->
+  <patternset id="jars.pattern">
+    <include name="${ant.project.name}.jar" />
+    <include name="${ant.project.name}-*.jar" />
+    <include name="${ant.project.name}_all-*.jar" />
+    <include name="${ant.project.name}_api-*.jar" />
+    <include name="${ant.project.name}_lib-*.jar" />
+  </patternset>
+
+  <!-- Path that finds the framework API and annotation packages.  -->
   <path id="framework.path">
     <pathelement location="${jars.dir}/../framework.jar"/>
     <pathelement location="${osgi.jars.dir}/../framework.jar"/>
     <pathelement location="${osgi.dir}/framework.jar"/>
+    <pathelement location="${jars.dir}/../annotations/osgi.annotation-6.0.1.jar"/>
+    <pathelement location="${osgi.jars.dir}/../annotations/osgi.annotation-6.0.1.jar"/>
+    <pathelement location="${osgi.dir}/annotations/osgi.annotation-6.0.1.jar"/>
   </path>
 
   <!-- Default compile path for a bundle. The referenced path,     -->
@@ -412,8 +353,8 @@
     <fail if="bundle.uuid"    message="bundle.uuid->bmfa.Bundle-UUID"/>
     <fail if="bundle.config"  message="bundle.config->bmfa.Bundle-Config"/>
     <fail if="bundle.icon"    message="bundle.icon->bmfa.Bundle-Icon"/>
-    <fail if="bundle.subversionurl"
-          message="bundle.subversionurl->bmfa.Bundle-SubversionURL"/>
+    <fail if="bundle.giturl"
+          message="bundle.giturl->bmfa.Bundle-GitURL"/>
     <fail if="bundle.apivendor"
           message="bundle.apivendor->bmfa.Bundle-APIVendor"/>
     <fail if="service.component"
@@ -423,6 +364,7 @@
     <!-- on their values in the manifest template file (if present). -->
     <bundlemanifest mode="templateOnly"
                     attributePropertyPrefix="${bundle.mf.attr.prefix}"
+                    versionSuffix="${bundle.version.suffix}"
                     templateFile="${bundlemanifest.template}">
     </bundlemanifest>
 
@@ -522,13 +464,9 @@
       <javac destdir="${classes.out.dir}"
              debug="on"
              includeAntRuntime="false"
-             includeJavaRuntime="${javac.includeJavaRuntime}"
              srcdir="${src.dir}"
-             target="${javac.target}"
-             source="${javac.source}"
              encoding="${javac.encoding}"
              classpathref="bundle.path.Expanded"
-             bootclasspathref="${bundle.bootclasspath.ref}"
              includes="@{includes}"
              excludes="**/package-info.java"
              >
@@ -568,6 +506,13 @@
     <antcall target="jar_lib"             inheritRefs="true"/>
     <antcall target="jar_impl"            inheritRefs="true"/>
     <antcall target="jar_all"             inheritRefs="true"/>
+    <antcall target="cond_dex_jars" inheritRefs="true"/>
+  </target>
+
+  <target name="dex_jars"
+          description="Dexifies all variants of the bundle.">
+    <fail unless="android.exists" message="You must set the ANDROID_HOME property"/>
+    <antcall target="cond_dex_jars" inheritRefs="true"/>
   </target>
 
   <!-- set up build conditions -->
@@ -666,7 +611,7 @@
                default="lib, api, impl, all"
                description="All kinds for the bundlemanifest task."/>
     <attribute name="replaceEEmin"
-               default="${ee.min.replacement}"
+               default="(&(osgi.ee=JavaSE)(version>=1.6))"
                description="If set replace osgi.ee capability requirement for OSGi/Minimum with the given requirement filter."/>
     <attribute name="imports"
                description="Name of property holding Import-Package"/>
@@ -792,10 +737,6 @@
         <param name="pkgSrcAvail" value="${pkgSrcAvail}"/>
       </antcall>
 
-      <antcall target="add_dex" inheritRefs="true">
-        <param name="jarfile" value="@{jar}"/>
-      </antcall>
-
     </sequential>
   </macrodef>
 
@@ -904,7 +845,6 @@
   </target>
 
 
-  
   <!-- ============================= IMPL =============================== -->
   <!-- Bundle with all private classes, activator and resources. -->
   <target name="jar_impl"
@@ -1033,13 +973,14 @@
     </jar>
   </target>
 
-  <!-- Helper taget that adds Android dex data to the bundle. -->
-  <target name="add_dex" if="android.exists">
-    <echo message="add_dex ${jarfile}"/>
-    <add_dex jarfile="${jarfile}" outdir="${outdir}"/>
+  <!-- Helper target that creates a Android dexified bundle. -->
+  <target name="cond_dex_jars" if="android.exists" unless="no.dex">
+    <fileset dir="${jardir}" id="dex.jars.refid" erroronmissingdir="false">
+      <patternset refid="jars.pattern"/>
+    </fileset>
+    <dexify_bundles bundles.ref="dex.jars.refid" dir="${dexdir}"/>
   </target>
 
-
   <!-- Should only add items to ${source.files} and ${exported.files} -->
   <!-- when ${generate.javadoc.data} is set to "true" and there are   -->
   <!-- source files to process. -->
@@ -1087,16 +1028,18 @@
 
   <target name="clean" description="Deletes all generated files.">
     <delete dir="${outdir}" failonerror="false"/>
-    <delete includeEmptyDirs="true" verbose="true" failonerror="false">
-      <fileset dir="${jardir}">
-        <include name="${ant.project.name}.jar" />
-        <include name="${ant.project.name}-*.jar" />
-        <include name="${ant.project.name}_all-*.jar" />
-        <include name="${ant.project.name}_api-*.jar" />
-        <include name="${ant.project.name}_lib-*.jar" />
+    <delete includeEmptyDirs="true" failonerror="false">
+      <fileset dir="${jardir}" erroronmissingdir="false">
+        <patternset refid="jars.pattern"/>
       </fileset>
       <dirset dir="${jardir}" excludes="*,**/*"/>
     </delete>
+    <delete includeEmptyDirs="true" failonerror="false">
+      <fileset dir="${dexdir}" erroronmissingdir="false">
+        <patternset refid="jars.pattern"/>
+      </fileset>
+      <dirset dir="${dexdir}" excludes="*,**/*"/>
+    </delete>
   </target>
 
 </project>
diff --git a/ant/bundletasks.xml b/ant/bundletasks.xml
index 409bfa2..e7f78ef 100644
--- a/ant/bundletasks.xml
+++ b/ant/bundletasks.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-   ** Copyright (c) 2003-2013, KNOPFLERFISH project
+   ** Copyright (c) 2003-2015, KNOPFLERFISH project
    ** All rights reserved.
    **
    ** Redistribution and use in source and binary forms, with or without
@@ -46,16 +46,22 @@
   <!-- ASM bytecode manipulation and analysis framework -->
   <property name="asm.version" value="3.2"/>
   <property name="asm.jar"
-            location="${osgi.dir}/framework/libs/asm-${asm.version}.jar"/>
+	    location="${osgi.dir}/framework/libs/asm-${asm.version}.jar"/>
   <path id="asm.path">
     <pathelement location="${osgi.dir}/framework/libs/asm-${asm.version}.jar"/>
   </path>
+  
+  <property name="asm-all.version"	value="4.0"/>
+  <property name="asm-all.jar"		value="asm-all-${asm-all.version}.jar" />
+  <path id="asm-all.path">
+    <pathelement location="${ant.lib}/${asm-all.jar}" />
+  </path>
 
   <!-- Download and install repoindex -->
 
   <property name="bndtools.download.url"
-            value="https://bndtools.ci.cloudbees.com/job/bindex.master/lastStableBuild/artifact/cnf/releaserepo"/>
-
+            value="https://raw.githubusercontent.com/bndtools/bundle-hub/master/" />
+  
   <property name="org.osgi.impl.bundle.repoindex.cli.jar"
             value="org.osgi.impl.bundle.repoindex.cli-0.0.4.jar"/>
   <property name="org.osgi.impl.bundle.repoindex.cli.download.url"
@@ -64,7 +70,7 @@
   <property name="org.osgi.impl.bundle.repoindex.ant.jar"
             value="org.osgi.impl.bundle.repoindex.ant-0.0.1.jar"/>
   <property name="org.osgi.impl.bundle.repoindex.ant.download.url"
-            value="${bndtools.download.url}/org.osgi.impl.bundle.repoindex.ant"/>
+            value="${bndtools.download.url}/org.osgi.impl.bundle.repoindex.ant/" />
 
   <target name="install_repoindex">
     <get src="${org.osgi.impl.bundle.repoindex.cli.download.url}/${org.osgi.impl.bundle.repoindex.cli.jar}"
@@ -152,7 +158,7 @@
     </sequential>
   </macrodef>
 
-  <property name="proguard.version" value="4.10"/>
+  <property name="proguard.version" value="5.2"/>
   <property name="proguard-anttask.jar"
             value="proguard-anttask-${proguard.version}.jar"/>
   <property name="proguard-base.jar"
@@ -181,16 +187,59 @@
     </taskdef>
   </target>
 
-
+  <property name="pegdown.version"	value="1.6.0"/>
+  <property name="pegdown.jar"		value="pegdown-${pegdown.version}.jar" />
+  <property name="pegdown.url"		value="http://repo1.maven.org/maven2/org/pegdown/pegdown/${pegdown.version}/${pegdown.jar}" />
+
+  <property name="parboiled-core.version"	value="1.1.7"/>
+  <property name="parboiled-core.jar"		value="parboiled-core-${parboiled-core.version}.jar" />
+  <property name="parboiled-core.url"		value="http://repo1.maven.org/maven2/org/parboiled/parboiled-core/${parboiled-core.version}/${parboiled-core.jar}" />
+  <property name="parboiled-java.version"	value="1.1.7"/>
+  <property name="parboiled-java.jar"		value="parboiled-java-${parboiled-java.version}.jar" />
+  <property name="parboiled-java.url"		value="http://repo1.maven.org/maven2/org/parboiled/parboiled-java/${parboiled-java.version}/${parboiled-java.jar}" />
+
+  <property name="asm-all.url"		value="http://central.maven.org/maven2/org/ow2/asm/asm-all/${asm-all.version}/${asm-all.jar}" />
+
+  <target name="install_pegdown">
+    <get src="${pegdown.url}"
+	 dest="${ant.lib}/${pegdown.jar}"
+	 verbose="true"
+	 skipexisting="true" />
+    <get src="${parboiled-core.url}"
+	 dest="${ant.lib}/${parboiled-core.jar}"
+	 verbose="true"
+	 skipexisting="true" />
+    <get src="${parboiled-java.url}"
+	 dest="${ant.lib}/${parboiled-java.jar}"
+	 verbose="true"
+	 skipexisting="true" />
+    <get src="${asm-all.url}"
+	 dest="${ant.lib}/${asm-all.jar}"
+	 verbose="true"
+	 skipexisting="true" />
+  </target>
+  
   <!-- Compile and pack the Knopflerfish bundle tasks.  -->
   <property name="bundle_tasks.jar" location="${ant.lib}/bundle_tasks.jar"/>
+  <property name="kf_ant_util_tasks.jar" location="${ant.lib}/kf_ant_util_tasks.jar"/>
+
+  <property name="osgi_annotation.jar" location="${osgi.dir}/annotations/osgi.annotation-6.0.1.jar"/>
 
   <path id="bundle_tasks.path">
     <pathelement location="${antclasses}"/>
     <pathelement location="${bundle_tasks.jar}"/>
+    <pathelement location="${osgi_annotation.jar}"/>
     <path refid="asm.path"/>
   </path>
 
+  <path id="util_tasks.path">
+    <pathelement location="${antclasses}"/>
+    <path refid="asm-all.path"/>
+    <pathelement location="${ant.lib}/pegdown-1.6.0.jar"/>
+    <pathelement location="${ant.lib}/parboiled-core-1.1.7.jar"/>
+    <pathelement location="${ant.lib}/parboiled-java-1.1.7.jar"/>
+    <path refid="asm-all.path"/>
+  </path>
 
   <target name="chkBundleTaskSrc">
     <condition property="bundleTasksBuild.notRequired">
@@ -220,15 +269,35 @@
     </condition>
   </target>
 
+  <target name="build_util_tasks"
+	  depends="install_pegdown">
+    <mkdir dir="${antclasses}"/>
+    <javac destdir="${antclasses}"
+           classpathref="util_tasks.path"
+           includeAntRuntime="true"
+           debug="on">
+      <src path="${ant.dir}/src"/>
+      <include name="org/knopflerfish/ant//taskdefs/util/**"/>
+      <include name="org/knopflerfish/ant//taskdefs/bundle/FileUtil.java"/>
+    </javac>
 
-  <available property="jdk1.7+" classname="java.lang.ClassValue"/>
-
-  <condition property="javac.source" value="1.5" else="1.5">
-    <isset property="jdk1.7+"/>
-  </condition>
-  <condition property="javac.target" value="1.5" else="jsr14">
-    <isset property="jdk1.7+"/>
-  </condition>
+    <jar destfile="${kf_ant_util_tasks.jar}"
+         compress="true"
+         update="false"
+         filesonly="true">
+      <manifest>
+        <attribute name="Implementation-Vendor" value="Knopflerfish"/>
+        <attribute name="Implementation-Title"
+                   value="Knopflerfish Bundle Tasks"/>
+        <attribute name="Knopflerfish-Version" value="${version}"/>
+      </manifest>
+      <zipfileset dir="${ant.dir}/src"
+		  includes="org/knopflerfish/ant/taskdefs/util/*.xml"/>
+      <zipfileset dir="${antclasses}"
+		  includes="org/knopflerfish/ant/taskdefs/util/**,
+			    org/knopflerfish/ant/taskdefs/bundle/FileUtil.class" />
+    </jar>
+  </target>
 
   <target name="build_bundle_tasks"
           depends="chkBundleTaskSrc,chkBundleTasksBuild"
@@ -237,18 +306,17 @@
     <javac destdir="${antclasses}"
            classpathref="bundle_tasks.path"
            includeAntRuntime="true"
-           source="${javac.source}"
-           target="${javac.target}"
            debug="on">
       <src path="${ant.dir}/src"/>
       <!-- org.osgi.framework.Version is used by BundleLocator. -->
       <src path="${framework.dir}/src"/>
-      <include name="org/knopflerfish/ant/**"/>
+      <include name="org/knopflerfish/ant/taskdefs/bundle/**"/>
       <include name="org/osgi/framework/Constants.java"/>
       <include name="org/osgi/framework/Version.java"/>
       <include name="org/osgi/framework/VersionRange.java"/>
     </javac>
 
+    
     <jar destfile="${bundle_tasks.jar}"
          compress="true"
          update="false"
@@ -262,10 +330,13 @@
       <zipfileset dir="${ant.dir}/src"
                   includes="**/antlib.xml"/>
       <zipfileset dir="${antclasses}"/>
-      <zipfileset src="${asm.jar}" includes="org/**"/>
+      <zipfileset src="${asm.jar}" includes="org/**"/> 
     </jar>
   </target>
 
+  <target name="build_ant_tasks"
+	  depends="build_bundle_tasks, build_util_tasks" />
+
   <target name="define_bundle_tasks"
           description="Defines the Knopflerfish bundle tasks">
     <taskdef resource="org/knopflerfish/ant/taskdefs/bundle/antlib.xml">
@@ -275,12 +346,31 @@
     </taskdef>
   </target>
 
+  <target name="define_util_tasks"
+          description="Defines the Knopflerfish utl tasks">
+    <taskdef resource="org/knopflerfish/ant/taskdefs/util/antlib.xml">
+      <classpath>
+        <pathelement location="${kf_ant_util_tasks.jar}"/>
+	<pathelement location="${ant.lib}/pegdown-1.6.0.jar"/>
+	<pathelement location="${ant.lib}/parboiled-core-1.1.7.jar"/>
+	<pathelement location="${ant.lib}/parboiled-java-1.1.7.jar"/>
+	<pathelement location="${ant.lib}/asm-all-4.0.jar"/>
+      </classpath>
+    </taskdef>
+  </target>
+  
   <target name="bundle_tasks"
           description="Builds and defines the Knopflerfish bundle tasks"
           depends="build_bundle_tasks,
                    define_bundle_tasks">
   </target>
 
+  <target name="util_tasks"
+          description="Builds and defines the Knopflerfish util tasks"
+          depends="build_util_tasks,
+                   define_util_tasks">
+  </target>
+
   <target name="default" depends="bundle_tasks"/>
 
 </project>
diff --git a/ant/docbuild_include.xml b/ant/docbuild_include.xml
old mode 100644
new mode 100755
diff --git a/ant/html_template/bundledoc_ext.html b/ant/html_template/bundledoc_ext.html
old mode 100644
new mode 100755
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/Bundle.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/Bundle.java
old mode 100644
new mode 100755
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java
index 589b4c2..af1c480 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java
@@ -948,14 +948,14 @@ public class BundleArchives {
 
     /**
      * Build a mapping holding one entry for each source file found in the
-     * SVN-repository for the bundle. The repository URL of a source file is the
+     * Git-repository for the bundle. The repository URL of a source file is the
      * repoUrl followed by the part of the file path that remains when the
      * pathPrefix has been removed.
      *
      * @param pathPrefix
      *          The path of source files to include must start with this value.
      * @param repoURL
-     *          The URL to the SVN repository.
+     *          The URL to the Git repository.
      *
      * @return Mapping where the key is the name (path) of the source file and
      *         the value the repository URL to it.
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleHTMLExtractorTask.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleHTMLExtractorTask.java
index 9277ea4..845e669 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleHTMLExtractorTask.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleHTMLExtractorTask.java
@@ -949,7 +949,7 @@ public class BundleHTMLExtractorTask
       }
       sb.append("</table>");
     } else {
-      // No source files extracted, shall we create links to SVN?
+      // No source files extracted
       if (includeSourceFileRepositoryLinks) {
         final Map<String, String> srcRepositoryLinkMap =
           ba.getSrcRepositoryLinks(rootDir, repositoryURL);
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleLocator.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleLocator.java
index 594f67d..c7130bb 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleLocator.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleLocator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008-2013, KNOPFLERFISH project
+ * Copyright (c) 2008-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -541,7 +541,7 @@ public class BundleLocator extends Task {
   static private boolean isBundleNameWithWildcardVersion(final String name)
   {
     final Pattern pattern = Pattern.compile
-      ("^(.+)-(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.([-_0-9a-zA-Z]+))))(?:.jar|.zip)$");
+      ("^((?:[^-]*-??)+)-(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.([-_0-9a-zA-Z]+))))(?:.jar|.zip)$");
     final Matcher matcher = pattern.matcher(name);
     if (matcher.matches()) {
       for (int i=2; i<6; i++) {
@@ -601,7 +601,7 @@ public class BundleLocator extends Task {
     }
 
     final Pattern pattern = Pattern.compile
-      ("^(.+)-(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.([-_0-9a-zA-Z]+))))$");
+      ("^((?:[^-]*-??)+)-(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.(\\d+|N)(?:|\\.([-_0-9a-zA-Z]+))))$");
     final Matcher matcher = pattern.matcher(name);
     if (matcher.matches()) {
       name = matcher.group(1);
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleManifestTask.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleManifestTask.java
index 9f9ff91..89918b8 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleManifestTask.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleManifestTask.java
@@ -56,6 +56,7 @@ import org.apache.tools.ant.taskdefs.ManifestException;
 import org.apache.tools.ant.types.EnumeratedAttribute;
 
 import org.osgi.framework.Constants;
+import org.osgi.framework.Version;
 
 import org.knopflerfish.ant.taskdefs.bundle.Util.HeaderEntry;
 
@@ -482,6 +483,24 @@ public class BundleManifestTask extends Task {
     verbose = b;
   }
 
+  /**
+   * If set to true the bundle activator, export package and import
+   * package list in the written manifest will be printed on the
+   * console.
+   */
+  private String versionSuffix = "";
+
+  /**
+   * Set the verbosity of this task.
+   * If set to true the bundle activator, export package and import
+   * package list in the written manifest will be printed on the
+   * console.
+   * @param b verbose or not.
+   */
+  public void setVersionSuffix(String s) {
+    versionSuffix = s;
+  }
+
   private void doVerbose(Manifest mf)
   {
     if (verbose) {
@@ -597,7 +616,7 @@ public class BundleManifestTask extends Task {
     "Bundle-Name",
     "Bundle-NativeCode",
     "Bundle-RequiredExecutionEnvironment",
-    "Bundle-SubversionURL",
+    "Bundle-GitURL",
     "Bundle-SymbolicName",
     "Bundle-UUID",
     "Bundle-UpdateLocation",
@@ -913,8 +932,8 @@ public class BundleManifestTask extends Task {
 
   private final static String DOC_URL_PREFIX
     = "http://www.knopflerfish.org/releases/current/";
-  private final static String SVN_URL_PREFIX
-    = "https://www.knopflerfish.org/svn/knopflerfish.org/trunk/";
+  private final static String GIT_URL_PREFIX
+    = "https://github.com/knopflerfish/knopflerfish.org/tree/master/";
 
   /**
    * If this is a distribution build (the
@@ -923,8 +942,8 @@ public class BundleManifestTask extends Task {
    * <ul>
    *   <li>the <code>current</code>-part of a Bundle-DocURL
    *       value that start with {@link #DOC_URL_PREFIX}.
-   *   <li>the <code>trunk</code>-part of a Bundle-SubversionURL
-   *       value that start with {@link #SVN_URL_PREFIX}.
+   *   <li>the <code>trunk</code>-part of a Bundle-GitURL
+   *       value that start with {@link #GIT_URL_PREFIX}.
    * </ul>
    */
   private void replaceTrunkWithVersion(Manifest mf)
@@ -953,15 +972,15 @@ public class BundleManifestTask extends Task {
       }
 
       if (!isSnapshot) {
-        final Manifest.Attribute svnAttr
-          = mf.getMainSection().getAttribute("Bundle-SubversionURL");
-        if (null!=svnAttr) {
-          final String svnURL = svnAttr.getValue();
-          if (svnURL.startsWith(SVN_URL_PREFIX)) {
-            final String newSvnURL
-              = SVN_URL_PREFIX.substring(0,SVN_URL_PREFIX.indexOf("trunk/"))
-              +"tags/" +version +svnURL.substring(SVN_URL_PREFIX.length()-1);
-            svnAttr.setValue(newSvnURL);
+        final Manifest.Attribute gitAttr
+          = mf.getMainSection().getAttribute("Bundle-GitURL");
+        if (null!=gitAttr) {
+          final String gitURL = gitAttr.getValue();
+          if (gitURL.startsWith(GIT_URL_PREFIX)) {
+            final String newGitURL
+              = GIT_URL_PREFIX.substring(0,GIT_URL_PREFIX.indexOf("master/"))
+              +version +gitURL.substring(GIT_URL_PREFIX.length()-1);
+            gitAttr.setValue(newGitURL);
           }
         }
       }
@@ -970,6 +989,31 @@ public class BundleManifestTask extends Task {
 
 
   /**
+   * If we have a bundle version suffix add it to the 
+   * <code>Bundle-Version</code> attribute.
+   */
+  private void appendVersionSuffix(Manifest mf)
+  {
+    if (versionSuffix != null && !versionSuffix.equals("")) {
+      final Manifest.Attribute bundleVerAttr
+        = mf.getMainSection().getAttribute("Bundle-Version");
+      if (null!=bundleVerAttr) {
+        final Version ver = new Version(bundleVerAttr.getValue());
+        String q = ver.getQualifier();
+        int major = ver.getMajor();
+        int minor = ver.getMinor();
+        int micro = ver.getMicro();
+        if (q.length() == 0) {
+          bundleVerAttr.setValue(new Version(major, minor, micro, versionSuffix).toString());
+        } else if (!q.endsWith(versionSuffix)) {
+          bundleVerAttr.setValue(new Version(major, minor, micro, q + "-" + versionSuffix).toString());
+        }
+      }
+    }
+  }
+
+
+  /**
    * Create or update the Manifest when used as a task.
    *
    * @throws BuildException if the manifest cannot be written.
@@ -1094,6 +1138,7 @@ public class BundleManifestTask extends Task {
     removeAttributesForOtherKinds(manifestToWrite);
     replaceEEminmum(manifestToWrite);
     replaceTrunkWithVersion(manifestToWrite);
+    appendVersionSuffix(manifestToWrite);
 
     if (null==manifestFile) {
       updatePropertiesFromMainSectionAttributeValues(manifestToWrite);
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleMvnAntTask.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleMvnAntTask.java
index 1c22402..c2686fb 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleMvnAntTask.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleMvnAntTask.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2013, KNOPFLERFISH project
+ * Copyright (c) 2010-2017, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -45,6 +45,9 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeMap;
 import java.util.TreeSet;
+import java.io.FileWriter;
+import java.net.URL;
+import java.net.MalformedURLException;
 
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
@@ -189,13 +192,19 @@ import org.knopflerfish.ant.taskdefs.bundle.Util.HeaderEntry;
  */
 public class BundleMvnAntTask extends Task {
 
+  
   private BundleArchives bas;
 
   public BundleMvnAntTask() {
   }
 
+  private String groupVersion = null;
+  public void setGroupVersion(final String s) {
+    this.groupVersion = s;
+  }
 
-  private String groupId = "org.knopflerfish";
+  private final static String BASE_GROUP_ID = "org.knopflerfish";
+  private String groupId = BASE_GROUP_ID;
   public void setGroupId(final String s) {
     this.groupId = s;
   }
@@ -216,9 +225,10 @@ public class BundleMvnAntTask extends Task {
   public void setOutDir(File f) {
     outDir = f;
   }
-
+  
   private String buildFileName;
   private File buildFile;
+
   public void setBuildFile(String f) {
     if(null==f || 0==f.length()) {
       throw new BuildException("The attribute 'buildFile' must be non-null.");
@@ -250,6 +260,11 @@ public class BundleMvnAntTask extends Task {
     repoDir = f;
   }
 
+  private File mergeRepoDir;
+  public void setMergeRepoDir(final File f) {
+    mergeRepoDir = f;
+  }
+  
   private File settingsFile;
   public void setSettingsFile(File f) {
     if(null!=f && f.exists() && !f.canRead()) {
@@ -289,12 +304,17 @@ public class BundleMvnAntTask extends Task {
       throw new BuildException("Mandatory attribute 'repoDir' missing.");
     }
 
+    if (null != groupVersion) {
+      groupId += "." + groupVersion;
+    }
+    
     log("Loading bundle information:", Project.MSG_VERBOSE);
     bas = new BundleArchives(this, rcs, true);
     bas.doProviders();
 
     try {
       writeBuildFile();
+      writeGradleBuildFile();
       writeDependencyManagementFile();
     } catch (final Exception e) {
       final String msg = "Failed to create ant build file: " +e;
@@ -304,6 +324,109 @@ public class BundleMvnAntTask extends Task {
 
   }
 
+  private void writeGradleBuildFile()
+    throws IOException
+  {
+
+    if (mergeRepoDir == null) {
+      log("Merge repo URL not set, no gradle publish file created");
+      return;
+    }
+    
+    String gradleBuildFileName = "build.gradle";
+    
+    log("Creating gradle build file: " + gradleBuildFileName, Project.MSG_VERBOSE);
+
+    FileWriter fw = new FileWriter(new File(outDir, gradleBuildFileName));
+
+    fw.write("apply plugin: 'maven-publish'\n");
+    fw.write("publishing {\n");
+    fw.write("repositories {\n");
+    // It's possible to create both maven repos, but not used at the moment
+    // fw.write("maven {\n");
+    // fw.write("url \"file:///" + repoDir.getAbsolutePath() + "\"\n");
+    // fw.write("}\n");
+    fw.write("maven {\n");
+    fw.write("url \"file:///" + mergeRepoDir + "\"\n");
+    fw.write("}\n");
+    
+    fw.write("publications {\n");
+    
+    final String prefix1 = "  ";
+    final String prefix2 = prefix1 + "  ";
+    
+    final StringBuffer targetNames = new StringBuffer(2048);
+
+    for (final Entry<String,SortedSet<BundleArchive>> entry : bas.bsnToBundleArchives.entrySet()) {
+      final SortedSet<BundleArchive> bsnSet = entry.getValue();
+      // Sorted set with bundle archives, same bsn, different versions
+      for (final BundleArchive ba : bsnSet) {
+	fw.write(fixBsnName(ba) + "(MavenPublication) {\n");
+	fw.write("groupId '" + getGroupId(ba) + "'\n");
+	fw.write("artifactId '" + getArtifactId(ba) + "'\n" );
+	fw.write("version '" + getVersion(ba) + "'\n" );
+
+	String archivePathName = ba.file.getAbsolutePath();
+	fw.write("artifact \"" + archivePathName + "\"\n");
+	// source and javadoc, if they exist
+	String javadocPath = archivePathName.substring(0, archivePathName.length()-4) + "-javadoc.jar";
+	File f = new File(javadocPath);
+	if (f.exists()) {
+	  fw.write("artifact ('" + javadocPath + "') {\n");
+	  fw.write("classifier = 'javadoc'}\n");
+	}
+	String sourcePath = archivePathName.substring(0, archivePathName.length()-4) + "-source.jar";
+	f = new File(sourcePath);
+	
+	if (f.exists()) {
+	  fw.write("artifact ('" + sourcePath + "') {\n");
+	  fw.write("classifier = 'sources'}\n");
+	}
+	// artifact(s)
+	// fw.write("version '" + getVersion(ba) + "'\n" );
+
+        // Optional attributes & dependencies
+	fw.write("pom.withXml {\n");
+
+        final String description = ba.getBundleDescription();
+        if (null != description) {
+	  fw.write("asNode().appendNode('description', '" + fixGradleString(description) + "')\n");
+        }
+	
+	// Name and org
+	fw.write("asNode().appendNode('name', '" + ba.name + "')\n");
+	fw.write("def orgNode = asNode().appendNode('organization')\n");
+	fw.write("orgNode.appendNode('name', 'Knopflerfish')\n");
+	fw.write("orgNode.appendNode('url', 'http://www.knopflerfish.org')\n");
+
+        addGradleLicense(fw, ba);
+        addGradleDependencies(fw, ba);
+
+	fw.write("}\n");
+        // addSourceAttachment(mvnDeployBundle, ba, prefix2);
+        // addJavadocAttachment(mvnDeployBundle, ba, prefix2);
+
+      }
+      fw.write("}\n");
+      
+    }
+    fw.write("}\n");
+    fw.write("}\n");
+    fw.write("}\n");
+    
+    // Task for copying the dependency file
+    fw.write("task updateMavenRepo(type: Copy) {\n");
+    fw.write("dependsOn publish\n");
+    fw.write("from '" + repoDir.getAbsolutePath() + "/" + getGroupIdPath() + "'\n");
+    fw.write("include '" + dependencyManagementFile.getName() + "'\n");
+    fw.write("rename ('KF-(.*)', 'KF-kf6-$1')\n");
+    fw.write("into '" + mergeRepoDir.getAbsolutePath() + "/" + getGroupIdPath() + "'\n");
+    fw.write("}\n");
+    
+    fw.close();
+    log("wrote " + gradleBuildFileName, Project.MSG_VERBOSE);
+  }
+
   private void writeBuildFile()
     throws IOException
   {
@@ -601,6 +724,7 @@ public class BundleMvnAntTask extends Task {
   private void addMavenCoordinates(final Element el,
                                    final BundleArchive ba)
   {
+    /*
     final int ix = ba.bsn.lastIndexOf('.');
     final String aId = -1==ix ? ba.bsn : ba.bsn.substring(ix+1);
     final String gId = -1==ix ? (String) groupId : ba.bsn.substring(0,ix);
@@ -611,6 +735,11 @@ public class BundleMvnAntTask extends Task {
     }
     el.setAttribute("artifactId", aId);
     el.setAttribute("version", v.toString());
+    */
+    el.setAttribute("groupId", getGroupId(ba));
+    el.setAttribute("artifactId", getArtifactId(ba));
+    el.setAttribute("version", getVersion(ba));
+
   }
 
   /**
@@ -665,6 +794,52 @@ public class BundleMvnAntTask extends Task {
     return path;
   }
 
+  private void addGradleLicense(FileWriter fw, final BundleArchive ba) throws IOException
+  {
+    //final Element licenses = el.getOwnerDocument().createElement("licenses");
+    //final String prefix1 = prefix + "  ";
+    //final String prefix2 = prefix1 + "  ";
+
+    //el.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix1));
+    //el.appendChild(licenses);
+    //el.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix));
+    
+    fw.write("def licensiesNode = asNode().appendNode('licenses')\n");
+    fw.write("def licenseNode\n");
+    boolean addDefault = true;
+
+    final List<HeaderEntry> licenseEntries = ba.getBundleLicense();
+    for (final HeaderEntry licenseEntry : licenseEntries) {
+      addDefault = false;
+      fw.write("licenseNode = licensiesNode.appendNode('license')\n");
+      //final Element license = el.getOwnerDocument().createElement("license");
+      fw.write("licenseNode.appendNode('name', '" + licenseEntry.getKey() + "')\n");
+
+      //license.setAttribute("name", licenseEntry.getKey());
+      //licenses.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix2));
+      //licenses.appendChild(license);
+
+      if (licenseEntry.getAttributes().containsKey("description")) {
+	fw.write("licenseNode.appendNode('comments', '" + licenseEntry.getAttributes().get("description").toString() + "')\n");
+        //license.setAttribute("comments", licenseEntry.getAttributes().get("description").toString());
+      }
+      if (licenseEntry.getAttributes().containsKey("link")) {
+	fw.write("licenseNode.appendNode('url', '" + licenseEntry.getAttributes().get("link").toString() + "')\n");
+        // license.setAttribute("url", licenseEntry.getAttributes().get("link").toString());
+      }
+    }
+
+    if (addDefault) {
+      fw.write("licenseNode = licensiesNode.appendNode('license')\n");
+      // final Element license = el.getOwnerDocument().createElement("license");
+      fw.write("licenseNode.appendNode('name', '<<EXTERNAL>>')\n");
+      // license.setAttribute("name", "<<EXTERNAL>>");
+      // licenses.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix2));
+      // licenses.appendChild(license);
+    }
+    // licenses.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix1));
+  }
+
   /**
    * Add licenses element for the given bundle to the string buffer.
    *
@@ -758,6 +933,61 @@ public class BundleMvnAntTask extends Task {
   }
 
   /**
+   * Add dependencies element for the given bundle to the string buffer.
+   *
+   * @param el
+   *          element to add the dependencies to.
+   * @param ba
+   *          The bundle archive to defining the coordinates.
+   * @param prefix
+   *          Whitespace to add before the new element.
+   */
+  private void addGradleDependencies(FileWriter fw, BundleArchive ba) throws IOException
+  {
+    // final Element dependencies = el.getOwnerDocument().createElement("dependencies");
+    //final String prefix1 = prefix + "  ";
+    //final String prefix2 = prefix1 + "  ";
+
+    //el.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix1));
+    //el.appendChild(dependencies);
+    //el.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix));
+
+    fw.write("def dependenciesNode = asNode().appendNode('dependencies')\n");
+    fw.write("def dependencyNode\n");
+
+    for (final Entry<BundleArchive,SortedSet<String>> depEntry : selectCtDeps(ba).entrySet()) {
+      final BundleArchives.BundleArchive depBa = depEntry.getKey();
+      final SortedSet<String> pkgNames = depEntry.getValue();
+
+      // dependencies.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix2));
+      // dependencies.appendChild(el.getOwnerDocument().createComment(pkgNames.toString()));
+
+      // final Element dependency = el.getOwnerDocument().createElement("dependency");
+      fw.write("dependencyNode = dependenciesNode.appendNode('dependency')\n");
+
+      fw.write("dependencyNode.appendNode('groupId', '" + getGroupId(depBa) + "')\n");
+      fw.write("dependencyNode.appendNode('artifactId', '" + getArtifactId(depBa) + "')\n");
+      fw.write("dependencyNode.appendNode('version', '" + getVersion(depBa) + "')\n");
+	
+      //addMavenCoordinates(dependency, depBa);
+      if (pkgNames.contains("org.osgi.framework")) {
+	fw.write("dependencyNode.appendNode('scope', 'provided')\n");
+        // dependency.setAttribute("scope", "provided");
+      }
+
+      //dependencies.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix2));
+      //dependencies.appendChild(dependency);
+      //dependencies.appendChild(el.getOwnerDocument().createTextNode("\n"));
+    }
+    //dependencies.appendChild(el.getOwnerDocument().createTextNode("\n"+prefix1));
+    
+    if (0<ba.pkgUnprovidedMap.size()) {
+      log("  Imports without any provider: " +ba.pkgUnprovidedMap,
+          Project.MSG_DEBUG);
+    }
+  }
+
+  /**
    * Selects a subset of the compile time dependencies so that each
    * package is only provided once.
    *
@@ -983,4 +1213,55 @@ public class BundleMvnAntTask extends Task {
     return Util.replace(src, a, b == null ? "" : b);
   }
 
+  private String fixBsnName(final BundleArchive ba)  {
+    String tmp = replace(ba.bsn, ".", "_");
+    return replace(tmp, "-", "_");
+  }
+
+  private String getGroupId(final BundleArchive ba)  {
+    final int ix = ba.bsn.lastIndexOf('.');
+    final String gId = -1==ix ? (String) groupId : ba.bsn.substring(0,ix);
+
+    if (null!=gId) {
+      // return (groupVersion != null) ? gId + "." + groupVersion : gId;
+      if (gId.startsWith(groupId)) {
+	return gId;
+      }
+      else if (gId.startsWith(BASE_GROUP_ID)) {
+	return groupId + gId.substring(BASE_GROUP_ID.length());
+      }
+      else {
+	// log("Suspicious groupId derived from BSN: " + gId + " resetting to default");
+	// return groupId;
+	return gId;
+      }
+    }
+    else
+      return groupId; // "org.knopflerfish";
+  }
+
+  private String getArtifactId(final BundleArchive ba)  {
+    final int ix = ba.bsn.lastIndexOf('.');
+    final String aId = -1==ix ? ba.bsn : ba.bsn.substring(ix+1);
+    return aId;
+  }
+
+  private String getVersion(final BundleArchive ba)  {
+    return ba.version.toString();
+  }
+
+  private static String fixGradleString(String s) {
+    return replace(s, "'", "\\'");
+  }
+  
+  private String getGroupIdPath() {
+    String gid = BASE_GROUP_ID;
+
+    if (null != groupVersion) {
+      gid += "." + groupVersion;
+    }
+
+    return replace(gid, ".", "/");
+  }
+  
 }
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/FileUtil.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/FileUtil.java
index 1d867e9..eccabc1 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/FileUtil.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/FileUtil.java
@@ -126,7 +126,7 @@ public class FileUtil
   }
 
   // Always write files using UTF-8.
-  static void writeStringToFile(File outFile, String s) throws IOException {
+  public static void writeStringToFile(File outFile, String s) throws IOException {
     OutputStreamWriter writer = null;
     try {
       outFile.getParentFile().mkdirs();
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/MakeHTMLTask.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/MakeHTMLTask.java
index 56b6f4a..7f29764 100644
--- a/ant/src/org/knopflerfish/ant/taskdefs/bundle/MakeHTMLTask.java
+++ b/ant/src/org/knopflerfish/ant/taskdefs/bundle/MakeHTMLTask.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -421,9 +421,11 @@ public class MakeHTMLTask
                              proj.getProperty("JAVADOC"));
       content = Util.replace(content, "$(CLASS_NAVIGATION)",
                              proj.getProperty("css_navigation_enabled"));
-      content = Util.replace(content, "$(SVN_REPO_URL)",
-                             proj.getProperty("svn.repo.url"));
-      content = Util.replace(content, "$(SVN_TAG)",proj.getProperty("svn.tag"));
+      content = Util.replace(content, "$(GIT_REPO_URL)",
+                             proj.getProperty("git.repo.url"));
+      content = Util.replace(content, "$(GIT_TAG)",proj.getProperty("git.tag"));
+      content = Util.replace(content, "$(GIT_BRANCH)",proj.getProperty("git.branch"));
+      content = Util.replace(content, "$(GIT_BROWSE_URL)",proj.getProperty("git.browse.url"));
       content = Util.replace(content, "$(JAVADOCPATH)", pathToJavadocDir);
       content = Util.replace(content, "$(JAVADOCLINK)",
                              pathToJavadocDir + "/index.html?");
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/bundle/OSGiPackage.java b/ant/src/org/knopflerfish/ant/taskdefs/bundle/OSGiPackage.java
old mode 100644
new mode 100755
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/util/Markdown2HtmlTask.java b/ant/src/org/knopflerfish/ant/taskdefs/util/Markdown2HtmlTask.java
new file mode 100644
index 0000000..0a8a78e
--- /dev/null
+++ b/ant/src/org/knopflerfish/ant/taskdefs/util/Markdown2HtmlTask.java
@@ -0,0 +1,145 @@
+package org.knopflerfish.ant.taskdefs.util;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.pegdown.PegDownProcessor;
+import org.pegdown.ToHtmlSerializer;
+import org.pegdown.LinkRenderer;
+import org.pegdown.VerbatimSerializer;
+import org.pegdown.ast.*;
+import org.pegdown.plugins.ToHtmlSerializerPlugin;
+
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+import org.knopflerfish.ant.taskdefs.bundle.FileUtil;
+
+import java.util.List;
+import java.util.Map;
+
+public class Markdown2HtmlTask
+  extends Task
+{
+  private File from;
+  private File to;
+  private String type;
+  private final String HTML_TYPE_RELEASE_NOTES = "release_notes";
+  
+  public void setFromfile(File f) {
+    from = f;
+  }
+
+  public void setTofile(File f) {
+    to = f;
+  }
+
+  public void setType(String s) {
+    type = s;
+  }
+
+  @Override
+  public void execute() {
+    if (from == null) {
+      throw new BuildException("fromfile must be set");
+    }
+    if (to == null) {
+      throw new BuildException("tofile must be set");
+    }
+
+    if (!from.exists()) {
+      throw new BuildException("fromfile does not exist: " + from.getPath());
+    }
+
+    try {
+      String src = FileUtil.loadFile(from.getPath());
+
+      PegDownProcessor pegDown = new PegDownProcessor();
+      RootNode rootNode = pegDown.parseMarkdown(src.toCharArray());
+      ToHtmlSerializer htmlSerializer = new MyToHtmlSerializer(new LinkRenderer()); 
+      String html = htmlSerializer.toHtml(rootNode);
+      // String out = pegDown.markdownToHtml(src);
+      FileUtil.writeStringToFile(to, html);
+    }
+    catch (final IOException e) {
+      throw new BuildException("Failure in markdown2hhtml: " + e, e);
+    }
+  }
+}	
+
+class MyToHtmlSerializer extends ToHtmlSerializer {
+
+  public MyToHtmlSerializer(LinkRenderer linkRenderer) {
+    super(linkRenderer);
+  }
+
+  public MyToHtmlSerializer(LinkRenderer linkRenderer, List<ToHtmlSerializerPlugin> plugins) {
+    super(linkRenderer, plugins);
+  }
+
+  public MyToHtmlSerializer(LinkRenderer linkRenderer, Map<String, VerbatimSerializer> verbatimSerializers) {
+    super(linkRenderer, verbatimSerializers);
+  }
+
+  public MyToHtmlSerializer(LinkRenderer linkRenderer, Map<String, VerbatimSerializer> verbatimSerializers, List<ToHtmlSerializerPlugin> plugins) {
+    super(linkRenderer, verbatimSerializers, plugins);
+  }
+
+
+  public void visit(HeaderNode node) {
+    if (node.getLevel() == 3) {
+      printBreakBeforeTag(node, "div", "class=\"note_name\"");
+    }
+    else {
+      printBreakBeforeTag(node, "h" + node.getLevel() , "class=\"release_notes\"");
+    }
+  }
+
+  public void visit(ListItemNode node) {
+    if (node instanceof TaskListNode) {
+      super.visit(node);
+    }
+    else {
+      printConditionallyIndentedTag(node, "div", "class=\"note_item\"");
+    }
+  }
+
+  public void visit(BulletListNode node) {
+    visitChildren(node);
+    // printIndentedTag(node, "ul");
+  }
+
+  void printConditionallyIndentedTag(SuperNode node, String tag, String attributes) {
+    if (node.getChildren().size() > 1) {
+      printer.println().print('<').print(tag).print(' ').print(attributes).print('>').indent(+2);
+      visitChildren(node);
+      printer.indent(-2).println().print('<').print('/').print(tag).print('>');
+    } else {
+      boolean startWasNewLine = printer.endsWithNewLine();
+
+      printer.println().print('<').print(tag).print(' ').print(attributes).print('>');
+      visitChildren(node);
+      printer.print('<').print('/').print(tag).print('>').printchkln(startWasNewLine);
+    }
+  }
+
+  void printBreakBeforeTag(SuperNode node, String tag, String attributes) {
+    boolean startWasNewLine = printer.endsWithNewLine();
+    printer.println();
+    printTag(node, tag, attributes);
+    if (startWasNewLine) printer.println();
+  }  
+
+  void printTag(TextNode node, String tag, String attributes) {
+    printer.print('<').print(tag).print(' ').print(attributes).print('>');
+    printer.printEncoded(node.getText());
+    printer.print('<').print('/').print(tag).print('>');
+  }
+
+  void printTag(SuperNode node, String tag, String attributes) {
+    printer.print('<').print(tag).print(' ').print(attributes).print('>');
+    visitChildren(node);
+    printer.print('<').print('/').print(tag).print('>');
+  }
+}
diff --git a/ant/src/org/knopflerfish/ant/taskdefs/util/antlib.xml b/ant/src/org/knopflerfish/ant/taskdefs/util/antlib.xml
new file mode 100644
index 0000000..8878701
--- /dev/null
+++ b/ant/src/org/knopflerfish/ant/taskdefs/util/antlib.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<antlib>
+  <taskdef name="md2html"
+           classname="org.knopflerfish.ant.taskdefs.util.Markdown2HtmlTask"/>
+</antlib>
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..92ee025
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,905 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+    ** Copyright (c) 2004-2017, KNOPFLERFISH project
+    ** All rights reserved.
+    **
+    ** Redistribution and use in source and binary forms, with or without
+    ** modification, are permitted provided that the following conditions
+    ** are met:
+    **
+    ** - Redistributions of source code must retain the above copyright notice,
+    **   this list of conditions and the following disclaimer.
+    **
+    ** - Redistributions in binary form must reproduce the above copyright
+    **   notice, this list of conditions and the following disclaimer in
+    **   the documentation and/or other materials provided with the
+    **   distribution.
+    **
+    ** - Neither the name of the KNOPFLERFISH project nor the names of its
+    **   contributors may be used to endorse or promote products derived
+    **   from this software without specific prior written permission.
+    **
+    ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+    ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+    ** COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+    ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+    ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    ** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+    ** HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+    ** STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+    ** OF THE POSSIBILITY OF SUCH DAMAGE.
+  -->
+
+
+<project name="knopflerfish" default="default">
+
+  <!-- The default version of this build -->
+  <tstamp>
+    <format property="build.time"
+            pattern="yyMMddHHmm"/>
+    <format property="distrib_bintray.tstamp"
+            pattern="yyyy-MM-dd'T'HH:mm"
+            locale="en"/>
+  </tstamp>
+  <!-- The current Git state -->
+  <exec executable="git" outputproperty="git.status">
+    <arg value="status"/>
+    <arg value="-s"/>
+  </exec>
+  <exec executable="git" outputproperty="git.tag" errorproperty="git.error">
+    <arg value="describe"/>
+    <arg value="--tags"/>
+  </exec>
+  <condition property="git.pristine">
+    <equals arg1="${git.status}" arg2=""/>
+  </condition>
+
+  <!-- Set version for travis tag builds -->
+  <property name="travis.suffix" value=""/>
+  <condition property="version"
+             value="${travis.tag}${travis.suffix}">
+    <and>
+      <isset property="travis.tag"/>
+      <not>
+        <equals arg1="${travis.tag}" arg2=""/>
+      </not>
+    </and>
+  </condition>
+
+  <!-- Release build assumed if we have a N.N.N version and pristine Git dir -->
+  <condition property="release.build">
+    <and>
+      <isset property="version"/>
+      <isset property="git.pristine"/>
+      <matches pattern="^[0-9]+\.[0-9]+\.[0-9]+$" string="${version}"/>
+      <equals arg1="${version}" arg2="${git.tag}"/>
+    </and>
+  </condition>
+
+  <!-- OSGi do not allow . in qualifiers -->
+  <loadresource property="git.tag.osgi">
+    <propertyresource name="git.tag"/>
+    <filterchain>
+      <tokenfilter>
+        <filetokenizer/>
+        <replacestring from="." to="_"/>
+      </tokenfilter>
+    </filterchain>
+  </loadresource>
+  <!-- Use Git tag if directory is pristine, otherwise a time-stamp -->
+  <condition property="version.suffix"
+             value="kf_${git.tag.osgi}"
+             else="${build.time}">
+    <and>
+      <isset property="git.pristine"/>
+      <isset property="git.tag.osgi"/>
+      <not>
+        <equals arg1="${git.tag.osgi}" arg2=""/>
+      </not>
+    </and>
+  </condition>
+
+  <!-- Set default bundle suffix if not a release build -->
+  <condition property="bundle.version.suffix"
+             value=""
+             else="${version.suffix}">
+    <isset property="release.build"/>
+  </condition>
+
+  <property name="version.base"       value="6.1.0.snapshot"/>
+  <condition property="version"
+             value="${version.base}"
+             else="${version.base}-${version.suffix}">
+    <equals arg1="${version.suffix}" arg2=""/>
+  </condition>
+
+  <property name="kf.groupversion"	value="kf6" />
+
+  <!-- The release date of this release -->
+  <!-- *** Un-comment and set here on release branch. *** -->
+  <!-- Defaults to current date, set here if another value is wanted. -->
+  <!-- property name="release.date"     value="2017-02-08"/-->
+
+  <!-- The previous official release version for this build -->
+  <property name="version.previous"   value="6.1.0"/>
+
+  <!-- The URL to the root of the git-repository -->
+  <property name="git.repo.url"
+            value="https://github.com/knopflerfish/knopflerfish.org"/>
+
+  <!-- The git tag / branch that this build is made on. Used for viewing -->
+  <!-- E.g., "trunk", "tags/2.3.2", "branches/kf_1_support". -->
+  <property name="git.browse.url"    value="${git.repo.url}/tree/${git.tag}"/>
+
+  <!-- The kind of build, used on the index page for the release. -->
+  <property name="build.kind" value="release build"/>
+
+  <!-- Root directory of the current knopflerfish source tree. -->
+  <dirname  property="knopflerfish.dir"  file="${ant.file.knopflerfish}"/>
+
+  <!-- The root directory to place distrib build stuff in. -->
+  <property name="distrib.out.dir"
+            location="out"/>
+  <!-- A directory to place intermediate files for a distrib build in. -->
+  <property name="distrib.tmp.dir"
+            location="${distrib.out.dir}/tmp"/>
+  <property name="distrib.sources.file"
+            location="${distrib.out.dir}/sources_dirs.txt"/>
+  <property name="distrib.exported.file"
+            location="${distrib.out.dir}/exported_pkgs.txt"/>
+
+  <!-- Where to place the results of a distrib build in. -->
+  <property name="distrib.name"
+	    value="distrib_${version}" />
+  <property name="distrib.dir"
+            location="${distrib.out.dir}/${distrib.name}"/>
+  <property name="distrib.doc.dir"
+            location="${distrib.dir}/docs"/>
+  <property name="distrib.javadoc.dir"
+            location="${distrib.doc.dir}/javadoc"/>
+  <property name="distrib.jardocs.dir"
+            location="${distrib.doc.dir}/jars"/>
+  <property name="distrib.bundledoc.dir"
+            location="${distrib.doc.dir}/bundledoc"/>
+  <property name="distrib.mvn.repo.dir"
+            location="${distrib.dir}/maven2"/>
+  <property name="distrib.mvn.remote.repo.dir"
+            location="${distrib.tmp.dir}/remote_maven2"/>
+  <property name="distrib.mvn.remote.repo"
+	    value="file:///${distrib.mvn.remote.repo.dir}"/>
+  <property name="distrib.sdk.name"
+	    value="knopflerfish_osgi_sdk_${version}" />
+  <property name="distrib.sdk.file"
+            location="${distrib.dir}/knopflerfish_osgi_sdk_${version}.jar"/>
+  <property name="distrib.tiny.file"
+            location="${distrib.dir}/knopflerfish_osgi_tiny_${version}.zip"/>
+  <property name="distrib.osgi.dir"
+            location="${distrib.dir}/osgi"/>
+  <property name="distrib.junit_grunt.dir"
+            location="${distrib.dir}/junit_grunt"/>
+
+  <!-- Current date is default for the relesase.date property -->
+  <tstamp>
+    <format property="release.date"
+            pattern="yyyy-MM-dd"/>
+  </tstamp>
+
+  <!-- The URL that this release will be available on after installation. -->
+  <property name="base.url" value="http://www.knopflerfish.org/releases"/>
+
+  <property name="jarunpacker.dir" location="tools/jarunpacker"/>
+
+  <!-- Load support for KF bundle related ant tasks. -->
+  <property name="ant.dir" location="ant"/>
+  <import   file="${ant.dir}/bundletasks.xml"/>
+
+
+  <target name="default"
+         description="Builds entire platform except test bundles" >
+    <ant dir="${jarunpacker.dir}" target="jar"/>
+    <ant dir="osgi"               target="default" />
+  </target>
+
+  <target name="all"
+          description="Builds entire platform including optional and test bundles" >
+    <ant dir="${ant.dir}"          target="all"/>
+    <ant dir="${jarunpacker.dir}"  target="jar"/>
+    <ant dir="osgi"                target="all"/>
+  </target>
+
+
+  <target name="clean"
+          description="Removes all generated files"
+          depends="distrib_clean">
+    <delete dir="repo"/>
+    <ant    dir="osgi"               target="clean"/>
+    <ant    dir="${jarunpacker.dir}" target="clean"/>
+    <ant    dir="ant"                target="clean"/>
+    <ant    dir="tools/android"      target="clean"/>
+  </target>
+
+  <target name="version"
+          description="Echos the current Knopflerfish version to stdout.">
+    <echo message="Version: ${version}"/>
+  </target>
+
+
+  <!-- Remove dirs created by the distrib targets. -->
+  <target name="distrib_clean">
+    <delete dir="${distrib.dir}"/>
+    <delete dir="${distrib.out.dir}"/>
+    <ant dir="ant" target="clean"/>
+  </target>
+
+  <!-- Create top-level directories used by the distrib target. -->
+  <target name="distrib_mkdirs">
+    <mkdir dir="${distrib.out.dir}"/>
+    <mkdir dir="${distrib.dir}"/>
+  </target>
+
+  <target name="distrib_build_framework">
+    <mkdir dir="${distrib.osgi.dir}"/>
+
+    <!-- Note: This will build the bundle_tasks.jar -->
+    <ant dir="${osgi.dir}/framework" inheritall="false">
+      <property name="compact" value="true"/>
+      <property name="jarfile_compact"
+                location="${distrib.osgi.dir}/framework_compact.jar"/>
+      <property name="version" value="${version}"/>
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="root.out.dir" location="${distrib.tmp.dir}"/>
+      <property name="generate.javadoc.data" value="true"/>
+      <property name="exported.file" location="${distrib.exported.file}"/>
+      <property name="sources.file"  location="${distrib.sources.file}"/>
+      <property name="bundle.build.source.jar" value="true"/>
+      <property name="source.jarfile"
+                location="${distrib.osgi.dir}/framework-source.jar"/>
+      <property name="bundle.build.javadoc.jar" value="true"/>
+      <property name="javadoc.jarfile"
+                location="${distrib.osgi.dir}/framework-javadoc.jar"/>
+      <property name="version.suffix"  value="${bundle.version.suffix}"/>
+    </ant>
+    <ant dir="${osgi.dir}/framework" inheritall="false">
+      <property name="jarfile"
+                location="${distrib.osgi.dir}/framework.jar"/>
+      <property name="jars.dir" location="${distrib.osgi.dir}/jars"/>
+      <property name="version" value="${version}"/>
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="root.out.dir" location="${distrib.tmp.dir}"/>
+      <property name="generate.javadoc.data" value="true"/>
+      <property name="exported.file" location="${distrib.exported.file}"/>
+      <property name="sources.file"  location="${distrib.sources.file}"/>
+      <property name="bundle.build.source.jar" value="true"/>
+      <property name="source.jarfile"
+                location="${distrib.osgi.dir}/framework-source.jar"/>
+      <property name="bundle.build.javadoc.jar" value="true"/>
+      <property name="javadoc.jarfile"
+                location="${distrib.osgi.dir}/framework-javadoc.jar"/>
+      <property name="version.suffix"  value="${bundle.version.suffix}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_build_bundles">
+    <mkdir dir="${distrib.osgi.dir}/jars"/>
+
+    <ant dir="${osgi.dir}/bundles"
+         target="all"
+         inheritall="false">
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="jars.dir" location="${distrib.osgi.dir}/jars"/>
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+      <property name="generate.javadoc.data" value="true"/>
+      <property name="exported.file" location="${distrib.exported.file}"/>
+      <property name="sources.file"  location="${distrib.sources.file}"/>
+      <property name="bundle.build.source.jar"   value="true"/>
+      <property name="bundle.build.javadoc.jar"  value="true"/>
+      <property name="bundle.version.suffix"  value="${bundle.version.suffix}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_build_bundles_opt">
+    <mkdir dir="${distrib.osgi.dir}/jars"/>
+
+    <ant dir="${osgi.dir}/bundles_opt"
+         target="all"
+         inheritall="false">
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="jars.dir" location="${distrib.osgi.dir}/jars"/>
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+      <property name="generate.javadoc.data" value="true"/>
+      <property name="exported.file" location="${distrib.exported.file}"/>
+      <property name="sources.file"  location="${distrib.sources.file}"/>
+      <property name="bundle.build.source.jar"   value="true"/>
+      <property name="bundle.build.javadoc.jar"  value="true"/>
+      <property name="bundle.version.suffix"  value="${bundle.version.suffix}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_build_bundles_examples">
+    <mkdir dir="${distrib.osgi.dir}/example_jars"/>
+
+    <ant dir="${osgi.dir}/bundles_examples"
+         target="all"
+         inheritall="false">
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="ant.dir"       location="${ant.dir}"/>
+      <property name="osgi.jars.dir" location="${distrib.osgi.dir}/jars"/>
+      <property name="jars.dir" location="${distrib.osgi.dir}/example_jars"/>
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+      <property name="generate.javadoc.data" value="false"/>
+      <property name="exported.file" location="${distrib.exported.file}"/>
+      <property name="sources.file"  location="${distrib.sources.file}"/>
+      <property name="bundle.build.source.jar"   value="true"/>
+      <property name="bundle.build.javadoc.jar"  value="true"/>
+      <property name="bundle.version.suffix"  value="${bundle.version.suffix}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_build_bundles_test">
+    <ant dir="${osgi.dir}/bundles_test"
+         target="all"
+         inheritall="false">
+      <property name="bmfa.Knopflerfish-Version" value="${version}"/>
+      <property name="ant.dir"       location="${ant.dir}"/>
+      <property name="osgi.jars.dir" location="${distrib.osgi.dir}/jars"/>
+      <property name="jars.dir"      location="${distrib.osgi.dir}/test_jars"/>
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+    </ant>
+  </target>
+
+  <!-- Build tools and all bundles included in the KF SDK distribution. -->
+  <!-- The resulting bundles are placed in ${distrib.osgi.dir}/jars -->
+  <target name="distrib_build">
+    <mkdir dir="${distrib.osgi.dir}"/>
+
+    <ant dir="${jarunpacker.dir}"  target="jar">
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+    </ant>
+    <antcall target="distrib_build_framework"/>
+    <antcall target="distrib_build_bundles"/>
+    <antcall target="distrib_build_bundles_opt"/>
+    <antcall target="distrib_build_bundles_test"/>
+    <antcall target="distrib_build_bundles_examples"/>
+  </target>
+
+  <target name="distrib_xargs">
+    <mkdir dir="${distrib.osgi.dir}"/>
+    <delete dir="${distrib.osgi.dir}" includes="*.xargs"/>
+
+    <ant dir="${osgi.dir}" target="xargs">
+      <property name="xargs.out.dir"  location="${distrib.osgi.dir}"/>
+      <property name="xargs.base.dir" location="${distrib.osgi.dir}"/>
+      <property name="jars.dir"      location="${distrib.osgi.dir}/jars"/>
+      <property name="gosg.jars"     value="file:jars/"/>
+      <property name="base.url"      value="${base.url}"/>
+      <property name="version"       value="${version}"/>
+      <property name="root.out.dir"  location="${distrib.tmp.dir}"/>
+    </ant>
+    <copy file="${osgi.dir}/props.xargs" todir="${distrib.osgi.dir}"/>
+  </target>
+
+  <target name="distrib_repoindex">
+    <mkdir dir="${distrib.osgi.dir}/jars"/>
+
+    <ant dir="${osgi.dir}" target="repoindex">
+      <property name="jars.dir"      location="${distrib.osgi.dir}/jars"/>
+      <property name="version"       value="${version}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_javadoc" depends="bundle_tasks">
+    <ant dir="${osgi.dir}" target="javadoc">
+      <property name="javadoc.out.dir" location="${distrib.javadoc.dir}"/>
+      <property name="exported.file"   location="${distrib.exported.file}"/>
+      <property name="sources.file"    location="${distrib.sources.file}"/>
+      <property name="version"         value="${version}"/>
+      <property name="ant.dir"         location="${ant.dir}"/>
+      <property name="framework.dir"   location="${osgi.dir}/framework"/>
+      <property name="osgi.dir"        location="${osgi.dir}"/>
+      <property name="root.out.dir"    location="${distrib.tmp.dir}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_jardocs" depends="bundle_tasks">
+    <mkdir dir="${distrib.jardocs.dir}"/>
+    <mkdir dir="${distrib.javadoc.dir}"/>
+
+    <property name="bundle.list.header"
+              value="Knopflerfish OSGi ${version} Bundles"/>
+
+    <bundlehtml templateHTMLDir="${ant.dir}/html_template"
+                outDir="${distrib.jardocs.dir}"
+                listHeader="${bundle.list.header}"
+                javadocRelPath="../javadoc"
+                includeSourceFiles="false"
+                includeSourceFileRepositoryLinks="true"
+                rootDir="${knopflerfish.dir}"
+                repositoryURL="${git.browse.url}/">
+      <fileset dir="${distrib.osgi.dir}/jars">
+        <include name="**/*.jar"/>
+        <exclude name="**/*-source.jar"/>
+        <exclude name="**/*-javadoc.jar"/>
+      </fileset>
+      <!-- Include framework.jar to get a provider of org.osgi.framework. -->
+      <fileset dir="${distrib.osgi.dir}">
+        <include name="framework.jar"/>
+      </fileset>
+    </bundlehtml>
+  </target>
+
+  <target name="distrib_mvn_repo" depends="bundle_tasks">
+    <mkdir dir="${distrib.mvn.repo.dir}/org/knopflerfish"/>
+
+    <bundleMvnAnt templateAntFile="${ant.dir}/ant_templates/mvn_repo.xml"
+                  repoDir="${distrib.mvn.repo.dir}"
+		  mergeRepoDir="${distrib.mvn.remote.repo.dir}"
+                  outDir="${distrib.tmp.dir}"
+                  buildFile="toMvn.xml"
+                  dependencyManagementFile="KF-${version}_dependencyManagement.xml"
+		  groupVersion="${kf.groupversion}"
+                  version="${version}"
+                  settingsFile="${knopflerfish.dir}/tools/mvnrepo/settings.xml">
+      <!-- Include framework.jar -->
+      <fileset dir="${distrib.osgi.dir}">
+        <include name="framework.jar"/>
+      </fileset>
+      <!-- and all bunldes in the jars-directory -->
+      <fileset dir="${distrib.osgi.dir}/jars">
+        <include name="**/*.jar"/>
+        <exclude name="**/*-source.jar"/>
+        <exclude name="**/*-javadoc.jar"/>
+      </fileset>
+    </bundleMvnAnt>
+
+    <!-- Time to execute the generated build file. -->
+    <ant dir="${distrib.tmp.dir}" antfile="toMvn.xml"/>
+  </target>
+
+  <target name="distrib_bundle_doc" depends="bundle_tasks">
+    <mkdir dir="${distrib.bundledoc.dir}"/>
+
+    <property name="bundledoc.list.header"
+              value="Knopflerfish OSGi ${version}"/>
+
+    <!-- Get documentation from the bundles -->
+    <ant dir="${osgi.dir}/framework"      target="framework_doc">
+      <property name="jarfile"      location="${distrib.osgi.dir}/framework.jar"/>
+      <property name="docs.dir"     location="${distrib.bundledoc.dir}"/>
+      <property name="root.out.dir" location="${distrib.tmp.dir}"/>
+    </ant>
+    <ant dir="${osgi.dir}/bundles"      target="bundle_doc">
+      <property name="jars.dir"     location="${distrib.osgi.dir}/jars"/>
+      <property name="docs.dir"     location="${distrib.bundledoc.dir}"/>
+      <property name="root.out.dir" location="${distrib.tmp.dir}"/>
+    </ant>
+    <ant dir="${osgi.dir}/bundles_opt"  target="bundle_doc">
+      <property name="jars.dir"     location="${distrib.osgi.dir}/jars"/>
+      <property name="docs.dir"     location="${distrib.bundledoc.dir}"/>
+      <property name="root.out.dir" location="${distrib.tmp.dir}"/>
+    </ant>
+
+    <!-- Generate user doc navigation page -->
+    <bundle_user_doc_navigate
+       outdir="${distrib.bundledoc.dir}"
+       docdir="${distrib.bundledoc.dir}"
+       tofile="bundledoc_list.html"
+       template="htdocs/html_templates/bundle_doc/bundledoc_list.html"
+       title="${bundledoc.list.header}"
+       />
+
+    <!-- Add navigation and header pages from the templates -->
+    <copy todir="${distrib.bundledoc.dir}">
+      <fileset dir="htdocs/html_templates/bundle_doc">
+        <include name="*.html" />
+        <exclude name="bundledoc_list.html"/>
+      </fileset>
+      <filterset begintoken="@" endtoken="@">
+        <filter token="VERSION"      value="${version}"/>
+      </filterset>
+    </copy>
+  </target>
+
+  <!-- General distribution documentation, mostly html -->
+  <target name="distrib_docs" depends="bundle_tasks, util_tasks">
+    <mkdir dir="${distrib.doc.dir}"/>
+
+    <property name="htdocs.out"     location="${distrib.doc.dir}"/>
+
+    <property name="htdocs.dir"     location="htdocs"/>
+    <property name="htdocs.ht.dir"  location="${htdocs.dir}/html_templates"/>
+    <property name="htdocs.hs.dir"  location="${htdocs.dir}/html_src"/>
+
+    <property name="template.html"  location="${htdocs.ht.dir}/template.html"/>
+    <property name="formatted.html" location="${htdocs.ht.dir}/formatted.html"/>
+    <property name="license.html"   location="${htdocs.hs.dir}/license.html"/>
+
+    <tstamp>
+      <format property="distrib_docs.tstamp.year" pattern="yyyy" locale="en"/>
+    </tstamp>
+
+    <copy todir="${distrib.dir}">
+      <fileset dir=".">
+        <include name="README.txt"/>
+        <include name="NOTICE.txt"/>
+        <include name="LICENSE.txt"/>
+        <include name="changelog.txt"/>
+      </fileset>
+      <filterset begintoken="@" endtoken="@">
+        <filter token="YEAR"         value="${distrib_docs.tstamp.year}"/>
+        <filter token="VERSION"      value="${version}"/>
+        <filter token="DOWNLOAD_URL" value="${base.url}/${version}"/>
+      </filterset>
+    </copy>
+
+    <copy todir="${distrib.doc.dir}">
+      <fileset dir="${htdocs.dir}">
+        <include name="css/knopflerfish.css"/>
+        <include name="css/kf_man.css"/>
+        <include name="images/**"/>
+      </fileset>
+    </copy>
+
+    <mkdir dir="${distrib.doc.dir}/examples/cpa"/>
+    <copy todir="${distrib.doc.dir}/examples/cpa">
+      <fileset dir="${osgi.dir}/bundles_examples/cpa">
+        <include name="**/*"/>
+      </fileset>
+    </copy>
+
+    <ant dir="${htdocs.dir}" target="all"/>
+
+  </target>
+
+  <target name="distrib_docs_tutorial">
+    <mkdir dir="${distrib.doc.dir}/tutorials"/>
+    <copy todir="${distrib.doc.dir}/tutorials">
+      <fileset dir="docs">
+        <include name="kf_osgi_tutorial/**"/>
+        <exclude name="*.class"/>
+      </fileset>
+    </copy>
+  </target>
+
+  <target name="distrib_kf_tests" depends="bundle_tasks">
+    <delete dir="${distrib.junit_grunt.dir}"/>
+    <!-- Ok to use "run-kf-tests-bare" here since the build is clean.-->
+    <ant dir="osgi" target="run-kf-tests-bare">
+      <property name="junit.out.dir"   location="${distrib.junit_grunt.dir}"/>
+      <property name="run.test.secure" value="true"/>
+      <property name="jars.dir"        location="${distrib.osgi.dir}/jars"/>
+      <property name="test.jars.dir" location="${distrib.osgi.dir}/test_jars"/>
+      <property name="xargs.out.dir"   location="${distrib.osgi.dir}"/>
+      <property name="xargs.base.dir"  location="${distrib.osgi.dir}"/>
+      <property name="run.test.dir"    location="${distrib.osgi.dir}"/>
+      <property name="root.out.dir"    location="${distrib.tmp.dir}"/>
+    </ant>
+  </target>
+
+  <target name="distrib_sdk">
+    <echo message="building ${distrib.sdk.file}"/>
+
+    <delete file="${distrib.sdk.file}"/>
+    <jar destfile="${distrib.sdk.file}"
+         compress="true" filesonly="true" duplicate="fail">
+      <manifest>
+        <attribute name="Main-class"
+                   value="org.knopflerfish.tools.jarunpacker.Main"/>
+        <attribute name="jarunpacker-destdir"
+                   value="knopflerfish_osgi_${version}"/>
+        <attribute name="jarunpacker-opendir"
+                   value="$${destdir}/osgi"/>
+        <attribute name="jarunpacker-licensepath"
+                   value="/LICENSE.txt"/>
+        <attribute name="knopflerfish-version"
+                   value="${version}"/>
+      </manifest>
+
+      <zipfileset dir="${distrib.dir}" prefix="">
+        <include name="LICENSE.txt"/>
+        <include name="NOTICE.txt"/>
+        <include name="README.txt"/>
+        <include name="release_notes.html"/>
+        <include name="release_notes.md"/>
+      </zipfileset>
+
+      <zipfileset dir="${distrib.doc.dir}" prefix="docs">
+        <include name="**/*"/>
+        <exclude name="**/doc.properties"/>
+      </zipfileset>
+
+      <zipfileset dir="${distrib.osgi.dir}" prefix="osgi">
+        <exclude name="**/*-source.jar"/>
+        <exclude name="**/*-javadoc.jar"/>
+        <exclude name="osgi/test_jars/openssl.config"/>
+        <exclude name="osgi/test_jars/test.castore"/>
+        <exclude name="osgi/test_jars/test.keystore"/>
+        <exclude name="osgi/test_jars/testCA"/>
+        <include name="**/*"/>
+      </zipfileset>
+
+      <zipfileset dir="." prefix="">
+        <exclude name="**/*.jbf"/>
+        <exclude name="**/out/**"/>
+        <exclude name="**/*.class"/>
+
+        <include name="ant/**"/>
+        <exclude name="ant/classes/**"/>
+        <exclude name="ant/lib/bindex.jar"/>
+
+        <include name="tools/android/**"/>
+
+        <!--<include name="build.xml"/>-->
+
+        <include name="changelog.txt"/>
+
+        <include name="osgi/*.xargs.in"/>
+        <include name="osgi/kf2"/>
+        <include name="osgi/annotations/**"/>
+        <include name="osgi/ee/**"/>
+        <include name="osgi/build.xml"/>
+
+        <include name="osgi/framework/**"/>
+
+        <include name="osgi/bundles/build.xml"/>
+
+        <include name="osgi/bundles/cm/cm/**"/>
+        <include name="osgi/bundles/cm/cm_cmd/**"/>
+
+        <include name="osgi/bundles/log/**"/>
+        <include name="osgi/bundles/http/**"/>
+        <include name="osgi/bundles/sslj2sp/**"/>
+        <include name="osgi/bundles/device/build.xml"/>
+        <include name="osgi/bundles/device/device/**"/>
+        <include name="osgi/bundles/device/basicdriverlocator/**"/>
+        <include name="osgi/bundles/useradmin/**"/>
+
+        <include name="osgi/bundles/jsdk/**"/>
+
+        <include name="osgi/bundles/threadio/**"/>
+        <include name="osgi/bundles/command/**"/>
+
+        <include name="osgi/bundles/console/**"/>
+        <include name="osgi/bundles/frameworkcommands/**"/>
+        <include name="osgi/bundles/logcommands/**"/>
+        <include name="osgi/bundles/util/**"/>
+        <include name="osgi/bundles/xml/build.xml"/>
+        <include name="osgi/bundles/xml/xml/**"/>
+        <include name="osgi/bundles/xml/crimson/**"/>
+        <include name="osgi/bundles/xml/kxml/**"/>
+        <include name="osgi/bundles/xml/xerces/**"/>
+        <include name="osgi/bundles/xml/xalan/**"/>
+        <include name="osgi/bundles/desktop/**"/>
+        <include name="osgi/bundles/wireadmin/**"/>
+        <include name="osgi/bundles/position/**"/>
+        <include name="osgi/bundles/measurement/**"/>
+        <include name="osgi/bundles/metatype/**"/>
+        <include name="osgi/bundles/repository/**"/>
+        <include name="osgi/bundles/resolver/**"/>
+        <include name="osgi/bundles/promise/**"/>
+
+        <include name="osgi/bundles/component/**"/>
+        <include name="osgi/bundles/scrcommands/**"/>
+        <include name="osgi/bundles/event/**"/>
+        <include name="osgi/bundles/io/**"/>
+
+        <include name="osgi/bundles/prefs/**"/>
+        <include name="osgi/bundles/upnp/**"/>
+        <include name="osgi/bundles/provisioning/**"/>
+
+        <include name="osgi/bundles/annotations/**"/>
+        <include name="osgi/bundles/applicationadmin/**"/>
+        <include name="osgi/bundles/blueprint/**"/>
+        <include name="osgi/bundles/coordinator/**"/>
+        <include name="osgi/bundles/deploymentadmin/**"/>
+        <include name="osgi/bundles/dmt/**"/>
+        <include name="osgi/bundles/foreignapplication/**"/>
+        <include name="osgi/bundles/monitor/**"/>
+        <include name="osgi/bundles/namespace/**"/>
+        <include name="osgi/bundles/remoteserviceadmin/**"/>
+        <include name="osgi/bundles/serviceloader/**"/>
+        <include name="osgi/bundles/subsystem/**"/>
+
+        <include name="osgi/bundles/dal/**"/>
+
+        <include name="osgi/bundles/demos/**"/>
+
+        <include name="osgi/bundles/trayicon/build.xml"/>
+        <include name="osgi/bundles/trayicon/readme.txt"/>
+        <include name="osgi/bundles/trayicon/trayicon/**"/>
+        <include name="osgi/bundles/trayicon/trayicon_fw/**"/>
+        <include name="osgi/bundles/remotefw/**"/>
+
+        <include name="osgi/bundles_opt/build.xml"/>
+        <include name="osgi/bundles_opt/httpclient_connector/**"/>
+        <include name="osgi/bundles_opt/classpatcher/**"/>
+        <include name="osgi/bundles_opt/commons-logging/**"/>
+        <include name="osgi/bundles_opt/desktop_awt/**"/>
+        <include name="osgi/bundles_opt/desktop_displayers/**"/>
+        <include name="osgi/bundles_opt/dirdeployer/**"/>
+        <include name="osgi/bundles_opt/jini/**"/>
+        <include name="osgi/bundles_opt/junit/**"/>
+        <include name="osgi/bundles_opt/serial/**"/>
+        <include name="osgi/bundles_opt/soap/**"/>
+
+        <include name="osgi/bundles_test/**"/>
+        <exclude name="osgi/bundles_test/regression_tests/*/resources/*_test*.jar"/>
+
+        <include name="osgi/bundles_examples/**"/>
+      </zipfileset>
+
+      <!-- Add required files excluded in the fileset above -->
+      <zipfileset dir="." prefix="">
+        <include name="osgi/bundles_test/regression_tests/framework_test/res1/**/*.class"/>
+        <include name="osgi/bundles_test/regression_tests/framework_test/resources/subdir/**/*.class"/>
+      </zipfileset>
+
+      <zipfileset dir="${distrib.tmp.dir}/jarunpacker/classes">
+        <include name="**"/>
+      </zipfileset>
+
+      <zipfileset dir="${jarunpacker.dir}/resources">
+        <include name="**"/>
+      </zipfileset>
+
+      <zipfileset dir="${jarunpacker.dir}/">
+        <include name="strings.properties"/>
+      </zipfileset>
+    </jar>
+  </target>
+
+  <target name="distrib_tiny">
+    <echo message="building ${distrib.tiny.file}"/>
+
+    <property name="distrib_tiny.prefix"
+              value="knopflerfish_osgi_tiny_${version}"/>
+
+    <delete file="${distrib.tiny.file}"/>
+    <zip destfile="${distrib.tiny.file}" compress="true">
+      <zipfileset dir="${distrib.dir}" prefix="${distrib_tiny.prefix}">
+        <include name="LICENSE.txt"/>
+        <include name="NOTICE.txt"/>
+        <include name="README.txt"/>
+        <include name="release_notes.html"/>
+      </zipfileset>
+
+      <zipfileset dir="${distrib.dir}" prefix="${distrib_tiny.prefix}">
+        <include name="osgi/framework_compact.jar"/>
+        <include name="osgi/remote-init.xargs"/>
+        <include name="osgi/props.xargs"/>
+      </zipfileset>
+
+      <zipfileset dir="." prefix="${distrib_tiny.prefix}">
+        <include name="osgi/kf2"/>
+      </zipfileset>
+    </zip>
+  </target>
+
+  <!-- Creates an HTML index page for a release build.-->
+  <target name="distrib_index" depends="bundle_tasks">
+    <tstamp>
+      <format property="distrib_index.tstamp"
+              pattern="yyyy-MM-dd HH:mm"
+              locale="en"/>
+    </tstamp>
+    <tstamp>
+      <format property="distrib_index.tstamp.year"
+              pattern="yyyy"
+              locale="en"/>
+    </tstamp>
+
+    <byteformatter file="${distrib.sdk.file}" unit="B"
+                   property="distrib.sdk.file.length"/>
+    <byteformatter file="${distrib.tiny.file}" unit="B"
+                   property="distrib.tiny.file.length"/>
+
+    <copy file="htdocs/html_src/release_page.html.in"
+          tofile="${distrib.dir}/index.html">
+    </copy>
+    <replace file="${distrib.dir}/index.html">
+      <replacefilter token="@VERSION@"
+                     value="${version}"/>
+      <replacefilter token="@DATE@"
+                     value="${distrib_index.tstamp}"/>
+      <replacefilter token="@YEAR@"
+                     value="${distrib_index.tstamp.year}"/>
+      <replacefilter token="@REPO_URL@"
+                     value="${git.repo.url}"/>
+      <replacefilter token="@TAG@"
+                     value="${git.tag}"/>
+      <replacefilter token="@BUILD_KIND@"
+                     value="${build.kind}"/>
+      <replacefilter token="@DISTRIB_SDK_FILE_LENGTH@"
+                     value="${distrib.sdk.file.length}"/>
+      <replacefilter token="@DISTRIB_TINY_FILE_LENGTH@"
+                     value="${distrib.tiny.file.length}"/>
+    </replace>
+  </target>
+
+
+  <target name="distrib"
+          description="Builds all full Knopflerfish SDK distribution">
+    <antcall target="distrib_clean"/>
+    <antcall target="distrib_mkdirs"/>
+    <antcall target="distrib_build"/>
+    <antcall target="distrib_xargs"/>
+    <antcall target="distrib_repoindex"/>
+    <antcall target="distrib_javadoc"/>
+    <antcall target="distrib_jardocs"/>
+    <antcall target="distrib_bundle_doc"/>
+    <antcall target="distrib_docs_tutorial"/>
+    <antcall target="distrib_docs"/>
+    <antcall target="distrib_kf_tests"/>
+    <antcall target="distrib_sdk"/>
+    <antcall target="distrib_tiny"/>
+    <antcall target="distrib_index"/>
+    <antcall target="distrib_mvn_repo"/>
+    <echo message="Build result placed in ${distrib.dir} and repo"/>
+  </target>
+
+
+  <!-- Creates a Bintray configuration file and a matching archive of a release build.-->
+  <target name="distrib_bintray" depends="distrib">
+    <copy file="tools/bintray/template_bintray.cfg"
+          tofile="${distrib.out.dir}/bintray.cfg">
+    </copy>
+    <replace file="${distrib.out.dir}/bintray.cfg">
+      <replacefilter token="@VERSION@"
+                     value="${version}"/>
+      <replacefilter token="@DATE@"
+                     value="${distrib_bintray.tstamp}"/>
+      <replacefilter token="@REPO_URL@"
+                     value="${git.repo.url}"/>
+      <replacefilter token="@TAG@"
+                     value="${git.tag}"/>
+      <replacefilter token="@BUILD_KIND@"
+                     value="${build.kind}"/>
+    </replace>
+    <copy file="tools/bintray/bin/travis_credentials.sh"
+          tofile="${distrib.out.dir}/.travis_credentials.sh">
+    </copy>
+    <copy file="tools/bintray/bin/travis_upload.sh"
+          tofile="${distrib.out.dir}/.travis_upload.sh">
+    </copy>
+    <replace file="${distrib.out.dir}/.travis_upload.sh">
+      <replacefilter token="@VERSION@"
+                     value="${version}"/>
+      <replacefilter token="@DISTRIB_NAME@"
+                     value="${distrib.name}"/>
+      <replacefilter token="@SDK_NAME@"
+                     value="${distrib.sdk.name}"/>
+    </replace>
+    <chmod perm="u+x">
+      <fileset dir="${distrib.out.dir}">
+	<include name=".travis_*.sh" />
+      </fileset>
+    </chmod>
+  </target>
+
+
+  <!--|
+      | The program used to check for broken links is the W3C checklink program:
+      | http://validator.w3.org/docs/checklink.html
+      |
+      | It must be locally installed as it checks the generated docs on the local
+      | file system. Only tested on OS X so far.
+      |
+      | The program is perl based. Please note the special step that needs to be
+      | taken to enable SSL/HTTPS support
+      |
+    -->
+  <target name="docs.checklink"
+          description="Checks that all links are valid in the generated html documents">
+    <exec executable="checklink"
+          output="${distrib.out.dir}/checklink.out">
+      <arg value="-qr"/>
+      <arg value="-X"/>
+      <arg value=".*/docs/javadoc/index.html.*"/>
+      <arg value="${distrib.doc.dir}/index.html"/>
+    </exec>
+  </target>
+ 
+</project>
diff --git a/changelog.txt b/changelog.txt
deleted file mode 100644
index 8c08827..0000000
--- a/changelog.txt
+++ /dev/null
@@ -1,374 +0,0 @@
-2014-06-13 00:51:04 +0200 (Fri, 13 Jun 2014), revision 4320, cl
-Renamed Application-Icon => Bundle-Icon to map 1:1 with manifest header name
-U   knopflerfish.org/trunk/ant/bundlebuild.xml
-U   knopflerfish.org/trunk/osgi/bundles_opt/desktop_displayers/boing/build.xml
-
-2014-06-12 22:19:49 +0200 (Thu, 12 Jun 2014), revision 4319, cl
-Added support to include content from ${out.dir}/resources. To be used when adding dynamically created resources in e.g. a custom.pre target
-U   knopflerfish.org/trunk/ant/bundlebuild.xml
-
-2014-06-12 17:20:29 +0200 (Thu, 12 Jun 2014), revision 4318, jan
-Fixed some small problems in preparation for next KF release.
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-12 12:17:11 +0200 (Thu, 12 Jun 2014), revision 4317, cl
-Added bundle icon for Prefs. Changed to use Bundle-Icon for UserAdmin
-U   knopflerfish.org/trunk/osgi/bundles/prefs/bundle.manifest
-A   knopflerfish.org/trunk/osgi/bundles/prefs/resources/
-A   knopflerfish.org/trunk/osgi/bundles/prefs/resources/icon.png
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-12 11:50:26 +0200 (Thu, 12 Jun 2014), revision 4316, jan
-Changed RSA key length to avoid restrictions in Java 7 and later. Be more flexible in validation date parsing.
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/build_keystore.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/JKSValidator.java
-
-2014-06-10 19:39:20 +0200 (Tue, 10 Jun 2014), revision 4315, jan
-Fixed listRescources (SF#178) and added a testcase. Detect dead-lock when doing dynamic import in permssion check (SF#179).
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/BadBundleListener.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/BundleWiringTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/CapabilityTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FWTestCase.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FragmentTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FrameworkTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/NativeCodeTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PackageAdminTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PackageTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PermissionTest.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PermissionTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RegListenThread.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RegServThread.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RequireBundleTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/ServiceListenerTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/Util.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Resolver.java
-U   knopflerfish.org/trunk/osgi/init-tests.xargs.in
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-09 14:43:48 +0200 (Mon, 09 Jun 2014), revision 4314, jan
-Add framework property to put framework in read-only mode.
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FWProps.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Util.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-09 08:00:49 +0200 (Mon, 09 Jun 2014), revision 4313, jan
-Added framework resource protocol
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-A   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FWResourceURLStreamHandler.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-05-15 17:53:50 +0200 (Thu, 15 May 2014), revision 4312, ekolin
-Fix buidling of the compact framework version when using Java SE 7+.
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2014-04-11 09:58:17 +0200 (Fri, 11 Apr 2014), revision 4311, ekolin
-Make sure that CM-Desktop can be installed by the Desktop Repository when using the Felix Resolver service.
-U   knopflerfish.org/trunk/KnopflerfishEclipseDictionary.txt
-U   knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-04-11 09:07:19 +0200 (Fri, 11 Apr 2014), revision 4310, ekolin
-The eol format was mixed, change to <CR><LF> on all lines
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-
-2014-03-19 13:25:40 +0100 (Wed, 19 Mar 2014), revision 4309, perg
-Made UserAdmin self-contained wrt kf log utility
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-25 16:00:35 +0100 (Tue, 25 Feb 2014), revision 4308, perg
-Changed spelling error sources to source
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2014-02-24 21:52:00 +0100 (Mon, 24 Feb 2014), revision 4307, perg
-Fixed bug in kf_metatype bundle and refactored handling of standardized and proprietary xml formats.
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/bundle/metatype/Activator.java
-A   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/KFLegacyMetaTypeParser.java
-A   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/OsgiMetaTypeXmlParser.java
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/SystemMetatypeProvider.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-20 13:40:39 +0100 (Thu, 20 Feb 2014), revision 4306, jan
-Fixed an IllegalStateException for factory components.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-14 21:46:06 +0100 (Fri, 14 Feb 2014), revision 4305, jan
-
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationStore.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-05 17:24:41 +0100 (Wed, 05 Feb 2014), revision 4304, ekolin
-Http 4.0.5; more fixes for handling of transfer encoding chunked.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 13:32:42 +0100 (Wed, 29 Jan 2014), revision 4303, ekolin
-Add missing ignore for generated file.
-_U  knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/resources/
-
-2014-01-29 12:04:57 +0100 (Wed, 29 Jan 2014), revision 4302, ekolin
-Rewrite unchunk code to simple read the number of bytes that the shunk shall contian, ignoring any CR or LF in the data.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 11:10:48 +0100 (Wed, 29 Jan 2014), revision 4301, perg
-Improvements to Repository Desktop and some minor fixes
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RequirementImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/ResourceImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 10:19:30 +0100 (Wed, 29 Jan 2014), revision 4300, ekolin
-Fix problem with decoding of chunked tranfer encoding in the Htt-Server.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-22 10:43:46 +0100 (Wed, 22 Jan 2014), revision 4298, jan
-Fixed bug with ConditionalPermissionUpdate.
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/condpermadmin_test/src/org/knopflerfish/bundle/condpermadmin_test/CondPermAdminTestSuite.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/JKSValidator.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-12 14:55:26 +0100 (Thu, 12 Dec 2013), revision 4296, perg
-Fixed spelling error: source -> sources
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 13:44:26 +0100 (Thu, 12 Dec 2013), revision 4295, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 13:42:21 +0100 (Thu, 12 Dec 2013), revision 4294, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-A   knopflerfish.org/trunk/tools/mvnrepo/mvnrepoindex2html.xsl
-
-2013-12-12 13:20:25 +0100 (Thu, 12 Dec 2013), revision 4293, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 12:47:13 +0100 (Thu, 12 Dec 2013), revision 4292, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 12:25:07 +0100 (Thu, 12 Dec 2013), revision 4291, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 12:21:20 +0100 (Thu, 12 Dec 2013), revision 4290, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 12:14:02 +0100 (Thu, 12 Dec 2013), revision 4289, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-11 10:32:25 +0100 (Wed, 11 Dec 2013), revision 4288, jan
-Fixed a bug that caused factory components to be falsely created or missed being created when we use target filters. Also added test-cases for this.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/DelayedComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/FactoryComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ImmediateComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Reference.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/build.xml
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/build.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/bundle.manifest
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/resources/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/resources/service.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentAImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentB1Impl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentB2Impl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentCImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentA.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentB.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentC.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-10 13:45:26 +0100 (Tue, 10 Dec 2013), revision 4287, perg
-Corrected bundle and package versions
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/packageinfo
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-09 14:56:08 +0100 (Mon, 09 Dec 2013), revision 4286, perg
-Improved support for Resolver in Repository Manager. Updated Repository console and desktop bundles to use the improved support. Embedded Resolver and Repository APIs in Repository Manager.
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-11-18 11:26:55 +0100 (Mon, 18 Nov 2013), revision 4285, perg
-Updated w/ Resolver related updates
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-11-16 00:14:56 +0100 (Sat, 16 Nov 2013), revision 4284, perg
-Added commented out line to install a resolver
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-
-2013-11-15 23:44:51 +0100 (Fri, 15 Nov 2013), revision 4283, perg
-Added support for Resolver Service 1.0
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java
-A   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/packageinfo
-
-2013-11-15 23:44:02 +0100 (Fri, 15 Nov 2013), revision 4282, perg
-Fix in equals impl
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java
-
-2013-10-24 14:49:23 +0200 (Thu, 24 Oct 2013), revision 4280, perg
-Updated release notes and set correct bundle version
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-24 14:34:07 +0200 (Thu, 24 Oct 2013), revision 4279, perg
-Updated changelog.txt
-U   knopflerfish.org/trunk/changelog.txt
-U   knopflerfish.org/trunk/osgi/bundles_opt/junit/osgi_ct_adapter/src/org/knopflerfish/bundle/osgi_ct_adapter/Activator.java
-
-2013-10-24 14:26:15 +0200 (Thu, 24 Oct 2013), revision 4278, perg
-Fixed parsing of Bundle-License
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/bundle.manifest
-
-2013-10-24 14:21:24 +0200 (Thu, 24 Oct 2013), revision 4277, perg
-Fixed parsing of Bundle-License
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/KnopflerfishExtentions.java
-A   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/Util.java
-
-2013-10-23 18:00:48 +0200 (Wed, 23 Oct 2013), revision 4276, jan
-Fixed a bug that caused problems when adding a CM configuration with a target filter to an unsatisfied component.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/resources/service.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/bundle/componentC_test/ComponentUImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/bundle/componentC_test/ComponentVImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/service/componentC_test/ComponentU.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/service/componentC_test/ComponentV.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-23 17:50:15 +0200 (Wed, 23 Oct 2013), revision 4275, jan
-Update framework documentation with some 5.0.0 changes.
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/resources/help.txt
-
-2013-10-23 10:17:09 +0200 (Wed, 23 Oct 2013), revision 4274, ekolin
-Switch to proguard 4.10
-U   knopflerfish.org/trunk/ant/build.xml
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2013-10-22 16:44:48 +0200 (Tue, 22 Oct 2013), revision 4273, ekolin
-Automatically download proguard from maven central.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2013-10-22 15:53:19 +0200 (Tue, 22 Oct 2013), revision 4272, ekolin
-Remove reference to OSGiR4v4.3
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-
-2013-10-22 13:40:10 +0200 (Tue, 22 Oct 2013), revision 4271, ekolin
-Fix another bundle repository link.
-U   knopflerfish.org/trunk/htdocs/html_templates/template.html
-
-2013-10-22 13:03:21 +0200 (Tue, 22 Oct 2013), revision 4270, ekolin
-Nightly builds should say maintenance release, not major release...
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-22 12:56:46 +0200 (Tue, 22 Oct 2013), revision 4269, ekolin
-Remove some warnings for the ant tasks. Fix link to Makewave logo in nightlybuilds page.
-U   knopflerfish.org/trunk/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java
-U   knopflerfish.org/trunk/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleInfoTask.java
-U   knopflerfish.org/trunk/tools/nightlybuild/snap_index.html.pre
-
-2013-10-21 21:06:51 +0200 (Mon, 21 Oct 2013), revision 4267, jan
-Post release 5.0.0 update
-U   knopflerfish.org/trunk/build.xml
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-21 21:01:35 +0200 (Mon, 21 Oct 2013), revision 4266, ekolin
-Fix href to the style sheet.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-10-21 21:01:14 +0200 (Mon, 21 Oct 2013), revision 4265, jan
-update version
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-10-21 20:57:21 +0200 (Mon, 21 Oct 2013), revision 4264, ekolin
-Bundle repository link should point to the new repository file.
-U   knopflerfish.org/trunk/htdocs/html_src/release_page.html.in
-
-2013-10-21 19:25:29 +0200 (Mon, 21 Oct 2013), revision 4261, ekolin
-Also search for the repoindex bundle in the direcotry to index.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-10-21 17:29:38 +0200 (Mon, 21 Oct 2013), revision 4260, ekolin
-
-U   knopflerfish.org/trunk/changelog.txt
-
-2013-10-21 17:02:56 +0200 (Mon, 21 Oct 2013), revision 4259, ekolin
-Merge of the KF-5 development branch.
diff --git a/docs/building.html b/docs/building.html
deleted file mode 100644
index e408610..0000000
--- a/docs/building.html
+++ /dev/null
@@ -1,239 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Building Knopflerfish OSGi"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Building"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Building</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Building Knopflerfish</h1>
-
-Knopflerfish includes an ant based build system for building a
-complete Knopflerfish distribution as well as building <a
-href="programming.html">individual bundles</a>. Ant 1.8 or later is
-required, available from <a
-href="http://ant.apache.org/">ant.apache.org</a>
-
-<p>
-Knopflerfish can be built either by 
- <a href="http://www.knopflerfish.org/svn_info.html">
-   checking out the entire source code
-</a>,
-or by (re)building an installed distribution.
-</p>
-
-<p>
- The top level build file is located in the <code>osgi</code>
- directory. The default target is to build the framework and all
- bundles in the bundles directory.
-</p>
-
-<p>
-Invoking ant with the -p option will display the possible targets.
-</p>
-
-<pre class="shell">
-$ ant -p
-Buildfile: build.xml
-
-Main targets:
-
- all                  Builds the framework and all bundles including optional and test bundles
- bundle_doc           Builds bundle specific docs
- bundle_tasks         Builds and defines the Knopflerfish bundle tasks
- clean                Removes all generated files and directories.
- clean_local          Remove all bundles built by this build-file but keep all other bundles
-                      in the jars sub-directory.
- default              Builds the framework and bundles in bundles-directory
- define_bundle_tasks  Defines the Knopflerfish bundle tasks
- javadoc              Create javadoc for all exported packages
- rebuild              Cleans then build build all
- run                  (Re)start the framework.
- run-init             Initial start with default set of bundles.
- run-kf-tests         Builds then executes the KF testsuite.
- run-kf-tests-secure  Builds then executes the KF testsuite with security enabled.
- run-secure           (Re)start framework with security enabled.
- run-secure-init      Initial start with security enabled and default set of bundles.
-Default target: default
-$ 
-</pre>
-
-<p>
-To add and build additional bundles see the <a
-href="programming.html">programming</a> section.
-</p>
-
-<h2 class="kf">Building a compact Knopflerfish framework</h2>
-
-You can build a compact version of the framework called
-<code>framework_compact.jar</code>. To build this you need to download
-<a href="http://proguard.sourceforge.net/">Proguard 4.10</a>.
-Install the proguard.jar file into ${KF_ROOT}/ant/lib and build
-the framework with the property <code>compact</code> set to
-<code>true</code>.
-<p>
-This a version with a reduced memory footprint. This version has
-no security and certificate support compiled into it. This is only
-supposed to be used for running and not to compile against. So you
-also need to compile the normal <code>framework.jar</code> to be able
-to build bundles.
-</p>
-<pre class="shell">
-$ ant -Dcompact=true -f framework/build.xml 
-Buildfile: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework/build.xml
-
-compile:
-
-compile_full:
-
-compile_compact:
-
-chkBundleTaskSrc:
-
-chkBundleTasksBuild:
-
-build_bundle_tasks:
-
-define_bundle_tasks:
-
-bundle_tasks:
-
-genexports:
-   [delete] Deleting: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework/resources/exports
-
-jar:
-   [delete] Deleting: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework/resources/version
-   [delete] Deleting: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework/resources/tstamp
-
-writerelease:
-
-jar_file_full:
-
-jar_file_compact:
-      [jar] Building jar: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework_compact.jar
-
-proguard_compact:
-     [move] Moving 1 file to /Users/jan/workspace_osgi5/kf_osgi5/osgi
- [proguard] ProGuard, version 4.10
- [proguard] Reading program jar [/Users/jan/workspace_osgi5/kf_osgi5/osgi/framework_compact.jar.tmp.jar]
- [proguard] Reading library jar [/Users/jan/workspace_osgi5/kf_osgi5/osgi/ee/ee.minimum.jar]
- [proguard] Preparing output jar [/Users/jan/workspace_osgi5/kf_osgi5/osgi/framework_compact.jar]
- [proguard]   Copying resources from program jar [/Users/jan/workspace_osgi5/kf_osgi5/osgi/framework_compact.jar.tmp.jar]
-   [delete] Deleting: /Users/jan/workspace_osgi5/kf_osgi5/osgi/framework_compact.jar.tmp.jar
-
-add_dex:
-
-source.jar:
-
-save_javadoc_data:
-
-javadoc.jar:
-
-all:
-
-BUILD SUCCESSFUL
-Total time: 14 seconds
-$ ls -l framework*jar
--rw-r--r--  1 jan  staff  617250 16 Okt 10:44 framework.jar
--rw-r--r--  1 jan  staff  323070 16 Okt 10:44 framework_compact.jar
-$ 
-</pre>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/bundledoc/bundledoc_list.html b/docs/bundledoc/bundledoc_list.html
deleted file mode 100644
index ba37ead..0000000
--- a/docs/bundledoc/bundledoc_list.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-
-  <head>
-    <LINK href="../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <LINK href="../css/kf_man.css" rel="stylesheet" type="text/css">
-
-    <style type="text/css">
-      BODY {
-        background: #fff;
-        margin-top:    5px;
-        margin-left:  10px;
-        margin-right: 10px;
-        font-size: 0.8125em;
-      }
-      H2 {
-        color:#802060;
-        font-size:13px;
-        font-weight:bold;
-        margin:6px 0px 6px 0px;	     
-        padding:6px 0px 6px 0px;
-        border-style:none;
-      }
-    </style>
-  </head>
-
-  <body>
-    <h2>Knopflerfish OSGi 5.1.0</h2>
-    <div id="man_leftmenu">
-    <dl class="leftmenu2">
-      <dt class="leftmenu2">Navigation</dt>
-      <dd class="leftmenu2"><a target="_top" href="../index.html">Knopflerfish Documentation</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="bundledoc_main.html">Bundle Doc Home</a></dd>
-    </dl>
-
-    <dl class="leftmenu2">
-      <dt class="leftmenu2">Knopflerfish Framework and Extension Bundles</dt>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="framework/index.html">Framework</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="frameworkcommands/index.html">Console Commands</a></dd>
-
-    </dl>
-
-    <dl class="leftmenu2">
-      <dt class="leftmenu2">Knopflerfish OSGi Bundles</dt>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="cm/index.html">Configuration Management</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="cm_cmd/index.html">Console Commands</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="device/index.html">Device Manager</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="event/index.html">Event Admin</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="http/index.html">HTTP Server</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="http/index.html#cmd-http">Console Commands</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="log/index.html">Log</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="logcommands/index.html">Console Commands</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="prefs/index.html">Prefs</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="repository_xml/index.html">Repository (XML)</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="component/index.html">SCR - Component</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="scrcommands/index.html">Console Commands</a></dd>
-
-    </dl>
-
-    <dl class="leftmenu2">
-      <dt class="leftmenu2">Knopflerfish Bundles</dt> 
-      <dd class="leftmenu2"><a target="bundledoc_main" href="console/index.html">Console</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="cm_cmd/index.html">CMD - Configuration</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="frameworkcommands/index.html">CMD - Framework</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="http/index.html#cmd-http">CMD - Http</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="logcommands/index.html">CMD - Log</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="repositorycommands/index.html">CMD - Repository</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="scrcommands/index.html">CMD - SCR</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="consoletcp/index.html">UI - TCP</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="consoletelnet/index.html">UI - Telnet</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="consoletty/index.html">UI - TTY</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="desktop/index.html">Desktop</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="cm_desktop/index.html">View - CM</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="repository_desktop/index.html">View - Repository</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="dirdeployer/index.html">Directory Deployer</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="trayicon_fw/index.html">Framework Tray Icon</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="httpconsole/index.html">Http Console</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="junit/index.html">JUnit</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="sslj2sp/index.html">SSL Provider — J2SP</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="serial/index.html">Serial Port Communication</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="util/index.html">Util</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="soap/index.html">SOAP - WebServices</a></dd>
-      <dd class="leftmenu2"><a target="bundledoc_main" href="xml_index/index.html">XML</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="crimson/index.html">Crimson</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="kxml/index.html">kXML</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="xalan/index.html">Xalan</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="xerces/index.html">Xerces</a></dd>
-      <dd class="leftmenu3"><a target="bundledoc_main" href="xml/index.html">xml</a></dd>
-
-    </dl>
-    </div>
-  </body>
-</html>
diff --git a/docs/bundledoc/cm/index.html b/docs/bundledoc/cm/index.html
deleted file mode 100644
index b29e9e9..0000000
--- a/docs/bundledoc/cm/index.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - cm, v5.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: cm
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.1
-      </div>
-      <h1 class="man">Configuration Management</h1>
-
-<div class="abstract">
-  The Configuration Management bundle implements the OSGi defined
-  <a  target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">
-    org.orgi.service.cm
-  </a>
-  package, a uniform way to manage
-  bundle configurations.
-</div>
-
-<h2 class="man">Description</h2>
-<p>
-  The Configuration Management bundle is designed to be a uniform way
-  to handle bundle configuration. It contains the
-  <a  target="_top" href="../../javadoc/index.html?org/osgi/service/cm/ManagedService.html">
-    ManagedService
-  </a>
-  interfaces to be   implemented by bundles that need configuration
-  data, and the
-  <a  target="_top" href="../../javadoc/index.html?org/osgi/service/cm/ConfigurationAdmin.html">
-    ConfigurationAdmin
-  </a>
-   service to be used by management bundles that modify configuration data.
-<p>
-  The ConfigurationAdmin interface is the main interface to the
-  Configuration Management component. It is the interface that is
-  registered as a service in the Service Registry and it has methods
-  for creating, retrieving, and listing configurations. The
-  implementation of this interface is responsible for the persistent
-  storage of configurations, and listens for registrations of
-  ManagedServices and ManagedServiceFactories in the Service Registry
-  and passes out configuration data, if available, when they appear.
-</p>
-<p>
-  The
-  <a href="../cm_cmd/index.html">cm_commands</a>,
-  bundle provides a console command group to Configuration Management.
-</p>
-<p>
-  The
-  <a href="../prefs/index.html">Preference Service</a>,
-  is an alternative method for storing configuration data but it lacks
-  the administrative functions the Configuration Management bundle
-  provides.
-</p>
-
-
-<h2 class="man"><a name="cm_data.dtd">Configuration data as XML files</a></h2>
-
-<p>
-
-  The Knopflerfish CM implementation provides a legacy XML DTD, <a
-  href="cm_data.dtd">cm_data.dtd</a>, that specifies one format for
-  storing configurations as XML-documents. The Java package <a
-  href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html"><tt>org.knopflerfish.shared.cm</tt></a>
-  contains helper classes for writing and reading this XML format.
-
-</p>
-
-<p>
-
-  The cm_data XML-format is used by the import and export commands
-  provided by the <a href="../cm_cmd/index.html">cm_commands</a>
-  console command bundle.  It is also supported by the <a
-  href="../dirdeployer/index.html">Directory Deployer</a> bundle and
-  by the Desktop plug-in bundle named <em>CM-Desktop</em>.
-
-</p>
-
-<p>
-  Limitations that are not specified <tt>cm_data.dtd</tt>: <ul>
-
-    <li>The mode attribute on configurations and factory
-        configurations is deprecated and not used. If present in the
-        XML-document set the value to "new" for ordinary configuration
-        and "update" for factory configuration instances.
-
-    <li>Properties with a value of type array must have an element
-        type that is either a primitive value or one of the types
-        defined by the TYPE entity. Make sure that the length
-        attribute on the array element is correct, otherwise the
-        parsing will fail with strange error messages.
-
-    <li>Properties with a value of type Vector must have all element
-        of the same type and that type must be one of the types
-        defined by the TYPE entity. Make sure that the length
-        attribute on the array element is correct, otherwise the
-        parsing will fail with strange error messages.
-
-  </ul>
-</p>
-
-
-
-<h2 class="man">Configuration properties</h2>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>com.gatespace.bundle.cm.store</td>
-    <td>
-
-	Path to a directory that CM will use for its persistent
-	storage. The default location when this property is un-set or
-	empty is a sub-directory named <tt>cm_store</tt> in the
-	bundles data-directory. This means that all configurations are
-	lost when the framework is restarted with the <tt>-init</tt>
-	option present (i.e., the framework property
-	<tt>org.osgi.framework.storage.clean</tt> set to <tt>true</tt>).
-
-	<p>Set this to a path pointing to some writable directory
-	outside the frameworks cache directory (<tt>fwdir</tt>) if
-	configuration data are to survive <tt>-init</tt> restarts.
-
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-</table>
-
-
-<h2 class="man">See Also</h2>
-<a href="../cm_cmd/index.html">cm_commands</a>,
-<a href="../prefs/index.html">prefs</a>,
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=cm/cm_all-5.0.1.html">cm_all-5.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=cm/cm_api-5.0.1.html">cm_api-5.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=cm/cm-5.0.1.html">cm-5.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=cm/cm_all-5.0.1.html">cm_all-5.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=cm/cm-5.0.1.html">cm-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td><td align="center">1.5.0</td><td><a target="_top" href="../../jars/index.html?bundle=cm/cm_all-5.0.1.html">cm_all-5.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/cm_cmd/index.html b/docs/bundledoc/cm_cmd/index.html
deleted file mode 100644
index 68df0ec..0000000
--- a/docs/bundledoc/cm_cmd/index.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - cm_cmd, v5.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: cm_cmd
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.1
-      </div>
-      <h1 class="man">CM Commands</h1>
-
-<div class="abstract">
-  Console command group for Configuration Management
-</div>
-
-<h2 class="man">Description</h2>
-
-<p>
-  The CM Commands bundle provides the <b>configuration</b> <a
-  href="../console/index.html"> console</a> command group.  The
-  command group defines a set of console commands available for
-  interacting with the Configuration Manager.  The list below gives a
-  short description of what the commands do, for complete details on
-  parameters, use help on each command in the console.
-</p>
-
-<p>
-  The Knopflerfish CM implementation provides a legacy XML DTD, <a
-  href="cm_data.dtd">cm_data.dtd</a>, that specifies one format for
-  storing configurations as XML-documents. The Java package
-  <tt>org.knopflerfish.shared.cm</tt> contains helper classes for
-  writing and reading this XML format.
-</p>
-
-<p>
-  The import and export commands works with XML-documents following
-  the <a href="../cm/cm_data.dtd">cm_data.dtd</a>. See <a
-  href="../cm/index.html#cm_data.dtd">cm</a> for a description of
-  this format.
-</p>
-
-
-  <pre class="code">
-Available configuration commands:
-  create [-help] [-f] <pid> [<template>] - Create a configuration and open it for editing.
-  current [-help] [-t] - Show the currently open configuration.
-  delete [-help] <selection> - Delete an existing configuration.
-  edit [-help] <selection> - Edit an existing configuration.
-  export [-help] <file>] [<selection>] ... - Export configurations in xml format to file.
-  import [-help] <url> - Import configuration data from xml file at url.
-  list [-help] [<selection>] ... - List the PIDs of existing configurations.
-  save [-help] [-force] - Save the currently open configuration in the CM.
-  set [-help] <property> <value> [<type>] - Set a property in the currently open configuration.
-  show [-help]  [-t] [<selection>] ... - Show the saved versions of configurations.
-  unset [-help] <property> - Remove a property from the currently open configuration.
-</pre>
-    
-
-<h2 class="man">Examples</h2>
-
-<p>The following lists the PIDs of all configurations in CM, then shows
-the configuration properties of the second configuration in the output
-of list (using the list index on the beginning of the line).</p>
-
-<pre class="code">
-<b>configuration> </b>list
-Available configurations:
-[0] org.knopflerfish.bundle.consoletelnet.TelnetServer
-[1] org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL
-[2] org.knopflerfish.bundle.http.factory.HttpServer.2
-<b>configuration> </b>show 1
-[1] org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL
- location: file:jars/consoletelnet/consoletelnet-4.0.1.jar
- change count: 11
- properties:
-  busywait= false
-  defaultPassword= admin
-  defaultUser= admin
-  forbiddenGroup= 
-  host= localhost
-  port= 2321
-  requiredGroup= 
-  service.pid= org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL
-  um= false
-<b>configuration> </b>
-</pre>
-
-<p>Now create a new targeted configuration that will use [1] above as
-template to initialize its properties. Then we change the port property
-and saves the edited configuration.</p>
-
-<pre class="code">
-<b>configuration> </b>create 'org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL|file:jars/consoletelnet/consoletelnet-4.0.1.jar' 1
-<b>configuration> </b>current -t
-[-] org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL|file:jars/consoletelnet/consoletelnet-4.0.1.jar
- location: -
- change count: 1
- properties:
-  busywait:Boolean= false
-  defaultPassword:String= admin
-  defaultUser:String= admin
-  forbiddenGroup:String= 
-  host:String= localhost
-  port:Short= 2321
-  requiredGroup:String= 
-  service.pid:String= org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL|file:jars/consoletelnet/consoletelnet-4.0.1.jar
-  um:Boolean= false
-<b>configuration> </b>set port 2322
-<b>configuration> </b>save
-<b>configuration> </b>l
-Available configurations:
-[0] org.knopflerfish.bundle.consoletelnet.TelnetServer
-[1] org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL
-[2] org.knopflerfish.bundle.consoletelnet.TelnetServer|org.knopflerfish.bundle.consoletelnet-IMPL|file:jars/consoletelnet/consoletelnet-4.0.1.jar
-[3] org.knopflerfish.bundle.http.factory.HttpServer.2
-<b>configuration> </b>
-</pre>
-
-
-<h2 class="man">See Also</h2>
-<a href="../cm/index.html">CM - Configuration Management</a>
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/cm_desktop/images/cm_desktop.png b/docs/bundledoc/cm_desktop/images/cm_desktop.png
deleted file mode 100644
index 24818af..0000000
Binary files a/docs/bundledoc/cm_desktop/images/cm_desktop.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/images/cm_desktop_300.png b/docs/bundledoc/cm_desktop/images/cm_desktop_300.png
deleted file mode 100644
index 1eb2327..0000000
Binary files a/docs/bundledoc/cm_desktop/images/cm_desktop_300.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle.png b/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle.png
deleted file mode 100644
index 586f32b..0000000
Binary files a/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle_300.png b/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle_300.png
deleted file mode 100644
index 057d298..0000000
Binary files a/docs/bundledoc/cm_desktop/images/cm_desktop_systembundle_300.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/images/frag.png b/docs/bundledoc/cm_desktop/images/frag.png
deleted file mode 100644
index 08f8c59..0000000
Binary files a/docs/bundledoc/cm_desktop/images/frag.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/images/lib.png b/docs/bundledoc/cm_desktop/images/lib.png
deleted file mode 100644
index 5ad3805..0000000
Binary files a/docs/bundledoc/cm_desktop/images/lib.png and /dev/null differ
diff --git a/docs/bundledoc/cm_desktop/index.html b/docs/bundledoc/cm_desktop/index.html
deleted file mode 100644
index c779df5..0000000
--- a/docs/bundledoc/cm_desktop/index.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - cm_desktop, v5.0.2</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: cm_desktop
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.2
-      </div>
-      <h1 class="man">The Knopflerfish Desktop CM plug-in</h1>
-<div class="abstract">
-  The Knopflerfish OSGi Desktop CM plug-in provides a bundle detail
-  view for managing OSGi configurations.
-</div>
-
-
-<h2 class="man">Description</h2>
-<div style="float:right">
-  <a href="images/cm_desktop.png">
-    <img src="images/cm_desktop_300.png" width="300" height="244">
-  </a>
-</div>
-
-  <p>The Knopflerfish OSGi Desktop CM plug-in provides a bundle detail
-  view for managing OSGi configurations. It support common operations
-  as create, update and delete for CM configurations. It can also
-  import and export configurations using the <a
-  href="../cm/cm_data.dtd">cm_data.dtd</a> XML document format.</p>
-
-<h3 class="man">The CM-desktop view</h3>
-
-  <p>The view presents configurations with associated metatype
-  information for the selected bundle. In the top part of the view
-  there will be two selectors, selecting which PID (configuration) to
-  show. The upper selector selects amongst PIDs with accompanying
-  metatype data (OCD, Object Class Definition) defining the set of
-  properties (AD Attribute Definitions) that may be configured for the
-  PID. The second selector selects Factory PIDs (configurations). For
-  more information on metatype see chapter 105 in the OSGi Compendium
-  Specification.</p>
-
-  <p>The main part of the view shows one configuration with inputs for
-  all the properties defined for it in its metatype description. On
-  top there are controls for the CRUD-operations and if it is a
-  factory PID that was selected there will be a drop down for
-  selecting the instance of the factory PID to view and work with.</p>
-
-  <p>A configuration instance can be targeted to a specific bundle by
-  appending the actual PID with a target specification. It is possible
-  to target configuration instances on
-  <ul>
-    <li>Bundle symbolic name.
-    <li>Bundles symbolic name and version.
-    <li>Bundles symbolic name, version and location.
-  </ul> Controls for selecting the target level are available in the
-  upper par of the main view.</p>
-
-
-
-<div style="clear:both"></div>
-<h3 class="man">Special presentations</h3>
-
-<div style="float:right">
-  <a href="images/cm_desktop_systembundle.png">
-    <img src="images/cm_desktop_systembundle_300.png" width="300" height="244">
-  </a>
-</div>
-
-  <p>If the system bundle is the selected bundle then this displayer
-  will show the union of all PIDs defined by metatype information in
-  all installed bundles.</p>
-
-  <p>If the CM bundle is selected and the kf-metatype bundle is the
-  provider of the MetaTypeService then this view will show all
-  configurations present in CM. In this case metatype information is
-  generated from the actual configuration data so it will not be as
-  precise as the one obtained from metatype information in a bundle.
-
-  <p>If no bundle is selected (or a bundle without any meta type
-  information) then the view will display a page that informs about
-  these special presentations, a list of all bundles with meta type
-  information and an <em>Import...</em> button that will present a
-  dialog for importing <a href="../cm/cm_data.dtd">cm_data.dtd</a> XML
-  documents.</p>
-
-
-
-<div style="clear:both"></div>
-<h3 class="man">The CM-desktop dependencies</h3>
-
-  <p>The CM-Desktop needs the metatype API and an implementation of the
-  MetaTypeService to work. These are provided by the
-  <em>metatype</em>-bundle and the <em>kf_metatype</em> bundle.
-
-<div style="clear:both"></div>
-<h2 class="man">Configuration properties</h2>
-
-The CM-Desktop bundles does not support any properties for configuration.
-
-<!--
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.bundle.log.window.impl.LogTableModel.capacity</td>
-    <td>
-
-	The maximum number of log entries to keep in memory in one log
-	view. Use a negative value (i.e., a value smaller than 1) to
-	indicate that old entries shall never be removed.
-
-    </td>
-    <td>int</td>
-    <td>342</td>
-  </tr>
-</table>
--->
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a><br>
-<a target="_top" href="../../jars/index.html?bundle=cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/component/index.html b/docs/bundledoc/component/index.html
deleted file mode 100644
index c3fea1e..0000000
--- a/docs/bundledoc/component/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - component, v5.0.3</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: component
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.3
-      </div>
-      <h1 class="man">SCR</h1>
-
-<div class="abstract">
-Implementation of the Service Component Runtime.<br> I.e., the extender
-that processes bundles using Declarative Services.
-</div>
-
-<!--
-<h3 class="man">Configuration using Framework Properties</h3>
-
-<table class="man">
-  <tr>
-    <th class="man">Name</th>
-    <th>Description</th>
-    <th>Type</th>
-    <th>Default</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.component.xx</td>
-    <td>
-
-      Description
-
-    </td>
-    <td></td>
-    <td></td>
-  </tr>
-</table>
--->
-
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=component/component_all-5.0.3.html">component_all-5.0.3</a><br>
-<a target="_top" href="../../jars/index.html?bundle=component/component_api-5.0.3.html">component_api-5.0.3</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td><td align="center">1.6.0</td><td><a target="_top" href="../../jars/index.html?bundle=component/component_all-5.0.3.html">component_all-5.0.3</a>, <a target="_top" href="../../jars/index.html?bundle=component/component_api-5.0.3.html">component_api-5.0.3</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td><td align="center">1.2.1</td><td><a target="_top" href="../../jars/index.html?bundle=component/component_all-5.0.3.html">component_all-5.0.3</a>, <a target="_top" href="../../jars/index.html?bundle=component/component_api-5.0.3.html">component_api-5.0.3</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/console/index.html b/docs/bundledoc/console/index.html
deleted file mode 100644
index 2990436..0000000
--- a/docs/bundledoc/console/index.html
+++ /dev/null
@@ -1,376 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - console, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: console
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Console</h1>
-<div class="abstract">
-  The Knopflerfish console bundle
-</div>
-
-<h2 class="man">Description</h2>
-<h3 class="man">Introduction</h3>
-   The user's guide contains information about the console interfaces,
-   the command group concept and reference documentation for the
-   console's built in commands.
-
-<h3 class="man"> Terminology </h3>
-
-   Terms, acronyms and syntax of console commands.
-
-<dl>
-<dt>   command group
-<dd>          A set of commands exported to the console from some bundle.
-
-<dt>   EOF
-<dd>          End Of File, close of console input.
-
-<dt>   session
-<dd>          What you are in when communicating with the console
-
-<dt>   session group
-<dd>          The command group for the console built in commands.
-</dl>
-
-<h3 class="man"> Syntax Elements </h3>
-
-<dl>
-<dt>   []
-<dd>          Delimiters for optional parts of a command and optional
-          parameters.
-
-<dt>   |
-<dd>          To indicate alternate parameters.
-
-<dt>   ...
-<dd>          More parameters, same type as the previous one.
-
-<dt>   #value#
-<dd>          Parameter to a flag.
-
-<dt>   " "
-<dd>          Double quotes. Used to contain parameters that have blanks in
-          them.
-
-<dt>   <parameter>
-<dd>          Command parameter to be replaced with data.
-</dl>
-
-<h3 class="man"> Console Interfaces</h3>
-
-   The console bundle is not very useful on its own; it needs other
-   bundles to supply the commands and also at least one bundle supplying
-   a user interface. The console uses the CommandGroup service of the
-   command supplying bundles to access commands. A console user interface
-   bundle uses the ConsoleService service of the console bundle to
-   execute commands ordered by the user.
-<p>
-   The console bundle actually has some built in commands that can be
-   used for administrative tasks, that is, managing the user session.
-   These are the commands in the command group session.
-<p>
-   The following bundles implement user interfaces:
-
-   consoletty
-          Basic tty console, available in the terminal window where the
-          platform is started.
-
-   consoletelnet
-          Basic telnet console, listens on a port using the telnet protocol.
-
-<h3 class="man"> General Command Structure and Behavior</h3>
-
-   The general command format is built of:
-<pre>
-<command group> <command> [<flag [#parameter#]> ...] [<parameter> ...]
-</pre>
-   First is the command group (all commands must belong to a command
-   group), then the command. After the command is zero, one or more flags
-   with possible additional parameters and finally zero, one or more
-   parameters. See chapter [2]Terminology on page 1 for explanations of
-   delimiters.
-<p>
-   Note: To avoid having negative numbers interpreted as flags, negative
-   numbers are to be written with double hyphens (as --n).
-<p>
-   At start-up, the console is in the initial state. When entering a
-   command the command line must begin with the command group's name, as
-   described above. However, the session can enter a group with the
-   session enter command. After entering a command group, commands of
-   that group are executed without the group name as prefix. The session
-   leave command leaves the current group and the session is back in its
-   initial state.
-<p>
-   Commands from other groups than the current group can be executed by
-   prefixing the command with a slash ("/"). For example, the following
-   would execute the shutdown command from the framework command group,
-   regardless of the session's current group.
-  /framework shutdown
-<p>
-   Normally, command groups and commands may be shortened as long as they
-   are unambiguously identifiable. As an example, in command group
-   session, the command alias may be shortened to a as it is the only
-   command that starts with the letter a.
-<p>
-
-<h3 class="man"> Session Commands</h3>
-
-   This is the command group for the console's built in administrative
-   commands. It contains commands for managing a session.
-<p>
-   All of the session commands have aliases to make them quick to enter
-   regardless of the current command group. For example, /session help
-   has the alias help. In all the examples below, the alias versions of
-   the session commands are used.
-<p>
-   The commands in the session command group are:
-<pre>
-     * alias [<alias>] [<val>] ...
-     * enter <command group>
-     * help
-     * leave
-     * prompt <prompt>
-     * quit
-     * save
-     * unalias <alias name>
-</pre>
-
-<h3 class="man">Command Details</h3>
-
-   Detailed description of all session commands in alphabetical order.
-
-<h4>alias</h4>
-
-   To set or show aliases.
-<pre>
-  alias [<alias>] [<value>] ...
-
-   The command without any parameters prints a list of all existing
-   aliases:
-  > alias
-  start = /framework start
-  install = /framework install
-  prompt = /session prompt
-  lsb = /framework bundles
-  fw = /session enter framework
-  log = /log show
-  help = /session help
-  quit = /session quit
-  lss = /framework services
-  alias = /session alias
-  unalias = /session unalias
-  enter = /session enter
-  stop = /framework stop
-  bundles = /framework bundles
-  leave = /session leave
-  >
-</pre>
-   With parameters it sets an alias to the specified value. If the alias
-   exists, the old value is replaced with the new. With one parameter the
-   value of that alias is shown.
-
-<h4>enter </h4>
-
-   Enter a command group, in effect automatically prefix all commands
-   with the name of the command group. This makes it possible to use the
-   short names of the group's commands.
-<pre>
-  enter <command group>
-</pre>
-
-   The result is that the prompter is prefixed with the command group and
-   all the commands in the command group are available in short form.
-   Example: Entering a command group
-<pre>
-  > enter framework
-  framework> help
-  Available framework commands:
-    bundles [-help] [-1] [-i] [-l] [<bundle>] ... - List bundles
-    call [-help] <interface> <method> [<args>] ...
-      - Call a method in a registered service
-    headers [-help] <bundle> ... - Show bundle header values
-    package [-help] <package> ... - Show java package information
-    install [-help] [-s] <location> ... - Install one or more bundles
-    services [-help] [-i] [-l] [-r] [-s] [-u] [<bundle>] ...
-      - List registered services
-    start [-help] <bundle> ... - Start one or more bundles
-    stop [-help] <bundle> ... - Stop one or more bundles
-    shutdown [-help] [<exit code>] - Shutdown framework
-    uninstall [-help] >bundle> ... - Uninstall one or more bundles
-    update [-help] [-r] <bundle> ... - Update one or more bundles
-</pre>
-
-   It is only possible to be in one command group at a given moment. By
-   adding a slash ("/") to the group name, commands in other gruops can
-   be accessed.
-
-<h4>help</h4>
-
-   Show help information about commands and command groups.
-<pre>
-  help [<command group> | all]
-</pre>
-   Lists the commands available in the specified command group, each with
-   a short description. If no command group is specified, help for the
-   current group is displayed.
-
-   In the initial state, or if the parameter all is supplied, help shows
-   the available command groups.
-   Example: Display available command groups
-<pre>
-  > help
-  Available command groups:
-  session - Session commands built into the console
-  logconfig - Configuration commands for the log.
-  log - Log commands
-  framework - Framework commands
-  >
-</pre>
-   Note that this list can be longer as any installed bundle can export
-   its own commands.
-
-<h4>leave</h4>
-
-   Leave a command group, that is, go back to the initial state (no
-   current command group).
-<pre>
-  leave
-</pre>
-   Example: Leave the current command group
-<pre>
-  framework> leave
-  >
-</pre>
-   Note that leave only goes to the initial state, it does not go to the
-   previous command group, if any.
-
-<h4>prompt</h4>
-
-   Set the command prompter.
-<pre>
-  prompt <command prompt>
-</pre>
-   If the command group is to be visible in the prompt, a percent
-   character ("%") should be included in the prompt string. At printout,
-   the % character will be replaced by the command group name.
-   Example: Changing the prompter
-<pre>
-  > prompt "%test >"
-  test >
-  enter framework
-  frameworktest >
-</pre>
-
-<h4>quit</h4>
-
-   Exit the session.
-<pre>
-  quit
-</pre>
-   The console exits and loses contact with standard in.
-
-<h4> save</h4>
-
-   This command saves the current aliases to persistent memory. The
-   aliases are read next time the platform is started.
-  save
-
-<h4> unalias</h4>
-
-   This command removes an alias.
-<pre>
-  unalias
-</pre>
-   Example: Creating and removing an alias
-<pre>
-  > alias more less
-  > unalias more
-</pre>
-
-<h3 class="man"> Interface consoletty</h3>
-
-   The consoletty bundle allows local console access to the platform
-   without the use of the http server.
-<p>
-   If the platform starts the consoletty, it will use the text window the
-   platform was started from.
-
-<h3 class="man"> Interface consoletcp</h3>
-
-   To allow remote console access to the platform without the use of the
-   http server, the consoletcp bundle listens to a port on the platform.
-   See [[3]1] information regarding the port number.
-
-   Depending on configuration, the TCP console will require that the user
-   logs in before creating a console session. See [[4]1] for more
-   information.
-
-   The user name/password authentication method is used for
-   authentication. The Input Path is set to "tcp" and the Auhtentication
-   Method is set to "passwd".
-
-   The commands and their formats are the same as for the consoletty. To
-   access it in a simple way, use telnet.
-   Example: Using telnet and consoletcp
-<pre>
-> telnet demo.gatespace.se 8999
-Trying 127.0.0.1...
-Connected to localhost.localdomain.
-Escape character is '^]'.
-> help
-Available command groups:
-session - Session commands built into the console
-osgilog - Log commands
-messenger - Messenger route configuration commands.
-logconfig - Configuration commands for the log.
-framework - Framework commands
-
->
-</pre>
-
-<h3 class="man"> Environmental influences</h3>
-
-   Due to the fact that console windows may be opened in many different
-   environments that have different capabilities, the console may seem to
-   behave different.
-
-   One example is the occurence of a "command history" in some
-   environments. This capability is however supplied by the window
-   manager "locally", the console does not have any command history
-   capability.
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=console/console_all-4.0.1.html">console_all-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=console/console_api-4.0.1.html">console_api-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=console/console-4.0.1.html">console-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td><td align="center">2.1.2</td><td><a target="_top" href="../../jars/index.html?bundle=console/console_all-4.0.1.html">console_all-4.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=console/console_api-4.0.1.html">console_api-4.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/consoletcp/index.html b/docs/bundledoc/consoletcp/index.html
deleted file mode 100644
index d91c4b8..0000000
--- a/docs/bundledoc/consoletcp/index.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - consoletcp, v5.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: consoletcp
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.0
-      </div>
-      <h1 class="man">Console TCP</h1>
-<div class="abstract">
-  This bundle provides a tcp server that acts as a user interface
-  to the KF console
-</div>
-<h2 class="man">Description</h2>
-
-<p>
-
-The Console TCP bundle is a tcp server that makes Knopflerfish console
-commands available to the end user. Any tcp client can be used to
-connect to it.
-
-<p>
-This bundle is typically used during development.
-
-
-<h3 class="man">Configuration using the Configuration Manager</h3>
-
-The tcp console bundle accepts a configuration with the PID
-<pre>
-  org.knopflerfish.bundle.consoletcp.ConsoleTcp
-</pre>
-
-and with the following properties:
-
-<dl>
-
-<dt>host</dt>
-<dd>Host name (IP address) of the interface to listen for tcp
-    connections to the console on.</dd>
-
-<dt>port</dt>
-<dd>Port to listen for tcp connections to the console on.</dd>
-
-<dt>um</dt>
-<dd>If set to true User Management is required. I.e., if there is no
-    UserAdmin service in the system login will be denied. When set to
-    false and there is no UserAdmin service then the default
-    user/password will be used.</dd>
-
-<dt>requiredGroup</dt>
-<dd>When UserAdmin is used the user must belong to this group to be
-    allowed to log in.</dd>
-
-<dt>forbiddenGroup</dt>
-<dd>When UserAdmin is used the user must NOT belong to this group to be allowed to log in.</dd>
-
-<dt>useTimeout</dt>
-<dd>Enable/disable setting of SO_TIMEOUT for the client socket.</dd>
-
-<dt>exitOnLogout</dt>
-<dd>Indicates if the session should be closed if the user logs out. If
-    this is not set to true, the session will be kept open, but no
-    Authorization object will be present and hence the user will have
-    no special rights.</dd>
-
-<dt>defaultUser</dt>
-<dd>The only user name that is accepted when no UserAdmin service is
-    available.</dd>
-
-<dt>defaultPassword</dt>
-<dd>The password to accept when no UserAdmin service is
-    available.</dd>
-
-</dl>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/consoletelnet/index.html b/docs/bundledoc/consoletelnet/index.html
deleted file mode 100644
index 760178e..0000000
--- a/docs/bundledoc/consoletelnet/index.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - consoletelnet, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: consoletelnet
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Console Telnet</h1>
-<div class="abstract">
-  This bundle provides a telnet server that acts as a user interface
-  to the KF console
-</div>
-<h2 class="man">Description</h2>
-
-<p>
-The Console Telnet bundle is a telnet server that makes Knopflerfish
-console commands available to the end user. Any telnet client can be
-used to connect to it.
-
-<p>
-This bundle is typically used during development.
-
-
-
-<h2 class="man">Configuration properties</h2>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.consoletelnet.user</td>
-    <td>
-
-	User login name for remote access.
-
-    </td>
-    <td>String</td>
-    <td>admin</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.consoletelnet.pwd</td>
-    <td>
-
-	Password for the user login name configured using the property
-	<tt>org.knopflerfish.consoletelnet.user</tt> described above.
-
-    </td>
-    <td>String</td>
-    <td>admin</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.consoletelnet.port</td>
-    <td>
-
-	Port number that the telnet server will listen on.
-
-    </td>
-    <td>int</td>
-    <td>23</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.consoletelnet.host</td>
-    <td>
-
-	Host (IP interface name) to open the telnet server socket
-	on. An empty string means all available interfaces.
-
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.consoletelnet.busywait</td>
-    <td>
-
-	If set to true use a busy-loop polling for characters from the
-	input stream. If false the reading thread will hang on the
-	read-operation until data becomes available.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-
-</table>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/consoletty/index.html b/docs/bundledoc/consoletty/index.html
deleted file mode 100644
index da9b7da..0000000
--- a/docs/bundledoc/consoletty/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - consoletty, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: consoletty
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Console TTY</h1>
-<div class="abstract">
-  This bundle provides a console session on standard input for the JRE.
-</div>
-<h2 class="man">Description</h2>
-
-<p>
-
-The Console TTY bundle provides a tty console session on top of
-System.in and System.out (the standard input / output of the JVM).
-
-<p>
-This bundle is typically used during development.
-
-
-<h3 class="man">Configuration using the Configuration Manager</h3>
-
-The tty console bundle accepts a configuration with the PID
-<pre>
-  org.knopflerfish.bundle.consoletty.ConsoleTty
-</pre>
-
-and with the following properties:
-
-<dl>
-
-<dt>nonblocking</dt>
-<dd>Use non-blocking tty access. Some JVM-OS combinations cannot
-    handle blocking access to standard input.</dd>
-
-</dl>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/crimson/index.html b/docs/bundledoc/crimson/index.html
deleted file mode 100644
index af6bc24..0000000
--- a/docs/bundledoc/crimson/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - crimson, v2.1.0.kf4-001</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: crimson
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 2.1.0.kf4-001
-      </div>
-      <h1 class="man">Crimson XML parser</h1>
-
-<div class="abstract">
-<p>
-  The Crimson XML parser
-</div>
-
-<h2 class="man">Crimson-XML</a></h2>
-<p>
-The Crimson-XML bundle is a wrapper for the Crimson XML parser and is
-primary older Java versions that does not provide built-in XML
-parsing.  
-</p><p>
-xTo enable the Java 6 parsers the Crimson XML parser bundle must not be  
-installed, or started. This is easiest done by commenting out the  
-Crimson XML bundle in the init.xargs file.
-</p>
-
-
- 
-
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?javax/xml/parsers/package-summary.html">javax.xml.parsers</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
- <tr><td>org.apache.crimson.jaxp</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
- <tr><td>org.w3c.dom</td><td align="center">2.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
- <tr><td>org.xml.sax</td><td align="center">2.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
- <tr><td>org.xml.sax.ext</td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
- <tr><td>org.xml.sax.helpers</td><td align="center">2.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/desktop/images/bundle.png b/docs/bundledoc/desktop/images/bundle.png
deleted file mode 100644
index e0eb8cd..0000000
Binary files a/docs/bundledoc/desktop/images/bundle.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/bundle_active.png b/docs/bundledoc/desktop/images/bundle_active.png
deleted file mode 100644
index aba7c57..0000000
Binary files a/docs/bundledoc/desktop/images/bundle_active.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/desktop_details.png b/docs/bundledoc/desktop/images/desktop_details.png
deleted file mode 100644
index fc445f2..0000000
Binary files a/docs/bundledoc/desktop/images/desktop_details.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/desktop_graph.png b/docs/bundledoc/desktop/images/desktop_graph.png
deleted file mode 100644
index 81f5838..0000000
Binary files a/docs/bundledoc/desktop/images/desktop_graph.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/desktop_icons.png b/docs/bundledoc/desktop/images/desktop_icons.png
deleted file mode 100644
index 013343e..0000000
Binary files a/docs/bundledoc/desktop/images/desktop_icons.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/desktop_main.png b/docs/bundledoc/desktop/images/desktop_main.png
deleted file mode 100644
index f493949..0000000
Binary files a/docs/bundledoc/desktop/images/desktop_main.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/desktop_main_300.png b/docs/bundledoc/desktop/images/desktop_main_300.png
deleted file mode 100644
index e73d851..0000000
Binary files a/docs/bundledoc/desktop/images/desktop_main_300.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/frag.png b/docs/bundledoc/desktop/images/frag.png
deleted file mode 100644
index 08f8c59..0000000
Binary files a/docs/bundledoc/desktop/images/frag.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/lib.png b/docs/bundledoc/desktop/images/lib.png
deleted file mode 100644
index 51588e7..0000000
Binary files a/docs/bundledoc/desktop/images/lib.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/lib_resolved.png b/docs/bundledoc/desktop/images/lib_resolved.png
deleted file mode 100644
index bc4c856..0000000
Binary files a/docs/bundledoc/desktop/images/lib_resolved.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/scr.png b/docs/bundledoc/desktop/images/scr.png
deleted file mode 100644
index e2dc562..0000000
Binary files a/docs/bundledoc/desktop/images/scr.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/scr_active.png b/docs/bundledoc/desktop/images/scr_active.png
deleted file mode 100644
index 43ddd06..0000000
Binary files a/docs/bundledoc/desktop/images/scr_active.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/images/scr_resolved.png b/docs/bundledoc/desktop/images/scr_resolved.png
deleted file mode 100644
index 4ea2d09..0000000
Binary files a/docs/bundledoc/desktop/images/scr_resolved.png and /dev/null differ
diff --git a/docs/bundledoc/desktop/index.html b/docs/bundledoc/desktop/index.html
deleted file mode 100644
index f5ab647..0000000
--- a/docs/bundledoc/desktop/index.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - desktop, v5.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: desktop
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.1
-      </div>
-      <h1 class="man">The Knopflerfish Desktop</h1>
-
-<div class="abstract">
-  The Knopflerfish OSGi Desktop displays a graphical overview of the OSGi
-  framework.
-</div>
-
-
-<h2 class="man">Description</h2>
-<div style="float:right">
-  <a href="images/desktop_main.png">
-    <img src="images/desktop_main_300.png" width="300" height="201">
-  </a>
-</div>
-
-  <p>The Knopflerfish OSGi Desktop displays a graphical overview of
-  the OSGi framework. Most common operations as install, start, stop
-  and update can be performed on bundles using the
-  desktop. Additionally, bundle and service detail information is
-  shown, and an experimental "Save deploy archive" is included.</p>
-
-  <p>The desktop is a standard OSGi bundle, using Swing. The desktop
-  is primarily designed to manage a locally running framework, but can
-  be used to control a remote framework, using the optional <a
-  href="../soap/index.html">SOAP bundles</a>.  Consult the description
-  of <a href="../remotefw/index.html">how to activate the "Remote
-  framework..." menu item</a>.</p>
-
-  <p>Additionally, the <a href="../httpconsole/index.html">HTTP
-  console</a> or the <a href="../consoletelnet/index.html">Telnet
-  console</a> bundle can always be used for remote control. Both are
-  available in the <a href="http://www.knopflerfish.org/repo/">KF
-  bundle repository</a>.  </p>
-
-  <p>The desktop can be customized using plug-in services, see <a
-     target="_top"
-     href="../../javadoc/index.html?org/knopflerfish/service/desktop/SwingBundleDisplayer.html">
-     SwingBundleDisplayer</a> for details.</p>
-
-<div style="clear:both"></div>
-
-
-<h3 class="man">The desktop main areas</h3>
-
-<p>
-  When started, it creates a window with four main areas:
-  <dl>
-    <dt>Toolbar
-      <dd>The top toolbar provides quick access to common operations
-	as start/stop/update bundles.
-      </dd>
-    <dt>Bundle view</dt>
-    <dd>
-      The center bundle view area display all installed bundles
-      and their states. By clicking on bundles in this are,
-      detail information is displayed in the <b>Bundle detail area</b>
-      Three different views a supported internally (new can be installed):
-      <ul>
-	<li><a href="#view_icons">Icons</a> - each bundle is displayed as an icon.
-	<li><a href="#view_graph">Graph</a> - each bundle is displayed in a really cool graphics view.
-	<li><a href="#view_details">Details</a> - each bundle is displayed as a table row.
-      </ul>
-	</dd>
-    <dt>Bundle detail area</dt>
-    <dd>
-      The rightmost bundle detail area shows detailed
-      information on various aspects of the selected bundles such as:
-      <ul>
-	<li>Manifest</li>
-	<li>Bundle closure</li>
-	<li>Services, i.e imported/exported services</li>
-	<li>Capabilities and wires, i.e. provided and required capabilites</li>
-	<li>SCR, i.e. declarative service components</li>
-	<li>Log, i.e. bundle logs</li>
-	<li>Events</li>
-	<li>Prefs, i.e. bundle preferences</li>
-      </ul>
-      New detail pages can be installed run-time using plug-ins.
-    </dd>
-    <dt>Framework console</dt>
-    <dd>
-      The bottom console area allows interaction with the
-      text console. This console acts exactly as
-      the <a href="../console/index.html">consoltty</a> bundle, but
-      does not require a shell or DOS window to run. 
-    </dd>
-  </dl>
-<p>
-
-  
-<h3 class="man"><a name="view_icons">Icon view</a></h3>
-
-<p>To view the installed bundles as icons, select</p>
-<pre>
-View -> Icons
-</pre>
-
-<div style="float:left">
-  <img src="images/desktop_icons.png" width="403" height="489">
-</div>
-
-<table class="man">
-  <tr>
-    <td><img src="images/bundle.png"></td>
-    <td>Bundle which has a BundleActivator</td>
-  </tr>
-  <tr>
-    <td><img src="images/bundle_active.png"></td>
-    <td>Active bundle</td>
-  </tr>
-  <tr>
-    <td><img src="images/lib.png"></td>
-    <td>"Library" bundle which has no BundleActivator</td>
-  </tr>
-  <tr>
-    <td><img src="images/lib_resolved.png"></td>
-    <td>Resolved "Library" bundle</td>
-  </tr>
-  <tr>
-  <tr>
-    <td><img src="images/scr.png"></td>
-    <td>Bundle using declarative services (SCR)</td>
-  </tr>
-  <tr>
-    <td><img src="images/scr_resolved.png"></td>
-    <td>Resolved declarative services bundle</td>
-  </tr>
-  <tr>
-  <tr>
-    <td><img src="images/scr_active.png"></td>
-    <td>Active declarative services bundle</td>
-  </tr>
-  <tr>
-  <tr>
-    <td><img src="images/frag.png"></td>
-    <td>Fragment bundle.</td>
-  </tr>
-  <tr>
-    <td> </td>
-    <td>
-
-      <p>A bundle may provide its own icon by listing it in the
-      manifest attribute <tt>Bundle-Icon:</tt>. See the OSGi Core
-      specification R4 v4.3 for details on this.</p>
-
-      <p>Example of bundles providing their own icon are: "System
-      Bundle", "Log Service", "cm" and "Console".</p>
-    
-    </td>
-
-  </tr>
-</table>
-<div style="clear:both"></div>
-
-<p>
-Bundles can be selected by clicking.
-</p>
-
-
-<h3 class="man"><a name="view_details">Detail list view</a></h3>
-
-  <p>To view the installed bundles as a detailed list, select</p>
-<pre>
-  View -> Details
-</pre>
-
-  <img src="images/desktop_details.png" width="825" height="431">
-
-  <p>Bundles can be selected by clicking.</p>
-
-
-
-<h3 class="man"><a name="view_graph">Graph View view</a></h3>
-
-  <div style="float:right">
-    <img src="images/desktop_graph.png" width="800" height="462">
-  </div>
-
-  <p>To view the installed bundles as graphics, select</p>
-<pre>
-View -> Graph
-</pre>
-
-
-  <p>The top left corner shows the bundle id and name of the currently
-  selected bundle.</p>
-
-  <p>The lower left corner shows a bundle selection
-  history. Double-click on any of those bundles to re-select it.</p>
-
-  <p>The left hand side of the view shows package dependencies. Lines
-  below the horizon are packages that the bundle imports and lines
-  above the horizon are the packages that the bundle exports to
-  another bundle. There is one export-line for each bundle that
-  imports the package. Holding the mouse pointer over a package-line
-  will pop-up a tool tip with the name and version of the
-  package. Holding the mouse pointer over the end of a package line
-  will pop-up a tool-tip showing the bundle that the package was
-  imported from or exported to. Click on the end of a package line to
-  select the bundle associated with it (that bundle will be
-  highlighted every where it occurs in the graph), double-click to
-  center the graph on the selected bundle. Above each export
-  package line a mini-graph showing the exports of the bundle
-  importing the package is drawn.</p>
-
-
-  <p>The right hand side of the view shows service dependencies. Lines
-  below the horizon are services that the bundle uses (imports) and
-  lines above the horizon are the services that the bundle provides
-  (exports) to another bundle. There is one export-line for each
-  bundle that uses a registered service. Holding the mouse pointer
-  over a service-line will pop-up a tool tip with the service id and
-  object-class of the service it represents. Holding the mouse pointer
-  over the end of a service line will pop-up a tool-tip showing the
-  bundle that the service was imported from or exported to. Click on
-  the end of a service line to select the bundle associated with it
-  (that bundle will be highlighted every where it occurs in the
-  graph), double-click to center the graph on the selected bundle.
-  Above each export service line is a mini-graph showing the services
-  provided by the bundle using the service that the line
-  represents.</p>
-
-  <p>The transparent blue half-circle below (or above) the selected
-  bundle is a scroll-bar that scrolls the package/service lines. Drag
-  the mouse horizontally, starting in side the half circle, to
-  scroll.</p>
-
-<div style="clear:both"></div>
-
-
-
-<h2 class="man">Configuration properties</h2>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.bundle.log.window.impl.LogTableModel.capacity</td>
-    <td>
-
-	The maximum number of log entries to keep in memory in one log
-	view. Use a negative value (i.e., a value smaller than 1) to
-	indicate that old entries shall never be removed.
-
-    </td>
-    <td>int</td>
-    <td>342</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.desktop.display.large_icons.sort</td>
-    <td>
-
-	The sort order to use for icons in the "Large Icons" bundle
-	displayer. Supported values are:
-	<dl>
-	  <dt><code>id</code></dt>          <dd>Bundle id order (default).</dd>
-	  <dt><code>name</code></dt>        <dd>Bundle name order.</dd>
-	  <dt><code>start_level</code></dt> <dd>Bundle start level order.</dd>
-	</dl>
-	Any unrecognized value will result sorting icons based o the
-	bundle id.
-
-	<p>
-	The desktop bundles stores the sort order amongst its
-        preferences (for each framework service id), if this property
-	is set it will over-ride the saved preferences value.</p>
-
-    </td>
-    <td>String</td>
-    <td>id</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.desktop.displays</td>
-    <td>
-
-	A white-space separated list of built in desktop displays to
-	instantiate on startup. Each item in the list is the full
-	class name of a displayer.
-
-    </td>
-    <td>String</td>
-    <td>
-	org.knopflerfish.bundle.desktop.swing.LargeIconsDisplayer
-	org.knopflerfish.bundle.desktop.swing.GraphDisplayer
-	org.knopflerfish.bundle.desktop.swing.TableDisplayer
-	org.knopflerfish.bundle.desktop.swing.ManifestHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.ClosureHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.ServiceHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.WiringHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.SCRHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.LogDisplayer
-	org.knopflerfish.bundle.desktop.swing.EventDisplayer
-	org.knopflerfish.bundle.desktop.swing.PrefsDisplayer
-    </td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.desktop.displays.extra</td>
-    <td>
-
-	A white-space separated list of additional built in desktop
-	displays to instantiate on startup. Each item in the list is
-	the full class name of a displayer. Use this property when you
-	want to start all the default built in displayers and some
-	extra dislayer. This way you only need to specify the
-	additional displayer and not all of them.
-
-	<p>E.g.,
-<pre>
-	org.knopflerfish.bundle.desktop.swing.PackageHTMLDisplayer
-	org.knopflerfish.bundle.desktop.swing.SpinDisplayer
-</pre>
-	</p>
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.desktop.display.main</td>
-    <td>
-
-	The name of the default bundle displayer to show in the
-	desktop's main frame when starting.
-
-    </td>
-    <td>String</td>
-    <td>Large Icons</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.bundle.desktop.event.EventTableModel.capacity</td>
-    <td>
-
-	The maximum number of events to keep in memory in one event
-	view. Use a negative value (i.e., a value smaller than 1) to
-	indicate that old event shall never be removed.
-
-    </td>
-    <td>int</td>
-    <td>342</td>
-  </tr>
-
-</table>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=desktop/desktop-5.0.1.html">desktop-5.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td><td align="center">1.6.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td><td align="center">2.1.2</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td><td align="center">2.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td><td align="center">1.5.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td><td align="center">1.2.1</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td><td align="center">1.1.1</td><td><a target="_top" href="../../jars/index.html?bundle=desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/device/index.html b/docs/bundledoc/device/index.html
deleted file mode 100644
index 8524d50..0000000
--- a/docs/bundledoc/device/index.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - device, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: device
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      
-
-<h1 class="man">Device Manager</h1>
-
-<div class="abstract">
-  The Device Manager bundle implements the 
-  <a  target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">
-    OSGi Device Access Model. 
-  </a>
-</div>
-
-<h2 class="man">Description</h2>
-<p>
-  The Device Manager matches and attaches drivers to devices. With the
-  help of one or more DriverLocator services it can dynamically
-  install and start drivers on demand. 
-</p>
-<p>
-  These concepts are used in the Device Manager documentation.
-  <dl class="kf">
-    <dt>Device</dt>
-    <dd>A service that mirrors a physical device. </dd>
-    <dt>Idle Device</dt>
-    <dd>A Device that no Driver service is attached to. </dd>
-    <dt>Device Manager</dt>
-    <dd>A framework component that looks for registration and
-      unregistration of devices and finds a driver for a device.  
-    </dd>
-    <dt>Driver</dt>
-    <dd>Is called by the Device Manager to check for matches and carry
-      out attachment. 
-      </dd>
-    <dt>Driver Locator</dt>
-    <dd>A service that downloads suitable drivers. </dd>
-    <dt>Driver Selector</dt>
-    <dd>A service to break ties in case multiple drivers return the same (best) match value. </dd>
-  </dl>
-</p>
-<h2 class="man">Device Access Model</h2>
-<p>
-  The device access model is a part of the OSGi service platform
-  specification. It splits responsibilities for device
-  management into several parts. The device manager is the motor in
-  this process and it is supplied with the framework. There must never
-  be more than one device manager installed. 
-</p>
-<p>
-  Knopflerfish includes a basic driver locator bundle,
-  basicdriverlocator. 
-</p>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=device/device_all-4.0.1.html">device_all-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=device/device_api-4.0.1.html">device_api-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=device/device-4.0.1.html">device-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=device/device_all-4.0.1.html">device_all-4.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=device/device_api-4.0.1.html">device_api-4.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/dirdeployer/dirdeployer.xml b/docs/bundledoc/dirdeployer/dirdeployer.xml
deleted file mode 100644
index 6b5c08b..0000000
--- a/docs/bundledoc/dirdeployer/dirdeployer.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE cm_data PUBLIC '-//Gatespace//DTD cm_data 0.1//EN' 'cm_data.dtd'>
-<cm_data version="0.1">
-  <configuration pid="org.knopflerfish.fileinstall" mode="new">
-    <property name="org.knopflerfish.fileinstall.dir">
-      <vector length="1">
-	<value type="String">./load</value>
-      </vector>
-    </property>
-    <property name="service.pid">
-      <value type="String">org.knopflerfish.fileinstall</value>
-    </property>
-    <property name="org.knopflerfish.fileinstall.uninstallOnStop">
-      <value type="Boolean">true</value>
-    </property>
-    <property name="org.knopflerfish.fileinstall.poll">
-      <value type="Long">1000</value>
-    </property>
-    <property name="org.knopflerfish.fileinstall.use.initial.startlevel">
-      <value type="Boolean">false</value>
-    </property>
-    <property name="org.knopflerfish.fileinstall.startlevel">
-      <value type="Integer">8</value>
-    </property>
-  </configuration>
-</cm_data>
diff --git a/docs/bundledoc/dirdeployer/index.html b/docs/bundledoc/dirdeployer/index.html
deleted file mode 100644
index 6aaab7d..0000000
--- a/docs/bundledoc/dirdeployer/index.html
+++ /dev/null
@@ -1,276 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - dirdeployer, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: dirdeployer
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Directory Deployer</h1>
-
-<p>
-A bundle which scans file system directories for files that it can
-install, update or uninstall. The directory deployer bundle handles
-both bundle files and configuration files.  When a file is updated the
-bundle / configuration will be updated and when a file is removed from
-the scanned directory the bundle / configuration will be removed.
-</p>
-
-<p>
-This is a quite useful tool for handle bundle and configuration
-deployment without using any console. Just copy the file that should
-be installed to the deploy directory, and the directory deployer will
-find and activate them. When the files are removed, they are
-uninstalled.
-</p>
-
-
-<h2 class="man">Deploy method</h2>
-
-<p>The procedure for scanning and deploying is as follows:
-
-<ol>
-  <li>
-      Check if any new files have appeared or if any already deployed
-      files has been replaced with newer files.
-  </li>
-
-  <li>
-      New files are installed into the framework.<br> At the end of
-      the scan any bundle that was installed will be started according
-      to its activation policy. Any fragment that was installed will
-      be attached to its host (be resolving it).
-  </li>
-
-  <li>
-      Updated files (newer than a previously deployed bundle) are not
-      installed again, instead, the installed bundle or configuration
-      is updated from the new file.
-  </li>
-
-  <li>
-      Check if there are bundles or configurations installed by the
-      directory deployer that does not correspond to a file found
-      during the directory scan. If any such bundle or configuration
-      is found uninstall it.
-  </li>
-
-  <li>
-      If any bundle update was performed during the scan, perform a
-      refresh bundles operation for them using the in the framework
-      wiring API.
-  </li>
-
-  <li>
-      Start newly installed bundles that can be started, resolve newly
-      installed fragments. Note that there will only be one start /
-      resolve attempt made for each bundle after an install or update.
-  </li>
-
-  <li>
-      Sleep a while
-  </li>
-
-  <li>
-      Repeat from 1.
-  </li>
-
-</ol>
-
-<h2 class="man">Deployable File Types</h2>
-
-The Directory Deployer supports deploying of bundles and configurations:
-
-<ul>
-
-  <li><b><tt>*.jar</tt></b> Bundle jar files.
-
-  <li><b><tt>*.xml</tt></b> OSGi CM configurations stored in XML-files
-      using the DTD <a href="../cm/cm_data.dtd">cm_data.dtd</a>.
-
-</ul>
-      
-<p>
-
-  A sample XML-file with a configuration for the Directory Deployer
-  bundle itself can be <a href="dirdeployer.xml">downloaded here</a>.
-
-</p>
-<p>
-
-  To create a CM configuration from scratch one may use the CM-tab in
-  Knopflerfish desktop, it presents a simple GUI based on
-  configuration meta type descriptions provided by configurable
-  bundles. The CM-tab is not visible in the Desktop when starting with
-  the default set of bundles, to activate it one must install and
-  start three more bundles from the Knopflerfish distribution:
-  <tt>metatype</tt> (OSGi Metatyp APIs), <tt>kf_metatype_all</tt>
-  (Knopflerfish Metatyp Service implementation) and
-  <tt>cm_desktop</tt> (the CM-tab desktop plug in itself).
-
-</p>
-<p>
-
-  To save an existing CM configuration as cm_data XML one may use the
-  CM-tab in the Knopflerfish desktop, it provides an
-  <tt>Export...</tt> button that will export the current configuration
-  as a cm_data XML file. It is also possible to use the Knopflerfish
-  console command <tt>configuration export</tt>. See <a
-  href="../cm_cmd/index.html">CM Commands</a> for details.  Avoid
-  writing cm_data XML files by hand since the parser for the
-  <tt>cm_data</tt> XML documents is written for machine generated
-  documents so it does not give usable error messages when something
-  in the XML-document is wrong.
-
-</p>
-
-
-
-<h2 class="man">Configuration</h2>
-
-<p>
-
-  See <a
-  href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/resources/OSGI-INF/metatype/metatype.xml">metatype.xml</a>
-  for specification using CM. The same properties as defined by CM are
-  also read as default values from framework properties. Thus, the
-  bundle can be both configured by CM and using system properties.
-
-</p>
-<p>
-
-  You can set the deployment directory in <tt>metatype.xml</tt> in the
-  bundle's resource directory (defaults to <tt>./load</tt>). A
-  relative deployment directory path is relative to the directory from
-  which the framework is started.
-
-</p>
-<p>
-
-  The table below describes the framework properties that may be used
-  to set the default values for the directory deployer configuration.
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Type</th>
-    <th>Default</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.fileinstall.dir</td>
-    <td>
-
-	Set the directories that should be scanned.
-
-	<p>The value should be a comma-separated list of directory
-	paths.</p>
-
-    </td>
-    <td>String</td>
-    <td>./load</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.fileinstall.poll</td>
-    <td>
-
-	Poll interval in milliseconds between directory scans. Must be
-	at least 100 ms. 
-
-    </td>
-    <td>long</td>
-    <td>1000</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.fileinstall.use.initial.startlevel</td>
-    <td>
-
-	<p>
-
-        When this property is true the Directory Deployer will not set
-	any start level for bundles it installs thus those bundles
-	will belong to the default start level (i.e., the current
-	initial start level according to the Framework Start Level
-	API).
-
-	</p><p>
-
-	When this property is false the Directory Deployer will assign
-	the start level given by
-	<tt>org.knopflerfish.fileinstall.startlevel</tt> to the
-	bundles it installs.
-
-	</p>
-
-    </td>
-    <td>boolean</td>
-    <td>true</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.fileinstall.startlevel</td>
-    <td>
-
-	Bundle start level to assign to all newly installed
-	bundles. Note that you must set
-	<tt>org.knopflerfish.fileinstall.startlevel</tt> to false for
-	this property to have an effect.
-
-    </td>
-    <td>int</td>
-    <td>
-
-      The initial bundle start level as returned by the
-      StartLevel-API.
-
-    </td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.fileinstall.uninstallOnStop</td>
-    <td>
-
-	If <code>true</code> then the directory deployer will
-        uninstall all bundles and configurations that it has installed
-        when it stops.
-
-    </td>
-    <td>boolean</td>
-    <td>true</td>
-  </tr>
-</table>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/event/index.html b/docs/bundledoc/event/index.html
deleted file mode 100644
index e0ecaf8..0000000
--- a/docs/bundledoc/event/index.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - event, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: event
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">The Knopflerfish Event Admin Service</h1>
-
-<div class="abstract">
-  The Knopflerfish OSGi Event Admin Service is an implementation of
-  the Event Admin Service specified in the OSGi compendium
-  specification.
-</div>
-
-
-<h2 class="man">Description</h2>
-<p>
-  The Knopflerfish OSGi Event Admin Service is an implementation of
-  the Event Admin Service in the OSGi Service Compendium that provides
-  parallel delivery of events posted by different threads.
-</p>
-
-
-<h2 class="man">Configuration properties</h2>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Type</th>
-    <th>Default</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.eventadmin.timeout</td>
-    <td>
-
-	The timeout in milliseconds to apply to calls to the
-	<code>handleEvent(Event)</code> of individual event handlers.
-	The value <code>0</code> means no timeout.
-
-    </td>
-    <td>long ≥ 0</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.eventadmin.timewarning</td>
-    <td>
-
-	When set to a value <code>> 0</code> then measure the time
-	of each call to the <code>handleEvent(Event)</code> of event
-	handlers. If the call lasts longer than the value of this
-	property then log this event handler delivery call and its
-	duration in the OSGi log using a log entry with severity ERROR.
-
-	<p>Time warnings are only supported when the event handler
-	call timeout described above is unset (i.e., set to 0).</p>
-
-    </td>
-    <td>long ≥ 0</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.eventadmin.queuehandler.multiple</td>
-    <td>
-
-	If multiple event delivery queues should be used or not.  If set
-	to <code>true</code> each thread calling the
-	<code>EventAdmin.postEvent()</code>-method will be assigned
-	its own queue for delivering its events.
-
-    </td>
-    <td>boolean</td>
-    <td>true</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.eventadmin.queuehandler.timeout</td>
-    <td>
-
-	The timeout (milliseconds) before an event delivering queue
-	that has nothing to do is disposed.  That is if there has been
-	no events for the queue to deliver for more than this number
-	of milliseconds then the queue will be terminated. If the
-	thread posts another event later on a new delivery queue
-	instance will be created.
-
-	<p>This timeout is only in use when multiple even delivery
-	queues are enabled.</p>
-
-    </td>
-    <td>long ≥ 0</td>
-    <td>1100</td>
-  </tr>
-</table>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=event/event_all-4.0.1.html">event_all-4.0.1</a><br>
-<a target="_top" href="../../jars/index.html?bundle=event/event_api-4.0.1.html">event_api-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=event/event_all-4.0.1.html">event_all-4.0.1</a>, <a target="_top" href="../../jars/index.html?bundle=event/event_api-4.0.1.html">event_api-4.0.1</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/framework/index.html b/docs/bundledoc/framework/index.html
deleted file mode 100644
index a7e8b82..0000000
--- a/docs/bundledoc/framework/index.html
+++ /dev/null
@@ -1,1227 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Knopflerfish Framework Documentation version 7.1.2</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Knopflerfish Framework
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 7.1.2
-      </div>
-      <h1 class="man">Knopflerfish OSGi framework</h1>
-
-<div class="abstract">
-  This is the Knopflerfish framework. An OSGi Release 5
-  compliant framework. It supports all optional and deprecated
-  framework services, Package Admin, Start Level,
-  Conditional Permission Admin, Permission Admin, URL Handlers,
-  Bundle Hook, Resolver Hook, Service Hook and Weaving Hook.
-</div>
-
-<h2 class="man">Contents</h2>
-  <ol>
-    <li><a href="#startup">Knopflerfish framework.jar startup</a></li>
-    <li><a href="#init_restart">Initial start vs restart</a></li>
-    <li><a href="#framework">Starting the framework</a></li>
-    <li><a href="#framework_compact">Starting the compact framework</a></li>
-    <li><a href="#xargs">Default selection of .xargs</a></li>
-    <li><a href="#proxy">Using a HTTP proxy</a></li>
-    <li><a href="#props">Framework and System Properties</a></li>
-    <li><a href="#osgiprop">OSGi Specified Framework Properties</a></li>
-    <li><a href="#kfsysprop">Knopflerfish Specified System Properties</a></li>
-    <li><a href="#kffwprop">Knopflerfish Specified Framework Properties</a></li>
-  </ol>
-<a name="startup"></a>
-<h2 class="man">Knopflerfish framework.jar startup</h2>
-<p>
-This is a startup guide for the KF OSGi framework. Note that
-command-line startup of the framework is not specified by OSGi, and
-system integrators often need to create a wrapper script for FW
-startup.
-</p>
-<p>
-The KF Main startup class is primarily intended to be used in scenarios
-where current working directory is same as the one containing framework.jar,
-the framework storage directory and configuration files. In these cases
-</p>
-<p>
-<pre class="shell">java -jar framework.jar</pre>
-</p>
-<p>
-...is often enough. 
-</p>
-<p>
-To use features that requires JVM restart, e.g. extension bundles, 
-you can use our example shell start script "kf2". Open a terminal and type
-</p>
-<p>
-<pre class="shell">./kf2</pre>
-</p>
-<p>
-Note: the script requires a "sh" shell. 
-</p>
-<p>
-Other uses are possible, but require options and possibly some tweaking
-of the default startup files.
-</p>
-
-<a name="init_restart"></a>
-<h2 class="man">Initial start vs restart</h2>
-<p>
-Two cases of framework startup should be noted:
-</p>
-<ol>
-  <li>Initial, bootstrap, startup<br/>
-    An initial startup must contain enough options
-    to install bundles allowing further management, using 
-    -install options. If no bundles are installed, an empty 
-    framework will be started but nothing can be done with it..
-  </li>
-  <li>Restart of previously initialized framework<br/>
-    Any OSGi framework can remember its state from previous startup.
-    <br/>
-    In this case, startup options should only contains system properties
-    and a -launch option for restarting the bundles, but not any
-    -install options.
-  </li>
- </ol>
-<p>
- NB! Framework properties (-Fx=y) supplied at initial startup are saved as
- part of the framework state, and need not to be supplied again at framework
- restart. System properties (-Da=b) are not included in the framework state.
- Since the two different startup cases probably will use separate startup
- files, care must be taken so system properties are set correctly in both
- files, when so required.
-</p>
-
-<p>
-</p>
-<p>
-It is up to a system integrator to decide when to use initial startup
-or restart. The Main KF class can help somewhat in doing this (see below)
-but might not be enough. In those cases, wrapper scripts, or modifications
-to Main.java are recommended.
-</p>
-
-<a name="framework"></a>
-<h2 class="man">Starting the framework</h2>
-<p>
-The framework can be started using the startup wrapper class
-</p>
-<p>
-<pre class="shell">org.knopflerfish.framework.Main</pre>
-</p>
-<p>
-This class is also set a Main-Class in framework.jar's manifest, meaning 
-framework.jar can be started using 
-</p>
-<p>
-<pre class="shell"> java -jar framework.jar [options] OR ./kf2 [options]</pre>
-</p>
-<p>
-The Main class supports a number of options, which can be displayed
-using:
-</p>
-<p>
-<pre class="shell">java -jar framework.jar -help OR ./kf2 -help</pre>
-</p>
-<p>
-Options can also be specified using the -xargs option, which specifies
-a .xargs text file containing lines of new options. Typically all
-options are specified in .xargs files. Combining .xargs files and
-command line options is possible. .xargs files can also use recursive
-.xargs files.
-</p>
-<p>
-When the framework is started, it uses a file system directory for
-storing the state of all installed bundles, "fwdir". The default
-directory used for this is:
-</p>
-<p>
-<pre class="shell">fwdir</pre>
-</p>
-<p>
-in the current directory. The "fwdir" directory can also be set
-specifically using the org.osgi.framework.storage property. Note that
-moving "fwdir" also changes the location for searching for default
-.xargs files.
-</p>
-<p>
-If no options are specified (any "-Fx=y", "-Da=b" or "-init" does not
-count as options in this case) an implicit
-</p>
-<p>
-<pre class="shell">-xargs "default"</pre>
-</p>
-<p>
-is added to the options. "default" means that the default .xargs (see
-below) is selected.
-</p>
-
-<a name="framework_compact"></a>
-<h2 class="man">Starting the compact framework</h2>
-<p>
-There is a compact version of the framework available for system that
-has limited amount of resources (memory and storage). This version
-doesn't contain any support for security and certificates. The internal
-classes has also been name mangled to save resources.
-</p>
-<p>
-The compact framework is started and controlled in the same way as the
-full version. The only difference is that the jar file is called
-<code>framework_compact.jar</code>.
-</p>
-
-<a name="xargs"></a>
-<h2 class="man">Default selection of .xargs</h2>
-<p>
-If _no_ args are supplied (arguments of the form "-Fx=y", "-Da=b" or
-"-init" does not count in this case), or a name of "default" is given
-as -xargs argument, a default .xargs file will be searched for, by the
-following algorithm:
-</p>
-<ol>
-  <li>If there exists a previous "fwdir" AND previous options
-      does not contain "-init", use a file in "fwdir" named:<br/>
-    <pre class="shell">fwprops.xargs</pre>
-  </li>
-  <li>If no fwdir exist, OR options contain an "-init", 
-       search for a file named:
-    <ol style="list-style-type:lower-latin">
-      <li>init_[osname].xargs</li>
-      <li>init.xargs</li>
-      <li>remote-init.xargs</li>
-    </ol>
-    The search is performed in the following directories:
-    <ol style="list-style-type:lower-latin">
-      <li>fwdir</li>
-      <li>The parent directory of fwdir (if any)</li>
-      <li>The current working directory</li>
-    </ol>
-    First match wins.<br/>
-    The [osname]-part of the file name is the unified OS name as
-    specified in Alias.java (see below). Case is important if the file
-    system is case sensitive.<br/>
-    OS aliases:
-    <ul>
-      <li>OS2</li>
-      <li>QNX</li>
-      <li>Windows95</li>
-      <li>Windows98</li>
-      <li>WindowsNT</li>
-      <li>WindowsCE</li>
-      <li>Windows2000</li>
-      <li>WindowsXP</li>
-    </ul>
-  </li>
-</ol>
-<p>
-The file fwdir/fwprops.xargs contains saved properties that is used
-when restarting a framework instance. It is written by the Knopflerfish
-framework on every startup (unless disabled by setting the property
-"org.knopflerfish.framework.write.restart.xargs" to false).
-</p>
-
-<a name="proxy"></a>
-<h2 class="man">Using a HTTP proxy</h2>
-<p>
-The standard JVM system properties
-</p>
-<ul>
- <li>http.proxyHost</li>
- <li>http.proxyPort</li>
- <li>http.nonProxyHosts</li> 
-</ul>
-<p>
-should be used to set proxy information. This will be global to 
-all HTTP request from all bundles and the framework.
-</p>
-<p>
-Additionally, the KF-specific system property
-</p>
-<ul>
- <li>http.proxyAuth</li>
-</ul>
-<p>
-can be set to a value on the form user:password
-</p>
-<p>
-If set to non-empty, this will add the 
-Proxy-Authorization header to bundle install http/https requests 
-made from the framework, However, bundles using the URL class internally
-must explicitly set this header themselves.
-</p>
-
-<a name="props"></a>
-<h2 class="man">Framework and System Properties</h2>
-<p>
-Both Framework and Java System properties are used to control the framework.
-</p>
-<p>
-Framework properties are the standard properties listed in the OSGi
-specification (section 4.5.3 in r4.core) and proprietary properties for
-the Knopflerfish framework. Framework properties are also used for
-configuration of Knopflerfish bundles. 
-</p>
-<p>
-Framework properties are specified on the command line or in .xarg files
-using "-F". If you have more than one framework instance, each instance
-has its own set of Framework properties.
-</p>
-<p>
-A framework property is accessed by using
-<pre class="shell">org.osgi.framework.BundleContext.getProperty(String)</pre>.
-</p>
-<p>
-Java System properties are specified on the command line or in .xargs
-files using "-D". System properties are accessed using
-<pre class="shell">java.lang.System.getProperty(String)</pre> but
-<pre class="shell">BundleContext.getProperty</pre> can also be used as it will look
-for a System property if there is no matching Framework property.
-</p>
-<p>
-Because of the different handling of Framework and System properties when
-the framework is <a href="#init_restart">restarted</a>, it is recommended
-to use only Framework properties in .xargs files. If you do, and use the
-default init.xargs/props.xargs files, initial starts and restarts become
-conveniently short on the command line:
-</p>
-<p>
-<pre class="shell">java -jar framework.jar -init  </pre> (initial start)
-</p>
-<p>
-<pre class="shell">java -jar framework.jar  </pre> (restart)
-</p>
-<p>
-Unfortunately, it is not always possible to avoid using Java System
-properties. For example, a bundle may include a class library that uses
-System properties for configuration. Also, properties that are read
-during start-up, before the framework has been initialized, need to be
-System properties, see <a href="#kfsysprop">KF System Properties</a>.
-</p>
-<a name="osgiprop"></a>
-<h2 class="man">OSGi Specified Framework Properties</h2>
-<p>
-OSGi Framework properties should be specified using "-F".
-</p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.bootdelegation</td>
-    <td>
-      Set the boot delegation mask. A list of packages delegated from the
-      framework to the parent classloader. The package specified can contain
-      a wildcard at the end, which matches any sub-packages.
-    </td>
-    <td>String , ...</td>
-    <td></td>
-  </tr>
-  <tr>
-	<td>org.osgi.framework.bsnversion</td>
-	<td>
-	  Allow installation of multiple bundles with the same bundle symbolic
-	  name or restrict this. The property can have the following values:
-      <table class="man_inner">
-      <tr>
-	    <td class="man_inner"><b>single</b></td>
-        <td class="man_inner">
-          A combination of equal bundle symbolic name and equal version is
-          unique in the framework. Installing a second bundle with the same
-          bundle symbolic name and version is an error.
-        </td>
-      </tr>
-      <tr>
-        <td class="man_inner"><b>multiple</b></td>
-        <td class="man_inner">
-          The combination of bundle symbolic name and version is not unique
-          in the framework.
-        </td>
-      </tr>
-      <tr>
-	    <td class="man_inner"><b>managed</b></td>
-        <td class="man_inner">
-          Using a Bundle Collision Hook to filter any non-colliding bundles.
-        </td>
-      </tr>
-      </table>
-	</td>
-    <td>String</td>
-    <td>managed</td>	
-  <tr>
-    <td>org.osgi.framework.bundle.parent</td>
-    <td>
-      This property is used to specify what class loader is used for 
-      boot delegation. That is, java.* and the packages specified on 
-      the org.osgi.framework.bootdelegation.
-      This property can have the following values: boot, app, ext or
-      framework.
-    </td>
-    <td>String</td>
-    <td>boot</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.command.execpermission</td>
-    <td>
-      Specifies an optional OS specific command to set file permissions
-      on a bundle's native code. This is required on some operating
-      systems to use native libraries. For example, on a UNIX 
-      style OS you could have the following value: 
-      org.osgi.framework.command.execpermission="chmod +rx ${abspath}" 
-      The ${abspath} macro will be substituted for the actual file 
-      path. 
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.executionenvironment</td>
-    <td>
-      The current execution environment. There are no restriction on
-      the execution environment if this property isn't set.
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.language</td>
-    <td>
-      The language used by the framework for the selection of 
-      native code.
-    </td>
-    <td>String</td>
-    <td>Set based on default locale</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.library.extensions</td>
-    <td>
-      A comma separated list of additional library file extensions that
-      must be used when searching for native code. If not set, then only
-      the library name returned by System.mapLibraryName(String) will be
-      used. This list of extensions is needed for certain operating
-      systems which allow more than one extension for native libraries.
-      For example, the AIX operating system allows library extensions of
-      .a and .so, but System.mapLibraryName(String) will only return
-      names with the .a extension.
-    </td>
-    <td>String , ...</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.os.name</td>
-    <td>
-      The name of the operating system as used in the native code clause.
-    </td>
-    <td>String</td>
-    <td>Set based on system property os.name</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.os.version</td>
-    <td>
-      The version of the operating system as used in the native code 
-      clause.
-    </td>
-    <td>String</td>
-    <td>Set based on system property os.version</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.os.processor</td>
-    <td>
-      The name of the processor as used in the native code clause.
-    </td>
-    <td></td>
-    <td>Set based on system property os.arch</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.security</td>
-    <td>
-      Specifies the type of security manager the framework must 
-      use. If not specified then the framework will not set the VM 
-      security manager. The following type is architected: 
-      <code>osgi</code> Enables a security manager that supports all 
-      security aspects of the OSGi Release 4 specifications 
-      (including postponed conditions). 
-      If specified, and there is a security manager that doesn't
-      match already installed, then a SecurityException is thrown
-      when the Framework is initialized. 
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.startlevel.beginning</td>
-    <td>
-      Specifies the beginning start level of the framework.
-    </td>
-    <td>Integer</td>
-    <td>1</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.storage</td>
-    <td>
-      Where we store persistent data.
-
-      On systems not supporting a current working directory,
-      as Pocket PC, this path should be set to an explicit
-      full path.
-
-      Note: Knopflerfish 1.x and 2.x used the name
-      "org.osgi.framework.dir" for this property.
-    </td>
-    <td>String</td>
-    <td>${currentWorkingDirectory}/fwdir</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.storage.clean</td>
-    <td>
-      Specifies if and when the storage area for the framework 
-      should be cleaned. If no value is specified, the framework storage
-      area will not be cleaned. The possible values is: 
-      <code>onFirstInit</code> - The framework storage area will be
-      cleaned  before the Framework bundle is initialized for the first 
-      time. Subsequent inits, starts or updates of the Framework bundle
-      will not result in cleaning the framework storage area.
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.system.packages</td>
-    <td>
-      Complete list of packages exported by the system bundle.
-
-      If not set the framework will export all OSGi packages and all
-      standard Java packages according to the version of the running
-      JRE. See also "org.knopflerfish.framework.system.packages.base"
-      and "org.osgi.framework.system.packages.extra"
-    </td>
-    <td>String , ...</td>
-    <td>Default is based on other properties</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.system.packages.extra</td>
-    <td>
-      Packages to add to the default list of packages exported by the
-      system bundle.
-    </td>
-    <td>String , ...</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.trust.repositories</td>
-    <td>
-      This property is used to configure trust repositories for the 
-      framework. The value is path of files.The file paths are separated
-      by the pathSeparator defined in the File class. Each file path
-      should point to a JKS key store. The framework will use the key
-      stores as trust repositories to authenticate certificates of
-      trusted signers. The key stores must only be used as read-only
-      trust repositories to access public keys. The keystore must not
-      have a password.
-    </td>
-    <td>String : ...</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.osgi.framework.windowsystem</td>
-    <td>
-      Provide the name of the current window system. This can be used by
-      the native code clause.
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-</table>
-
-
-<a name="kfsysprop"></a>
-<h2 class="man">Knopflerfish Specified System Properties</h2>
-<p>
-Knopflerfish System properties should be specified using "-D".
-</p>
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.main.verbosity</td>
-    <td>
-     Verbosity level of the Main class starting the framework. 0 means
-     few messages. Specify on the command line in order to see messages
-     from the very beginning.
-    </td>
-    <td>Integer</td>
-    <td>0</td>
-  </tr>
-</table>
-
-<a name="kffwprop"></a>
-<h2 class="man">Knopflerfish Specified Framework Properties</h2>
-<p>
-The recommendation is to use "-F" for Knopflerfish Framework properties
-but "-D" should also work. 
-</p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.all_signed</td>
-    <td>
-      If set to true, we require that all bundles that are installed are signed.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.automanifest</td>
-    <td>
-      Flag to enable automatic manifest generation. If true, bundle
-      manifest can be modified by a special configuration file. See
-      javadoc for org.knopflerfish.framework.AutoManifest class 
-      for details.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.automanifest.config</td>
-    <td>
-      Configuration URL for automatic manifest generation. Only
-      valid if org.knopflerfish.framework.automanifest=true.
-      An URL starting with "!!" followed by path is refer to a resource
-      on the classloader that have loaded the framework.
-    </td>
-    <td>String</td>
-    <td>!!/automanifest.props</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlestorage</td>
-    <td>
-      Storage implementation for bundles
-      [file, memory]
-    </td>
-    <td>String</td>
-    <td>file</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlestorage.file.always_unpack</td>
-    <td>
-     When using file bundle storage, bundle jars can be unpacked
-     or copied as-is. Unpacking leads to faster restart and class loading
-     but takes longer for initial startup.
-
-     If set to true, unpack all bundle jars.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlestorage.file.jar_verifier_bug</td>
-    <td>
-     There is a bug when using file bundle storage, certificate and Oracle
-     JRE (Java 6). This bug causes the JarInputStream to miss picking up
-     certificates for files under the "META-INF" directory if they directly
-     follow the META-INF signature related files. This causes KF to mark
-     the bundle as not completly signed. To ignore problem set property
-     to true.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <a name="fileref"></a>
-    <td>org.knopflerfish.framework.bundlestorage.file.reference</td>
-    <td>
-     When using file bundle storage, file: URLs can optionally
-     be referenced only, not copied to the persistent area.
-
-     If set to true, file: URLs are referenced only.
-
-     Note: Individual bundles can be reference installed
-           by using URLs of the syntax:
-
-           reference:file:<path>
-
-           This works even if the global reference flag
-           is not enabled.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlestorage.file.trusted</td>
-    <td>
-     Are the bundles stored in the file bundle storage to be trusted, if not
-     signed bundles will be checked every time they are read.
-     Untrusted storage leads to slower restart and class loading.
-
-     If set to true, trust bundles in bundle storage.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlestorage.file.unpack</td>
-    <td>
-     Most JVM requires that we unpack the bundle to access internal jars
-     and native code. Setting this to true will unpack the jar if it contains
-     internal jars or native code.
-
-     If set to true, unpack needed bundle jars.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlethread.timeout</td>
-    <td>
-     Use this proprty to set a limit on how long the framework will wait for a
-     bundle's activator to complete and return from the start and stop methods.
-     If the time-out occurs, the framework will interrupt the BundleThread that
-     is executing the start or stop method and then optionally stop it or lower
-     its priority, see property org.knopflerfish.framework.bundlethread.abort.
-     A BundleException is thrown to indicate that start/stop of the bundle
-     failed.
-
-     If set to a positive integer, the value is used as time-out in seconds.
-     If set to 0, no time out is used and the framework will wait indefinitely
-     for the activator's start and stop methods to complete.
-    </td>
-    <td>Integer</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.bundlethread.abort</td>
-    <td>
-      If a bundle's start or stop method time-out (see property
-      org.knopflerfish.framework.bundlethread.timeout) or if the bundle gets
-      uninstalled before the method has returned, this property defines how to
-      manage the bundle's start/stop thread. Possible values are:
-      <table class="man_inner">
-	<tr>
-	  <td class="man_inner">"stop"</td>
-	  <td class="man_inner">Calls the stop() method of the bundle's thread</td>
-	</tr>
-	<tr>
-	  <td>"minprio"</td>
-	  <td>Sets a minium priority of the bundle's thred</td>
-	</tr>
-	<tr>
-	  <td>"ignore"</td>
-	  <td>Do nothing</td>
-	</tr>
-      </table>
-    </td>
-    <td>String</td>
-    <td>ignore</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.automanifest</td>
-    <td>
-      Print debug output for automatic manifest actions.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.bundle_resource</td>
-    <td>
-     When security is enabled, print information about resource
-     lookups that are rejected due to missing permissions for the
-     calling bundle.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.certficates</td>
-    <td>
-     Print debug information about certificate handling.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.classloader</td>
-    <td>
-     Print debug information from classloader
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.errors</td>
-    <td>
-     Print all FrameworkEvents of type ERROR
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.framework</td>
-    <td>
-     Print debug information about life-cycle events for the
-     current framework instance.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.hooks</td>
-    <td>
-     Print debug information about when service hooks are used
-     current framework instance.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.ldap</td>
-    <td>
-     Print debug information about LDAP filters
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.resolver</td>
-    <td>
-     Print debug information about resolver operation.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.patch</td>
-    <td>
-     Print debug information about class patching
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.permissions</td>
-    <td>
-     Print debug information about permission evaluation.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.print_with_do_privileged</td>
-    <td>
-     Surround all debug print-operations originating from
-     setting org.knopflerfish.debug.* properties with a
-     doPrivileged() wrapper.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.startlevel</td>
-    <td>
-     Print debug information about startlevel service
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.service_reference</td>
-    <td>
-     When security is enabled, print information about service
-     reference lookups that are rejected due to missing permissions
-     for calling bundle.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.debug.url</td>
-    <td>
-      Print debug information about URL services
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.is_doublechecked_locking_safe</td>
-    <td>
-     Is it safe to use double-checked locking or not.
-     It is safe if JSR 133 is included in the running JRE. I.e., for
-     Java SE if version is 1.5 or higher.
-    </td>
-    <td>Boolean</td>
-    <td>
-      True if value of the system property java.version ≥ 1.5,
-      False otherwise
-    </td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.ldap.nocache</td>
-    <td>
-     Disable LDAP caching for simple filters. LDAP caching
-     speeds up framework filters considerably, but uses
-     more memory.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.main.class.activation</td>
-    <td>
-      A comma-separated list of locations of bundles whose Main-Class
-      (set in manifest) should be used as activator if no
-      BundleActivator is specified. 
-      The Main-Class will be used as activator if and only if the jar
-      file does not specify a Bundle-Activator header and the bundle's
-      location(see Bundle.getLocation) is found in the comma-separated
-      list (case-sensitive). 
-<pre class="man">
-> java -jar framework.jar
-    -Forg.knopflerfish.framework.main.class.activation=\ 
-    file:/foo/bar.jar,http://foo.com/bar.jar ...
-</pre>
-      </pre>
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.main.verbosity</td>
-    <td>
-     Verbosity level of the Main class starting the framework. 0 means
-     few messages. Specify as a System property on the command line
-     in order to see messages from the very beginning.
-    </td>
-    <td>Integer</td>
-    <td>0</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.main.xargs.writesysprops</td>
-    <td>
-      Properties defined using -Fname=value in xargs-files are available
-      for bundles using BundleContext.getProperty(name).
-      This property controls weather such properties shall also be
-      exported as system properties or not.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.listener.n_threads</td>
-    <td>
-    Number of threads used to deliver events to asynchronous listeners.
-    If the value is 0 then we will revert to the old behaviour and call
-    all listeners synchronously.
-    </td>
-    <td>Integer</td>
-    <td>1</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.patch</td>
-    <td>
-      If true AND once the classpatcher_all-N.N.N.jar bundle is installed and started,
-      run time class patching will be enabled for all classes loaded afterwards. 
-
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.patch.configurl</td>
-    <td>
-     URL to class patch config file. Only used when class patching is enabled.
-     This is used as a fallback if a bundle does not specify a
-     Bundle-ClassPatcher-Config manifest header.
-
-     "!!" is used to read resources from the system class path
-     "!" can be used to read bundle resources.
-    </td>
-    <td>String</td>
-    <td>!!/patches.props</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.patch.dumpclasses</td>
-    <td>
-     If true and class patching is enabled, dump all modified classes
-     to a directory.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.patch.dumpclasses.dir</td>
-    <td>
-      If dumpclasses is enabled, specifies a directory where to dump
-      modified classes
-    </td>
-    <td>String</td>
-    <td>patchedclasses</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.readonly</td>
-    <td>
-      Controls if the framework should skip saving state changes
-      permantly under framework directory. This means that if we are
-      running with the default "file" bundle storage then new bundles
-      must be installed as a referenced file URL (see property
-      <a href="#fileref">org.knopflerfish.framework.bundlestorage.file.reference</a>).
-      This also implies that no data storage will be available to bundles.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.service.conditionalpermissionadmin</td>
-    <td>
-      Controls if the framework should register the Conditional Permission
-      Admin service.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.service.permissionadmin</td>
-    <td>
-      Controls if the framework should register the Permission
-      Admin service.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.strictbootclassloading</td>
-    <td>
-      If set to true, use strict rules for loading classes from the boot class loader.
-      If false, accept class loading from the boot class path from classes themselves
-      on the boot class, but which incorrectly assumes they may access all of the boot
-      classes on any class loader (such as the bundle class loader).
-      Setting this to true will, for example, result in broken serialization on the Sun 
-      JVM if bootdelegation does not exposes sun.* classes
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.system.packages.base</td>
-    <td>
-     An alternative to setting org.osgi.framework.system.packages.
-     When this property is used the list of packages given will be
-     appended with the default set of osgi-packages for the current
-     framework and then used as the exports of the system bundle.
-    </td>
-    <td>String , ...</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.system.packages.file</td>
-    <td>
-      File containing list of packages exported by the system bundle.
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.system.packages.version</td>
-    <td>
-      Name for selected exporting profile of system packages.
-    </td>
-    <td>String</td>
-    <td>MAJOR.MINOR from system property "java.version"</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.usingwrapperscript</td>
-    <td>
-      If set to "true", KF will assume that it has been
-      started with the "kf2" shell script, and that it will be 
-      restarted if KF exits with exit code = 200. Required to be 
-      able to use new KF2 features such as extension bundles. 
-      This flag is set to "true" by the "kf2" shell script.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.validator</td>
-    <td>
-      A list of which certificate validators to use. Currently available are
-      JKSValidator and SelfSignedValidator. If no validator is to be used,
-      set to "null" or "none".
-    </td>
-    <td>String</td>
-    <td>JKSValidator if org.osgi.framework.trust.repositories Is set, otherwise none</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.validator.date</td>
-    <td>
-      Date to use when validating certificates. The date is specifed
-      in the current locales short date format. If no date is specified
-      use the current date and time.
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.validator.jks.ca_certs</td>
-    <td>
-      File name of java keystore used by JKSValidator. Used if
-      org.osgi.framework.trust.repositories isn't set.
-    </td>
-    <td>String</td>
-    <td>$JAVA_HOME/lib/security/cacerts</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.validator.jks.ca_certs_password</td>
-    <td>
-      Password to java keystore used by JKSValidator.
-    </td>
-    <td>String</td>
-    <td>changeit</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.validator.jks.cert_provider</td>
-    <td>
-      Provider for CertificateFactory to use.
-    </td>
-    <td>String</td>
-    <td>-</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.framework.main.write.fwprops.xargs</td>
-    <td>
-      Property that tells the Knopflerfish Main if it shall write a
-      fwprops.xargs file with all framework properties inside the
-      framework directory on startup or not.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.gosg.jars</td>
-    <td>
-     Semicolon separated list of base URLs for relative install commands
-    </td>
-    <td>URL;...</td>
-    <td>URLs to the "jars" folder and all its sub-folders and
-        fwresource:jars/</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.startlevel.compat</td>
-    <td>
-      Set to true indicates startlevel compatibility mode.
-      All bundles and current start level will be 1.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.startlevel.use</td>
-    <td>
-      Use the Start Level service. If start level is not used then
-      we do not create a non daemon thread that will keep a JVM
-      with only daemon threads alive.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.osgi.setcontextclassloader</td>
-    <td>
-     If set to "true", set the bundle startup thread's context class
-     loader to the bundle's class loader. This is useful for checking
-     if an external lib will work better with a wrapped startup. It
-     doesn't set the context classloader for event callbacks.
-
-     Note that setting the context classloader is not mandated
-     by OSGi, and might introduce dependencies on the KF framework,
-     so this flag should only be enabled for testing purposes.
-    </td>
-    <td>Boolean</td>
-    <td>False</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.servicereference.valid.during.unregistering</td>
-    <td>
-      If set to false, then the service reference can not be used to
-      fetch an instance of the service during delivery and handling of
-      the UNREGISTERING service event. The behaviour specified in the
-      OSGi R4 v4.0.1 specification (and later), according to a
-      clarification done by CPEG February 2008, is that it shall be
-      possible to obtain a service instance during delivery of
-      UNREGISTERING events thus this property now defaults to true.
-
-      <p>Note that independent of this setting the service reference
-      of an UNREGISTERING service will not be returned by any of the
-      methods searching for service references provided by the
-      BundleContext interface.
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.osgi.registerserviceurlhandler</td>
-    <td>
-      Flag for installing OSGi service based URL handlers. 
-      Since the URL handler can only be installed once, there
-      might be cased where some external entity (not OSGi)
-      sets this. In this case, the OSGi handler can be disabled
-      by setting 
-    </td>
-    <td>Boolean</td>
-    <td>True</td>
-  </tr>
-</table>
-
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td><td align="center">1.7.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/bundle/package-summary.html">org.osgi.framework.hooks.bundle</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/resolver/package-summary.html">org.osgi.framework.hooks.resolver</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/service/package-summary.html">org.osgi.framework.hooks.service</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/launch/package-summary.html">org.osgi.framework.launch</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/condpermadmin/package-summary.html">org.osgi.service.condpermadmin</a></td><td align="center">1.1.1</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/permissionadmin/package-summary.html">org.osgi.service.permissionadmin</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/startlevel/package-summary.html">org.osgi.service.startlevel</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/url/package-summary.html">org.osgi.service.url</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td><td align="center">1.5.1</td><td><a target="_top" href="../../jars/index.html?bundle=framework.html">framework</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/frameworkcommands/index.html b/docs/bundledoc/frameworkcommands/index.html
deleted file mode 100644
index a30ee38..0000000
--- a/docs/bundledoc/frameworkcommands/index.html
+++ /dev/null
@@ -1,86 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - frameworkcommands, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: frameworkcommands
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Framework Commands</h1>
-<div class="abstract">
-  The Knopflerfish framework console bundle
-</div>
-
-<h2 class="man">Description</h2>
-
-The Framework commands bundle includes a rich set of commands through which the Knopflerfish framework can be controlled. This includes bundle management (install, start, stop etc), OSGi service information, to package and permission management.
-
-<h2 class="man">Framework Command Group</h2>
-The console command group is <b>framework</b>
-<p>
-The available commands are:
-<pre class="code">
-Available framework commands:
-  addpermission [-help] -b #bundle# | -d | -l #location# <type> [<name> [<actions>]] - Add permissions to bundle
-  bundlelevel [-help] <level> [<bundle>] ... - Set startlevel(s) for bundles
-  bundles [-help] [-1] [-i] [-l] [-s] [-t] [<bundle>] ... - List bundles
-  call [-help] [-f #filter#] <interface> <method> [<args>] ... - Call a method with zero or more java.lang.String
-  capability [-help] [-d] [-i] [-l] [-r] [-p] [<bundle>] ... - Show information about active capablities in the current wiring for a bundle
-  cd [-help] [-reset] [-a] [<base URL>] ... - Shows or sets the base URLs used to complete bundle location
-  certificates [-help] [ -i ] <bundle> ... - List certificates for bundles
-  closure [-help] <bundle> - Display the closure for a bundle
-  condpermission [-help] [<name>] ... - Get conditional permissions
-  deletepermission [-help] [-r] -b #bundle# | -d | -l #location# <type> <name> <actions> - Delete permissions from a bundle
-  findbundles [-help] <symbolic name> - Find bundles with a given symbolic name
-  frominstall [-help] <url> [<location>] - Install a bundle with a specific location from an URL
-  fromupdate [-help] <bundle> <url> - Update a bundle from a specific URL
-  headers [-help] [-i] [-l #locale#] <bundle> ... - Show bundle header values
-  install [-help] [-s] <location> ... - Install one or more bundles
-  meminfo [-help] [-gc] [-b | -m] - Display java memory information, in kilobytes
-  package [-help] [-l] -b | -p [<selection>] ... - Show java package information
-  pending [-help] [-i] [-l] - Show the bundles that have non-current, in use bune.dle wirings
-  permissions [-help] [-d] [<selection>] ... - Show permission information
-  property [-help] [-s] [-f] [<property>] ... - Lists Framework and System properties with values.
-  refresh [-help] [<bundle>] ... - Refresh all exported java packages belong to specified bundle
-  resolve [-help] [<bundle>] ... - Resolve one or more bundles
-  services [-help] [-i] [-l] [-sid #id#] [-f #filter#] [-r] [-u] [<bundle>] ... - List registered services
-  setcondpermission [-help] [-name #name] <conditional_permission_info>... - Set conditional permission
-  showstate [-help] [<pid>] ... - Show the state of a service, if the service provides state information
-  shutdown [-help] [-r] - Shutdown framework
-  start [-help] [-t] [-e] <bundle> ... - Persistently start one or more bundles according to their 
-  startlevel [-help] [<level>] - Shows or sets the global startlevel
-  stop [-help] [-t] <bundle> ... - Persitently stop one or more bundles
-  threads [-help] [-a] [-s] [<name>] ... - Display threads within this framework
-  uninstall [-help] <bundle> ... - Uninstall one or more bundles
-  update [-help] <bundle> ... - Update one or more bundles
-  wiring [-help] [-i] [-l] [-r] [-p] [<bundle>] ... - Show information about active wires in the current wiring for a bundle
-</pre>
-
-<h2 class="man">See Also</h2>
-<a href="../console/index.html">Console</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/http/index.html b/docs/bundledoc/http/index.html
deleted file mode 100644
index 0072dec..0000000
--- a/docs/bundledoc/http/index.html
+++ /dev/null
@@ -1,380 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - http, v4.0.5</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: http
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.5
-      </div>
-      
-
-<h1 class="man">Http server</h1>
-
-<div class="abstract">
-Small footprint OSGi HTTP server implementation for embedded use. 
-The HTTP server allows bundles to register
-resources as servlets, web pages, images or multimedia into a web server
-running on the framework.
-</div>
-
-<h2 class="man">Usage</h2>
-
-<p>
-The HTTP bundle can be configured by both CM or System properties
-</p>
-
-<p>
-As soon as the http bundle gets a valid configuration it creates and
-registers an HttpService instance into the framework. 
-</p>
-
-<p>To use HTTPS a bundle providing a <tt>SslServerSocketFactory</tt>
-must be installed. E.g., <a href="../sslj2sp/index.html">SSL Provider
-— J2SP</a>.</p>
-
-<p>
-Note: If the server fails to bind to a port, an HttpService will still
-be registered, but the service property "port" will not be present!
-</p>
-
-<a name="cmd-http"><h2 class="man">Console Commands</h2></a>
-The HTTP server has the built-in console command group <b>http</b>.
-The command group shows information about configuration, servlet and
-resource registrations, as well as transaction status of the HTTP
-server. 
-<pre class="code">
-Usage: list [-help] [-c] [-r] [-t] [-l]
-  List all the configured HTTP servers
-  -c  Show configuration info
-  -r  Show all registrations, servlets and resources
-  -t  Show info on transactions
-  -l  List in long format, same as supplying -c -r -t, providing extensive details
-</pre>
-
-
-<h3 class="man">Configuration using Framework Properties</h3>
-
-<table class="man">
-  <tr>
-    <th class="man">Name</th>
-    <th>Description</th>
-    <th>Type</th>
-    <th>Default</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.enabled</td>
-    <td>
-
-      If true, the bundle will start to listen in the http port.
-
-    </td>
-    <td>boolean</td>
-    <td>true</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.secure.enabled</td>
-    <td>
-
-      If true, the bundle will start to listen in the https
-      port. <em>Note:</em> This functionality requires that the bundle
-      is able to obtain a <tt>SslServerSocketFactory</tt> service
-      instance from the frameworks service registry.
-
-    </td>
-    <td>boolean</td>
-    <td>true</td>
-  </tr>
-  <tr>
-    <td>org.osgi.service.http.port</td>
-    <td>
-
-	Port number that the HTTP server will listen for http-requests
-	on.
-
-    </td>
-    <td>int</td>
-    <td>80</td>
-  </tr>
-  <tr>
-    <td>org.osgi.service.http.secure.port</td>
-    <td>
-
-	Port number that the HTTP server will listen for
-	https-requests on.
-
-    </td>
-    <td>int</td>
-    <td>443</td>
-  </tr>
-  <tr>
-    <td>org.osgi.service.http.hostname</td>
-    <td>
-
-	Host (IP interface name) to open the HTTP server socket
-	on. An empty string means all available interfaces.
-
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.mime.props</td>
-    <td>
-
-     URL to properties file defining MIME type mappings. The key in
-     the properties file is the file name extension and the value is
-     the associated MIME type.
-
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.dnslookup</td>
-    <td>
-
-      This boolean property decides if the server will use DNS lookup
-      when a servlet calls the HttpServletRequest.getRemoteHost
-      method. In some environments DNS lookup will cause the current
-      transaction to hang for a long period of time.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.response.buffer.size.default</td>
-    <td>
-
-      This integer property decides the default buffer size in bytes
-      for an HTTP response. If a servlet or publisher does not exceed
-      this buffer, the server will calculate and send the content
-      length header in the response. If the buffer is exceeded the
-      servlet or publisher need to set the content length header
-      explicitly. The content length header is required for persistent
-      connections. If the content length is unknown the server will
-      send a connection close header. The buffer size can be set
-      runtime by the servlet using the HttpResponse.setBufferSize()
-      method.
-
-    </td>
-    <td>int</td>
-    <td>16384</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.connection.max</td>
-    <td>
-
-      This integer property decides the maximum number of concurrent
-      connections to the HTTP server.
-
-    </td>
-    <td>int</td>
-    <td>50</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.connection.timeout</td>
-    <td>
-
-      This integer property decides the timeout in seconds for a
-      persistent connection to the HTTP server.
-
-    </td>
-    <td>int</td>
-    <td>30</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.session.timeout.default</td>
-    <td>
-
-      This integer property decides the default timeout in seconds for
-      an HTTP session.
-
-    </td>
-    <td>int</td>
-    <td>1200</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.encoding.default</td>
-    <td>
-
-      The default character encoding to use for text in the HTTP
-      response.
-
-    </td>
-    <td>String</td>
-    <td>ISO-8859-1</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.req.client.auth</td>
-    <td>
-
-      If client authentication shall be required or not when using
-      https.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.trace.enabled</td>
-    <td>
-      If the TRACE method shall be enabled or not
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.limit.requestline</td>
-    <td>
-      Defines the maximum length of an HTTP request line. This limit
-      is also applied for HTTP header lines. When exceeding this limit
-      a 413 response is returned - Request Entity Too Large. 
-    </td>
-    <td>int</td>
-    <td>8090</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.limit.requestheaders</td>
-    <td>
-      Defines the maximum number of headers accepted per request. 
-      When exceeding this limit a 413 response is returned - Request Entity Too Large. 
-    </td>
-    <td>int</td>
-    <td>100</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.http.limit.postsize</td>
-    <td>
-      Defines the maximum content size for a POST request. A value of
-      -1 indicates there is no limit. This is also the default behaviour.
-      When exceeding this limit a 413 response is returned - Request Entity Too Large. 
-    </td>
-    <td>int</td>
-    <td>-1</td>
-  </tr>
-</table>
-
-
-<h3 class="man">Configuration using the Configuration Manager</h3>
-
-The http bundle accepts Factory configurations on the PID
-<pre>
-  org.knopflerfish.bundle.http.factory.HttpServer
-</pre>
-..with the following properties:
-
-<dl>
-
-<dt>http.enabled</dt>
-<dd>If true, the bundle will start to listen in the http port.</dd>
-
-<dt>https.enabled</dt>
-<dd>If true, the bundle will start to listen in the https port. Note:
-    This functionality requires that the bundle is able to obtain a
-    <tt>SslServerSocketFactory</tt> service instance from the
-    frameworks service registry.</dd>
-
-<dt>port.http (Integer)</dt>
-<dd>This integer property decides the default port for the server instance.
-  The default port is 8080.</dd>
-
-
-<dt>port.https (Integer)</dt>
-<dd>This integer property decides the default port for HTTPS requests
-    to the server instance.
-  The default port is 8443.</dd>
-
-
-<dt>host (String)</dt>
-<dd>  This string property decides the default hostname for the server
-  instance. If the server is running on a multihomed machine this
-  property will be used to decide which network interface the server will
-  listen to. If this property is not set the server will listen to all network
-  interfaces. The default is to listen to all network interfaces.
-</dd>
-
-<dt>mime.map (Vector of String[2])</dt>
-<dd>
-  This property is a vector of arrays defining MIME type mappings. Each
-  entry in the vector is an array with two elements where the first is
-  the file name extension and the second is the associated MIME type.
-  By default the most common file types are defined.
-</dd>
-
-
-<dt>session.timeout.default (Integer)</dt>
-<dd>
-  This integer property decides the default timeout in seconds for an
-  HTTP session. The default is 1200 seconds.
-</dd>
-
-<dt>connection.timeout (Integer)</dt>
-<dd>
-  This integer property decides the timeout in seconds for a persistent
-  connection to the HTTP server. The default is 30 seconds.
-</dd>
-
-<dt>connection.max (Integer)</dt>
-<dd>
-  This integer property decides the maximum number of concurrent
-  connections to the HTTP server. The default is 50.
-</dd>
-
-<dt>dns.lookup (Boolean)</dt>
-<dd>
-  This boolean property decides if the server will use DNS lookup when a
-  servlet calls the HttpServletRequest.getRemoteHost method. In some
-  environments DNS lookup will cause the current transaction to hang for
-  a long period of time. The default is to do DNS lookup.
-</dd>
-
-<dt>response.buffer.size.default (Integer)</dt>
-<dd>
-  This integer property decides the default buffer size in bytes for an
-  HTTP response. If a servlet or publisher does not exceed this buffer,
-  the server will calculate and send the content length header in the
-  response. If the buffer is exceeded the servlet or publisher need to
-  set the content length header explicitly. The content length header is
-  required for persistent connections. If the content length is unknown
-  the server will send a connection close header. The buffer size can be
-  set runtime by the servlet using the HttpResponse.setBufferSize()
-  method. The default is 16384 bytes.
-</dd>
-
-</dl>
-
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=http/http_all-4.0.5.html">http_all-4.0.5</a><br>
-<a target="_top" href="../../jars/index.html?bundle=http/http_api-4.0.5.html">http_api-4.0.5</a><br>
-<a target="_top" href="../../jars/index.html?bundle=http/http-4.0.5.html">http-4.0.5</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=http/http_all-4.0.5.html">http_all-4.0.5</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td><td align="center">1.2.1</td><td><a target="_top" href="../../jars/index.html?bundle=http/http_all-4.0.5.html">http_all-4.0.5</a>, <a target="_top" href="../../jars/index.html?bundle=http/http_api-4.0.5.html">http_api-4.0.5</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/httpconsole/images/bundle-active.png b/docs/bundledoc/httpconsole/images/bundle-active.png
deleted file mode 100644
index f599d52..0000000
Binary files a/docs/bundledoc/httpconsole/images/bundle-active.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/bundle-lib-active.png b/docs/bundledoc/httpconsole/images/bundle-lib-active.png
deleted file mode 100644
index ed07510..0000000
Binary files a/docs/bundledoc/httpconsole/images/bundle-lib-active.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/bundle.png b/docs/bundledoc/httpconsole/images/bundle.png
deleted file mode 100644
index 565f406..0000000
Binary files a/docs/bundledoc/httpconsole/images/bundle.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/document-open.png b/docs/bundledoc/httpconsole/images/document-open.png
deleted file mode 100644
index 254a6b8..0000000
Binary files a/docs/bundledoc/httpconsole/images/document-open.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/go-home.png b/docs/bundledoc/httpconsole/images/go-home.png
deleted file mode 100644
index 9d62109..0000000
Binary files a/docs/bundledoc/httpconsole/images/go-home.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/help.png b/docs/bundledoc/httpconsole/images/help.png
deleted file mode 100644
index c67c7a6..0000000
Binary files a/docs/bundledoc/httpconsole/images/help.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/httpconsole_login.png b/docs/bundledoc/httpconsole/images/httpconsole_login.png
deleted file mode 100644
index 5f0411e..0000000
Binary files a/docs/bundledoc/httpconsole/images/httpconsole_login.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/httpconsole_openfile.png b/docs/bundledoc/httpconsole/images/httpconsole_openfile.png
deleted file mode 100644
index d03f786..0000000
Binary files a/docs/bundledoc/httpconsole/images/httpconsole_openfile.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_1.png b/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_1.png
deleted file mode 100644
index 5041683..0000000
Binary files a/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_1.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_3.png b/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_3.png
deleted file mode 100644
index 1e3f0f4..0000000
Binary files a/docs/bundledoc/httpconsole/images/httpconsole_ppc2003_3.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/info.png b/docs/bundledoc/httpconsole/images/info.png
deleted file mode 100644
index 07cf010..0000000
Binary files a/docs/bundledoc/httpconsole/images/info.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/lib.png b/docs/bundledoc/httpconsole/images/lib.png
deleted file mode 100644
index 4b55b50..0000000
Binary files a/docs/bundledoc/httpconsole/images/lib.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/openurl.png b/docs/bundledoc/httpconsole/images/openurl.png
deleted file mode 100644
index 4125479..0000000
Binary files a/docs/bundledoc/httpconsole/images/openurl.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/player_eject.png b/docs/bundledoc/httpconsole/images/player_eject.png
deleted file mode 100644
index 5a232e6..0000000
Binary files a/docs/bundledoc/httpconsole/images/player_eject.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/player_play.png b/docs/bundledoc/httpconsole/images/player_play.png
deleted file mode 100644
index 10102d8..0000000
Binary files a/docs/bundledoc/httpconsole/images/player_play.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/player_stop.png b/docs/bundledoc/httpconsole/images/player_stop.png
deleted file mode 100644
index d0e4733..0000000
Binary files a/docs/bundledoc/httpconsole/images/player_stop.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/images/view-refresh.png b/docs/bundledoc/httpconsole/images/view-refresh.png
deleted file mode 100644
index cab4d02..0000000
Binary files a/docs/bundledoc/httpconsole/images/view-refresh.png and /dev/null differ
diff --git a/docs/bundledoc/httpconsole/index.html b/docs/bundledoc/httpconsole/index.html
deleted file mode 100644
index 0e81271..0000000
--- a/docs/bundledoc/httpconsole/index.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - httpconsole, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: httpconsole
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">Http Console</h1>
-
-<div class="abstract">
-The Knopflerfish HTTP/HTML OSGi console is a small servlet that can be
-run on any OSGi platform with an installed HTTP server. It has been
-designed for use on devices with a small screen like mobile phones and
-pocket PC devices.
-</div>
-
-
-<h2 class="man">Description</h2>
-
-<div style="float: right; margin: 5px;">
-<img alt="HTTP console on pocketPC 2003" src="images/httpconsole_ppc2003_1.png"/><br/>
-<i>Image 1: HTTP console on pocketPC 2003</i>
-</div>
-
-<p>The Knopflerfish HTTP/HTML OSGi console is a small servlet that
-can be run on any OSGi platform with an installed HTTP server.</p>
-
-<p>When started, the servlet registers at <tt>/servlet/console</tt>
-and allows access to the standard framework functions as bundle
-installation (both from URLs and using browser file upload), start,
-stop, update and uninstall. Additionally, detail info on a bundle such
-as state, manifest and services can be displayed.</p>
-
-<p> Optionally, the HTTP console can request a login/pwd before
-enabling access. See <a class="std" href="#conf">configuration</a> for
-details.</p>
-
-<p> The HTTP console has been tested on Knopflerfish, Eclipse 3.0 and
-Oscar. It also runs well on Pocket PC (tested using KF on the IBM J9
-VM).</p>
-
-<p> The main screen lists all installed bundles. One or more bundles
-can be selected by marking the check box on the left.  After selecting
-bundles, the operations available as toolbar icons can be
-performed.</p>
-
-<p>Source is available via <a class="std"
-href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/http/httpconsole/">KF
-subversion</a> </p>
-
-<br clear="all">
-
-<h2 class="man">Usage</h2>
-
-<h3 class="man">Toolbar</h3>
-
-<div style="float: right; margin: 5px;">
-<img alt="Open a local file" src="images/httpconsole_ppc2003_3.png"/><br/>
-<i>Image 2: Result after starting a bundle</i>
-<div>
-<img src="images/httpconsole_openfile.png"><br/>
-<i>Image 3: Open a local file</i>
-</div>
-</div>
-
-<p>The toolbar display a set of command icons. When an icon is
-selected, the command will be performed. Any command result or errors
-will be displayed to the right of the bundle list.</p>
-
-<table>
- <tr>
- <td>
- <img  alt="Reload view" type="image" name="cmd_reload" src="images/go-home.png"> </td>
- <td style="vertical-align:top;">
-Reload page</td>
-</tr>
- <tr>
- <td>
- <img alt="Install bundle from file" type="image" name="cmd_installfile" src="images/document-open.png">
- </td>
- <td style="vertical-align:top;">
-Ask for a local bundle file, upload the file and install the bundle</td>
-</tr>
- <tr>
- <td>
- <img  alt="Install bundle from URL" type="image" name="dialog_cmd_installurl" src="images/openurl.png"> </td>
- <td style="vertical-align:top;">
-Ask for a bundle URL and install this bundle</td>
-</tr>
- <tr>
- <td>
- <img  alt="Start selected bundles" type="image" name="cmd_start" src="images/player_play.png"> </td>
- <td style="vertical-align:top;">
-Start selected bundles</td>
-</tr>
- <tr>
- <td>
- <img  alt="Stop selected bundles" type="image" name="cmd_stop" src="images/player_stop.png"> </td>
- <td style="vertical-align:top;">
-Stop selected bundles</td>
-</tr>
- <tr>
- <td>
- <img  alt="Update selected bundles" type="image" name="cmd_update" src="images/view-refresh.png"> </td>
- <td style="vertical-align:top;">
-Update selected bundles</td>
-</tr>
- <tr>
- <td>
- <img  alt="Uninstall selected bundles" type="image" name="cmd_uninstall" src="images/player_eject.png"> </td>
- <td style="vertical-align:top;">
-Uninstall selected bundles</td>
-</tr>
- <tr>
- <td>
- <img  alt="Show info for selected bundles" type="image" name="cmd_info" src="images/info.png"> </td>
- <td style="vertical-align:top;">
-Info about selected bundles. If no bundle is selected, show framework info</td>
-</tr>
- <tr>
- <td>
- <img  alt="Show help" type="image" name="cmd_help" src="images/help.png"> </td>
- <td style="vertical-align:top;">
-Show help page </td>
-</tr>
-</table>
-</p>
-<br clear="all"/>
-
-
-<h3 class="man">Bundle icons</h3>
-
-<div style="float: right; margin: 5px;">
-<img alt="Login screen" src="images/httpconsole_login.png"/><br/>
-<i>Image 4: Login screen</i>
-</div>
-
-<p>Each bundle is displayed using an icon, the bundle's name and the
-bundle description. If a bundle's icon is clicked, the bundle is
-selected, and the bundle info page is displayed.</p>
-
-<table>
-<tr>
-  <td><img src="images/bundle.png"></td>
-  <td>Bundle with activator</td>
-</tr>
-<tr>
-  <td><img src="images/bundle-active.png"></td>
-  <td>Started bundle with activator</td>
-</tr>
-<tr>
-  <td><img src="images/lib.png"></td>
-  <td>Bundle without activator</td>
-</tr>
-<tr>
-  <td><img src="images/bundle-lib-active.png"></td>
-  <td>Started bundle without activator</td>
-</tr>
-</table>
-<br clear="all"/>
-
-
-<h3 class="man"><a name="conf">Configuration using Framework Properties</a></h3>
-
-<p> The HTTP console can be configured using system properties:</p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.alias</td>
-    <td>
-
-      Alias for servlet registration. If set to '/', the http root
-      will used for the console.
-
-    </td>
-    <td>String</td>
-    <td>/servlet/console</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.filter</td>
-    <td>
-
-      Filter string for matching HttpServices. This can be used
-      to only show the console in some registered HttpServices.
-
-    </td>
-    <td>String</td>
-    <td>(objectclass=org.osgi.service.http.HttpService)</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.requirelogin</td>
-    <td>
-
-      If <tt>true</tt>, require login, using name and password.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.user</td>
-    <td>
-
-      User name required for login.
-
-    </td>
-    <td>String</td>
-    <td>admin</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.pwd</td>
-    <td>
-
-      User password required for login.
-
-    </td>
-    <td>String</td>
-    <td>admin</td>
-  </tr>
-  <tr>
-    <td>org.knopflerfish.httpconsole.expirationtime</td>
-    <td>
-
-      Expiration time for login sessions, in seconds. After this time,
-      the user will be logged out.
-
-    </td>
-    <td>int (seconds)</td>
-    <td>600</td>
-  </tr>
-</table>
-
-<br clear="all"/>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/junit/index.html b/docs/bundledoc/junit/index.html
deleted file mode 100644
index ae0c82a..0000000
--- a/docs/bundledoc/junit/index.html
+++ /dev/null
@@ -1,268 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - junit, v3.8.1.kf4-001</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: junit
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 3.8.1.kf4-001
-      </div>
-      <h1 class="man">JUnit on OSGI</h1>
-
-Bundles to support JUnit testing on a running framework. 
-<p>
-There are three bundles involved:
-<dl> 
-<dt>junit
-<dd>   bundle exporting the junit.framework.* classes
-   as well as allowing remote connection to test suites
-   in a running framework via http. This bundle also 
-   exports a JUnitService to allow other bundles in
-   the framework access to bundles.
-
-<dt> junit_runner
-<dd>    a bundle which automatically finds and runs
-    bundles in a framework. This bundle does 
-    not require any http connection, just the
-    junit bundle. See junit_runner/readme.txt
-    for more info.
-
-<dt> examples
-<dd>    some small test cases using junit
-</dl>
-
-<h2 class="man">Requirements:</h2>
-
-The junit bundle does not require any other bundles (as of revision 737)
-but can use the HTTP server and the KF console to make test access easier.
-<ul>
-<li> - optionally http server (used dynically by the server part)
-
-<li> - optionally KF console (used dynamically by the server part)
-
-<li> - XML parser (used by the client part)
-</ul>
-
-<h2 class="man">Background</h2>
-
-JUnit allows developers to write unit tests by writing classes 
-implementing junit.framework.Test, e.g TestCase, TestSuite etc.
-<p>
-A typical test looks like
-<pre class="code">
- class MyTest extends junit.framework.TestCase {
-   public void runTest() {
-     ... do some work
-     assertTrue(someflag)
-   }
- }
-</pre>
-As long as these test do not depend on a running framework, they
-are easy to run using normal tools, but when they depend on the
-framework, the standard test running tools become insufficient.
-<p>
-Thus, the junit bundle allows remote access to test cases running
-on a framework, from any normal test tool running on a developer 
-machine.
-
-<h2 class="man">How it works</h2>
-<ol> 
-<li>Bundle developers write tests for a bundle B just as any other 
-    JUnit tests. The tests simply extends TestCase or TestSuite.
-
-<li>The bundle developer register these tests as-is into the OSGi
-    framework, with a service.pid property giving the name
-    of the test. This should normally be the same name as the
-    test. Typically all tests from a bundle is grouped into
-    a TestSuite.
-<p>
-    Example: register a test suite into the framework.
-<pre class="code">
-      TestSuite suite = new TestSuite("example1");
-
-      suite.addTest(new MyTest());
-      Hashtable props = new Hashtable();
-      props.put("service.pid", suite.getName());
-    
-      bc.registerService(Test.class.getName(), suite, props);
-</pre>
-
-<li>The junit bundle, when started, registers a servlet in the
-    OSGi web server, if the web server exists. This servlet then 
-    allows remote running of the registered test cases.
-
-    The servlet is available at
-<pre class="shell">
-      http://<host>:<port>/junit?id=<testid>
-</pre>
-    where <testid> == value of the service.pid property exported
-    in 2) 
-<p>
-    The only interface that registered tests need to implement
-    is junit.framework.Test
-<P>
-    The junit bundle thus accesses the tests via BundleContext.getService()
-    and needs ServicePermission, if FW security is active.
-<p>
- Note how *only* step 2) is extra work compared to writing standard
- JUnit tests.
-
-
-
-<li>When actual testing is desired, a single client test class is used
-    on the development machine (which doesn't need to run the framework!)
-<p>
-    The client class name is:
-<pre class="shell">
-     org.knopflerfish.service.junit.client.JUnitClient
-</pre>
-    The target host and test id is passed to the client as a 
-    system property "suite.url"
-<p>
-    This client test class extends TestSuite and act as a proxy to the 
-    actual test, and can thus be passed to any test runner, as
-<p>
-     junit.swingui.TestRunner or
-     junit.textui.TestRunner
-<p>
-   as well as Ant's "junit" task.
-<p>
-   Example: Using the Swing TestRunner
-<pre  class="shell">
-    > java "-Dsuite.url=http://localhost:8080/junit?id=example1" \
-       junit.swingui.TestRunner \
-       org.knopflerfish.service.junit.client.JUnitClient
-</pre>
-    This will run the test with id "example1" on localhost:8080
-<p>
-    Note that the class path must be set fo find both junit.jar and
-    the junit_all-1.0.0.jar bundle.
-
-<li>Testing can also be done without using the servlet. The easiest
-    approach is then to use the junit_runner bundle, and provide it with
-    a list of test IDs to run. XML formatted results will then be
-    written to file.
-
-<li>If you are using the KF console, the junit bundle registers
-    a set of commands to list and run test cases.
-<pre class="shell">
-    > enter junit
-    junit> help
-    Available junit commands:
-     list [-help]  - List available tests
-     run [-help] [-out #file#] <id> - Run a test and dump XML results 
-                                      to a file or console.
-</pre>
-</ol>
-
-<b>Note1:</b><br>
-<p>
-  The servlet is also capable of exporting the test results as plain
-  HTML. In this case, the client proxy isn't needed. Just point your
-  browser at
-<pre class="shell">
-   http://<host>:<port>/junit
-</pre>
-  and you'll get a list of available tests. From this list you can
-  select suites and individual tests to run. The result will be
-  presented as HTML.
-
-<b>Note2: </b><br>
-
-  The junit_runner/resource directory contains som XSLT style
-  sheets which may be useful for formatting XML test results to
-  HTML.
- 
-
-<h2 class="man">Monitoring test case execution</h2>
-
-  JUnit <tt>TestListener</tt>s may be used to monitor test case
-  execution.
-
-  <p>
-
-  The junit-bundle will look up all services registered
-  under the class <tt>junit.framework.TestListener</tt> in the
-  running framework and add them to the TestResult as listeners.
-
-  <p>
-    Example: register a test listener into the framework.
-<pre class="code">
-      TestListener listener = new MyTestListener();
-
-      bc.registerService(TestListener.class.getName(), listener, null);
-</pre>
-
-
-<h2 class="man">JUnit support in bundlebuild.xml</h2>
-
-As a convenience, the ant/bundlebuild.xml script
-contains support for using the JUnit client.
-
-<p>
-Example: run the swing Test runner from Ant
-<pre  class="shell">
-   > ant -Dtest.id=example1 junit_ext
-</pre>
-   
-Example: run Ant's junit task
-<pre  class="shell">
-   > ant -Dtest.id=example1 junit_ant
-</pre>
-
-Tip: Bundles can be installed using the telnet console. The telnet
-console is installed by the default init.xargs. In this case a bundle
-can be installed and started by
-<pre  class="shell">
-   > ant install start
-</pre>     
-
-The following Ant properties are set as default in bundlebuild.xml:
-<pre class="code">
-  http.host              localhost
-  http.port              8080
-  junit.runner.class     junit.swingui.TestRunner
-  junit.formatter        plain
-  junit.outfile          junit
-</pre>
-
-<h2 class="man">Known issues</h2>
-
-<ul>
-<li>TestSuites are "flattened" by the client proxy, so the
-   tree structure in the Swing runner might look a bit different
-   compared from tests run locally.
-
-<li> Proxied tests cannot (yet) be individually re-run. The entire client 
-   proxy must be re-run
-</ul>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td>junit.framework</td><td align="center">3.8.1</td><td><a target="_top" href="../../jars/index.html?bundle=junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/kxml/index.html b/docs/bundledoc/kxml/index.html
deleted file mode 100644
index 1d3d7b8..0000000
--- a/docs/bundledoc/kxml/index.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - kxml, v2.3.0.kf4-001</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: kxml
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 2.3.0.kf4-001
-      </div>
-      <h1 class="man">kXML 2 XML parser</h1>
-
-<div class="abstract">
-  kXML - a lightweight low-footprint XML parser.
-</div>
-
-<h2 class="man">kXML 2</a></h2>
-<p>
-  The kXML XML parser is a lighweight, low-footprint XML parser. It
-  provides basic XML parse functionality which may be well enough for
-  many siutations despite the limitations kXML has compared to a more
-  full-featured parser. 
-</p>
-
-<h2 class="man">See Also</h2>
-<a href="../xalan/index.html">Xalan</a>,
-<a href="../xerces/index.html">Xerces</a>
-and the kXML 2 project on <a target="_top"
-href="http://kxml.sourceforge.net/kxml2/">Sourceforge</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/kdom/package-summary.html">org.kxml2.kdom</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/wap/package-summary.html">org.kxml2.wap</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/wap/syncml/package-summary.html">org.kxml2.wap.syncml</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/wap/wml/package-summary.html">org.kxml2.wap.wml</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/kxml2/wap/wv/package-summary.html">org.kxml2.wap.wv</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
- <tr><td>org.xmlpull.v1</td><td align="center">1.1.3.1</td><td><a target="_top" href="../../jars/index.html?bundle=kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/log/index.html b/docs/bundledoc/log/index.html
deleted file mode 100644
index 0cbf0d2..0000000
--- a/docs/bundledoc/log/index.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - log, v5.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: log
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.0
-      </div>
-      <h1 class="man">Log</h1>
-
-<div class="abstract">
-  OSGi Log service implementation.
-</div>
-
-<h2 class="man">Description</h2>
-
-<p>
-This bundle provides a log-service and a log-reader-service
-according to the OSGi Compendium specification. It also exports a
-managed service implementing both
-<tt>org.osgi.service.cm.ManagedService</tt> and
-<tt>org.knopflerfish.service.log.LogConfig</tt>
-to allow for configuration of the log service.
-</p>
-
-<p>
-Console commands for interacting with the log service are provided
-by the bundle
-<a href="../logcommands/index.html"><tt>logcommands</tt></a>.
-</p>
-
-
-<h2 class="man">Configuration properties</h2>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.out</td>
-    <td>
-
-	Print new log entries on System.out when set to "true".
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.grabio</td>
-    <td>
-
-	If <code>true</code> grab all text printed on System.out and
-	System.err and add it to the log.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.level</td>
-    <td>
-
-	The default log level. All log records that are of lesser
-	severity than this level will be skipped when writing to the
-	log file and not keept in memory.
-
-    </td>
-    <td>Case insensitive String, one of "INFO", "DEBUG", "WARNING", "ERROR",
-    "DEFAULT".</td>
-    <td>INFO</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.file</td>
-    <td>
-
-	If <code>true</code> write log entries to file. Only entires
-	with the severity given by
-	<code>org.knopflerfish.log.level</code> or higher are written.
-
-    </td>
-    <td>boolean</td>
-    <td>false</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.file.dir</td>
-    <td>
-
-	The path to the directory to write the cyclic file log to.  If
-	empty or not given the data directory of the log-bundles will
-	be used.
-
-    </td>
-    <td>String</td>
-    <td></td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.memory.size</td>
-    <td>
-
-	Number of log records to keep in memeory.
-
-    </td>
-    <td>Integer</td>
-    <td>250</td>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.log.timestamp.pattern</td>
-    <td>
-
-	The pattern to use when formatting the timestamp of a log
-	entry. The value of this property must follow the rules of a
-	pattern as defined by the class java.text.SimpleDateFormat.
-
-    </td>
-    <td>String</td>
-    <td>yyyyMMdd HH:mm:ss</td>
-  </tr>
-
-</table>
-
-
-<h2 class="man">See Also</h2>
-<a href="../logcommands/index.html">Logcommands</a>
-  
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=log/log_all-5.0.0.html">log_all-5.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=log/log_api-5.0.0.html">log_api-5.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=log/log-5.0.0.html">log-5.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=log/log_all-5.0.0.html">log_all-5.0.0</a>, <a target="_top" href="../../jars/index.html?bundle=log/log_api-5.0.0.html">log_api-5.0.0</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=log/log_all-5.0.0.html">log_all-5.0.0</a>, <a target="_top" href="../../jars/index.html?bundle=log/log_api-5.0.0.html">log_api-5.0.0</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/logcommands/index.html b/docs/bundledoc/logcommands/index.html
deleted file mode 100644
index 4eb48b1..0000000
--- a/docs/bundledoc/logcommands/index.html
+++ /dev/null
@@ -1,433 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - logcommands, v5.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: logcommands
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 5.0.0
-      </div>
-      <h1 class="man">Logcommands</h1>
-
-<div class="abstract">
-  Log service console commands to view log entries and configure the
-  log-service.
-</div>
-
-
-<h2 class="man">Description</h2>
-The logcommands bundle publishes two command groups:
-<ul>
-  <li>log - Log commands</li>
-  <li>logconfig - Configuration commands for the log</li>
-</ul>      
-
-The <tt>log</tt> command group consists of a single command
-<tt>show</tt> that interacts directly with the log service to get and
-display available log entries.
-
-The <tt>logconfig</tt> command group offers commands for configuring a
-log service implementation. E.g., number of log entries to keep in
-memory, if entries should be printed to standard out or not, if
-entries are to be saved to a file or not.
-
-
-<h2 class="man">Log - Log commands</h2>
-
-<p>
-The <tt>log</tt> command group consists of a single command,
-<tt>show</tt>, that interacts directly with the log-reader service to
-get and display available log entries.
-</p>
-
-<p>
-  The group contains the following command:
-</p>
-
-<ul><li>
-    <tt>show [-help] [-f] [-h #hours#] [-l #level#] [-n #count#] [-s] [<bundle>] ...</tt></li>
-</ul>
-
-<p>
-This command group works with any OSGi compliant log-service
-implementation.
-</p>
-
-
-<h3 class="man">show</h3>
-
-<p>
-  The <tt>show</tt> command is used to show selected log entries
-  that are available from the log service, i.e., held in memory.
-</p>
-
-<p>
-  Entries will be ordered with the most recent entry first. If no
-  bundle argument is supplied, log entries from all bundles are
-  considered.
-</p>
-
-<pre>
-  show [-help] [-f] [-h #hours#] [-l #level#] [-n #count#] [-s] [<bundle>] ...
-</pre>
-
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  
-  <dt><b>-f</b></dt><dd>Show only entries for events from the framework.</dd>
-  <dt><b>-h #hours#</b></dt><dd>Show only entries since #hours#
-    back. Note that 'hours' is a float so that smaller time than one
-    hour is possible.</dd>
-  <dt><b>-l #level#</b></dt><dd>Show only entries with minimum #level#
-    of one of <tt>error</tt>, <tt>warning</tt>, <tt>info</tt>
-    or <tt>debug</tt>.</dd>
-  
-  <dt><b>-n #count#</b></dt><dd>Show at most #count# entries, that is, the
-    #count# most recent entries that fulfills the selection criteria.</dd>
-  <dt><b>-s</b></dt><dd>Show the stack trace for exceptions.</dd>
-  <dt><b><bundle></b></dt><dd>Name or id of bundle. The value
-    <tt>"*"</tt> may be used to list entries from all bundles
-    except the framework itself.</dd>
-</dl>
-
-<h3 class="man">Examples</h3>
-<p>
-Show log error entries.
-</p>
-<pre>
-  log> show -l error
-  07/06 15:16:41 ERROR #19, messenger -
-  Failed to load configuration / java.io.FileNotFoundException:
-  /demo/gatespace/bin/host.conf
-  (No such file or directory)
-  07/06 15:16:41 ERROR FRAMEWORK -
-  FrameworkError: org.osgi.framework.BundleException:
-  Bundle.start: BundleActivator start failed
-  07/06 15:16:41 ERROR #18, authentication -
-  Failed to read KeyStore / java.net.MalformedURLException:
-  null: java.lang.NullPointerException: 
-</pre>
-
-
-<h2 class="man">Logconfig - Configuration commands for the log</h2>
-
-<p>
-The <tt>logconfig</tt> command group offers commands for configuring a
-log service implementation.
-</p>
-
-<p>
-This command group only works with log service implementations that
-publishes a <tt>org.knopflerfish.service.log.LogConfig</tt>.
-</p>
-
-<p>
-  The group contains the following commands:
-</p>
-
-<ul><li>
-    <tt>memory [-help] [<int>] </tt></li>
-  <li>
-    <tt>setlevel [-help] <level> [<bundle>] ... </tt>
-  </li>
-
-  <li>
-    <tt>showlevel [-help] [<bundle>] ... </tt></li>
-  <li>
-    <tt>out [-help] [-on | -off] </tt></li>
-  <li>
-    <tt>file [-help] [-on | -off [-size #size#] [-gen #gen#] [-flush | -noflush] </tt></li>
-  <li>
-    <tt>timestamp [-help] [<pattern>] </tt></li>
-</ul>
-
-
-
-<h3 class="man">memory</h3>
-
-<p>
-  The memory command is used to control the number of log entries 
-  that are held in memory.
-</p>
-
-<p>
-  If the command is given without any parameters the current maximum
-  number of log entries is shown.
-</p>
-
-<p> 
-  Show and set the number of log entries in memory.
-</p>
-<pre>
-  memory [-help] [<int>]
-</pre>
-
-Parameters:
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-
-  <dt><b><int></b></dt><dd>The maximum number of log entries held in memory.
-  </dd>
-</dl>
-
-
-
-<h3 class="man">setlevel</h3>
-
-<p>
-  The setlevel command is used to control what log entries are
-  actually written to the log. There is one default log level
-  and in addition each bundle can have its own setting. A
-  log level may also be set giving a bundle short name in which
-  case all bundles with this name will be logged at the given
-  level. The default level is used for bundles without log
-  levels of their own.</p> 
-
-<p>
-  Entries with a severity level higher or the same as the
-  current default level will be logged. For example, with the
-  default level set to warning, entries with level warning or
-  error will be logged. 
-</p>
-
-<p>
-The severity order of the levels is: 
-</p>
-<ul><li>
-    ERROR </li>
-  <li>
-    Warning </li>
-  <li>
-    info </li>
-  <li>
-    debug </li>
-
-</ul>
-
-
-<p>
-  Set log level.
-</p>
-<pre>
-  setlevel [-help] <level> [<bundle>] ...
-</pre>
-
-Parameters:
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><level></b></dt><dd>The new log level. One of <tt>error</tt>,
-    <tt>warning</tt>, <tt>info</tt>,
-    <tt>debug</tt> or <tt>default</tt>.
-  </dd>
-
-  <dt><b><bundle></b></dt><dd>URL, short name, or id of bundle.
-    A URL or bundle id must be used if wanting to set the log
-    level of one specific bundle. When supplying a bundle short
-    name all bundles with this name will be logged at the given level. 
-    If no bundle is given the default log level is set.</dd>
-</dl>
-
-
-
-<h3 class="man"> showlevel</h3>
-
-<p>
-  The showlevel command lists the default log level and the levels for
-  the specified bundles, or for all bundles if no bundle is specified
-  (only bundles with a level different from the default level
-  are listed). 
-</p>
-
-<p>
-  The output has columns for bundle id, log level and bundle
-  name. A "<tt>*</tt>" in the id column indicates the
-  default level, and a "<tt>-</tt>" in the same column
-  indicates that the log level was set with a bundle short name
-  or that the bundle is not yet installed. The bundle name
-  column may contain a bundle short name or if the log level of a
-  bundle not yet installed is set the bundle location will be
-  displayed instead.
-</p>
-
-<p>
-  Show current log levels.
-</p>
-<pre>
-  showlevel [-help] [<bundle>] ...
-</pre>
-
-Parameters:
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><bundle></b></dt><dd>URL, bundle short name or id. Shows
-    level for a specific bundle if a bundle id or location is
-    given. When supplying a bundle short name the log level for all
-    bundles with this name will be displayed.</dd>
-</dl>
-
-
-<b>Example:</b> Default and bundle log levels
-<pre>
-
-  logconfig> setlevel warning console
-  logconfig> showlevel
-  *  debug    (default)
-  2  Warning  console
-  -  Warning  console   (default)</pre>
-
-
-<h3 class="man">out</h3>
-
-<p>
-  Enables printout of all log entries on standard out. The entries are
-  written to the log as well.
-</p>
-
-<p>The <tt> out </tt> command is disabled if no valid configuration has been
-  received, that is, the Configuration Management(CM) component has
-  not generated a configuration or the CM component is not available.
-  See [<a href="#IG-PROD_GDSP_CP_PFM_LOG">1</a>] for further
-  description of the configuration procedure.</p>
-
-<p>
-  If the command is given without parameters the present setting is shown.
-</p>
-
-<pre>
-  out [-help] [-on | -off]
-</pre>
-
-Parameters:
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-on</b></dt><dd>Turns on writing of log entries to standard out.</dd>
-  <dt><b>-off</b></dt><dd>Turns off writing of log entries to standard out.</dd>
-
-</dl>
-
-
-<h3 class="man">file</h3>
-<p>
-  This command controls the writing of log entries to file, the size 
-  of log files, how many generations of log files to keep and whether each
-  log entry should be flushed to file.
-</p>
-
-<p>The <tt> file </tt> command is disabled if no valid configuration has been
-  received, that is, the Configuration Management(CM) component has
-  not generated a configuration or the CM component is not
-  available. See [<a href="#IG-PROD_GDSP_CP_PFM_LOG">1</a>] for further
-  description of the configuration procedure.
-</p>
-
-<p>
-If the command is given without parameters the present setting is shown.
-</p>
-
-<p>
-Note that a change in log file size does not take effect until the
-present log file has been filled and a new is started.
-</p>
-
-<p>
-  Configures the writing of log entries to file.
-</p>
-
-<pre>
-  file [-help] [-on | -off [-size #size#] [-gen #gen#] [-flush | -noflush] 
-</pre>
-
-Parameters:
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-
-  <dt><b>-on</b></dt><dd>Turns on writing of log entries to file.</dd>
-  <dt><b>-off</b></dt><dd>Turns off writing of log entries to file.
-    <a name="B1"><a href="#F1"><sup>1</sup></a>
-    </dd>
-    <dt><b>-size #size#</b></dt><dd>Sets the maximum size (in characters) of a log file.</dd>
-    <dt><b>-gen #gen#</b></dt><dd>Sets the number of log file generations that are kept.</dd>
-    <dt><b>-flush</b></dt><dd>Turns on log file flushing after each log entry.</dd>
-
-    <dt><b>-noflush</b></dt><dd>Turns off log file flushing after each log entry.</dd>
-  </dl>
-
-
-<h3 class="man">timestamp</h3>
-
-<p>
-  The timestamp command shows or sets the formatting pattern for the
-  time-stamp in a log entry. This formatting pattern applies to log
-  entries written to the file log and to the console when
-  <code>out</code> has been activated. It does not apply to output of
-  the <code>log</code>-command.
-</p>
-
-<p>
-  When called without an argument it prints the current formatting pattern.
-</p>
-<pre>
-  timestamp [-help] [<pattern>]
-</pre>
-
-Parameters:
-<dl>
-  <dt><b>-help</b></dt>
-  <dd>Display command help text.</dd>
-
-  <dt><b><pattern></b></dt>
-  <dd>The new time-stamp formatting pattern. The pattern follows the
-      rules for time formatting patterns defined by the
-      java.text.SimpleDateFormat-class. The default pattern is
-      "<code>yyyyMMdd HH:mm:ss</code>".</dd>
-</dl>
-
-
-<b>Example:</b> Extend the time-stamp format to include milliseconds,
-then call without argument to check that the new pattern was applied.
-<pre>
-
-  logconfig> timestamp 'yyyyMMdd HH:mm:ss.SSS'
-  logconfig> timestamp
-    time stamp pattern: 'yyyyMMdd HH:mm:ss.SSS'.
-
-</pre>
-
-
-<h3 class="man">Examples</h3>
-  <p>
-    Turn on writing to standard out
-    <pre>
-      logconfig> out -on
-    </pre>
-  </p>
-  <p>Turn on flushing of buffers after each log entry.
-    <pre>
-      logconfig> file -flush
-    </pre>
-  </p>
-
-
-
-<h2 class="man">See Also</h2>
-<a href="../log/index.html">Log</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/prefs/index.html b/docs/bundledoc/prefs/index.html
deleted file mode 100644
index 33976f3..0000000
--- a/docs/bundledoc/prefs/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - prefs, v4.0.2</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: prefs
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.2
-      </div>
-      
-
-<h1 class="man">Preferences</h1>
-
-<div class="abstract">
-  The prefs bundle implements the 
-  <a  target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/PreferencesService.html">
-    OSGi Preferences service</a>
-  that provides easy to use persistent storage of bundle data. 
-</div>
-
-<h2 class="man">Description</h2>
-<p>
-  With Preferences, bundles can store data persistently. Data is stored
-  as named values in a tree structure where each node can have any
-  number of key-value pairs. For example, Preferences can be used by a
-  bundle to store application and user settings. A bundle typically uses
-  a number of preferences tree roots, one for system settings and one
-  for each user's settings. 
-</p>
-<p>
-  This component implements the OSGi Preferences service.
-</p>
-<p>
-  Note that preferences are tied to a bundle. The OSGi service
-  provides no way for a bundle to access the preferences of another
-  bundle. Once fetched though, it is possible for one bundle to share
-  its preferences with other bundles. 
-</p>
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a><br>
-<a target="_top" href="../../jars/index.html?bundle=prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td><td align="center">1.1.1</td><td><a target="_top" href="../../jars/index.html?bundle=prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a>, <a target="_top" href="../../jars/index.html?bundle=prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/repository_desktop/images/repository_add.png b/docs/bundledoc/repository_desktop/images/repository_add.png
deleted file mode 100644
index 0b9f455..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_add.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/images/repository_add_300.png b/docs/bundledoc/repository_desktop/images/repository_add_300.png
deleted file mode 100644
index 583161e..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_add_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/images/repository_details_displayer.png b/docs/bundledoc/repository_desktop/images/repository_details_displayer.png
deleted file mode 100644
index 606da0c..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_details_displayer.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/images/repository_details_displayer_300.png b/docs/bundledoc/repository_desktop/images/repository_details_displayer_300.png
deleted file mode 100644
index bfce667..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_details_displayer_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/images/repository_settings.png b/docs/bundledoc/repository_desktop/images/repository_settings.png
deleted file mode 100644
index a16b498..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_settings.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/images/repository_settings_300.png b/docs/bundledoc/repository_desktop/images/repository_settings_300.png
deleted file mode 100644
index a5d2134..0000000
Binary files a/docs/bundledoc/repository_desktop/images/repository_settings_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_desktop/index.html b/docs/bundledoc/repository_desktop/index.html
deleted file mode 100644
index f507888..0000000
--- a/docs/bundledoc/repository_desktop/index.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - repository_desktop, v1.1.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: repository_desktop
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 1.1.1
-      </div>
-      <h1 class="man">The Knopflerfish Desktop Repository plug-in</h1>
-<div class="abstract">
-  The Knopflerfish OSGi Desktop Repository plug-in provides a bundle detail
-  view for interacting with the OSGi repository and resolver services.
-</div>
-
-<h2 class="man">Description</h2>
-<div style="float:right">
-  <a href="images/repository_details_displayer.png">
-    <img src="images/repository_details_displayer_300.png" width="300" height="165">
-  </a>
-</div>
-
-  <p>The Knopflerfish OSGi Desktop Repository plug-in provides a bundle detail
-  view for working with OSGi repositories. It support common operations
-  like browsing repositories and installing a bundle from a
-  repository. Future versions of this plugin will also work with OSGi
-  resolver services to be able not only to install the selected bundle
-  but also all its dependencies that are needed for the selected
-  bundle to be fully functional.</p>
-
-
-<h3 class="man">The Repository-desktop view</h3>
-
-  <p>The view presents a tree view of all resources that are
-  down-loadable bundles in the configured repositories. The tree
-  supports a number of different ways to sort the bundles. The
-  drop-down on the left in the tool-bar below the bundle tree can be
-  used to change the sort order.</p>
-
-  <p>The main part of the view (to the right of the bundle tree) shows
-  details for the selected bundle. Here you can see the download URL,
-  the size and a SHA-256 checksum for the bundle. You can also see all
-  capabilities that the bundle provides and requires.</p>
-
-
-<h3 class="man">The Repository-desktop view tool-bar</h3>
-
-  <p>The tool.bar below the bundle tree on the left of the repository
-  view provides buttons to:</p>
-
-  <ul>
-    <li> Change sort order in the bundle tree.
-    <li> Rebuild the view with data from the available set of
-         repository services.
-    <li> Install the selected bundle.
-    <li> Install and start the selected bundle.
-    <li> Show a settings window to configure repositories.
-  </ul>
-
-<div style="clear:both"></div>
-<h3 class="man">The settings window</h3>
-
-<div style="float:right">
-  <a href="images/repository_settings.png">
-    <img src="images/repository_settings_300.png" width="300" height="106">
-  </a>
-</div>
-
-  <p>In the settings window you can configure the rank of a
-  repository. The repositories are searched for resources in rank
-  order, highest rank first.</p>
-
-  <p>It is also possible to enable or disable a repository. A disabled
-  repository is not searched when searching for bundle resources. Note
-  that the enable / disable state only applies to the current
-  "session".</p>
-
-<div style="clear:both"></div>
-<div style="float:right">
-  <a href="images/repository_add.png">
-    <img src="images/repository_add_300.png" width="300" height="165">
-  </a>
-</div>
-  <p>The settings dialog also provides an "Add..." button to define
-  new XML-based repositories.</p>
-
-
-
-<div style="clear:both"></div>
-<h2 class="man">Configuration properties</h2>
-
-The Repository-Desktop bundle does not support any properties for configuration.
-
-<!--
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.bundle.log.window.impl.LogTableModel.capacity</td>
-    <td>
-
-	The maximum number of log entries to keep in memory in one log
-	view. Use a negative value (i.e., a value smaller than 1) to
-	indicate that old entries shall never be removed.
-
-    </td>
-    <td>int</td>
-    <td>342</td>
-  </tr>
-</table>
--->
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/repository_xml/images/repository_add.png b/docs/bundledoc/repository_xml/images/repository_add.png
deleted file mode 100644
index 0b9f455..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_add.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/images/repository_add_300.png b/docs/bundledoc/repository_xml/images/repository_add_300.png
deleted file mode 100644
index 583161e..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_add_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/images/repository_details_displayer.png b/docs/bundledoc/repository_xml/images/repository_details_displayer.png
deleted file mode 100644
index 606da0c..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_details_displayer.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/images/repository_details_displayer_300.png b/docs/bundledoc/repository_xml/images/repository_details_displayer_300.png
deleted file mode 100644
index bfce667..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_details_displayer_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/images/repository_settings.png b/docs/bundledoc/repository_xml/images/repository_settings.png
deleted file mode 100644
index a16b498..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_settings.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/images/repository_settings_300.png b/docs/bundledoc/repository_xml/images/repository_settings_300.png
deleted file mode 100644
index a5d2134..0000000
Binary files a/docs/bundledoc/repository_xml/images/repository_settings_300.png and /dev/null differ
diff --git a/docs/bundledoc/repository_xml/index.html b/docs/bundledoc/repository_xml/index.html
deleted file mode 100644
index 2afeccf..0000000
--- a/docs/bundledoc/repository_xml/index.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - repository_xml, v1.0.2</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: repository_xml
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 1.0.2
-      </div>
-      <h1 class="man">Repository XML</h1>
-<div class="abstract">
-  The Knopflerfish OSGi Repository XML bundle provides Repository
-  services based on the contents of XML documents using the OSGi
-  specified schema
-  <code>http://www.osgi.org/xmlns/repository/v1.0.0</code>.
-</div>
-
-<h2 class="man">Description</h2>
-
-  <p>The Knopflerfish OSGi Repository XML bundle creates Repository
-  services that reflects the contents of XML documents following the
-  OSGi specified schema:
-  <code>http://www.osgi.org/xmlns/repository/v1.0.0</code>.</p>
-
-
-<div style="clear:both"></div>
-<h2 class="man">Configuration</h2>
-
-  <p>The XML documents to parse and present as Repository services can
-  be configured in several ways:</p>
-
-  <ul>
-    <li>Using framework (system) properties.
-    <li>Using CM configuration.
-    <li>Using the
-        <code>org.knopflerfish.service.repository.XmlBackedRepositoryFactory</code>
-	registered by the bundle.
-  </ul>
-
-
-<h3 class="man">Configuration properties</h3>
-
-  <p>The Repository XML bundle supports the following framework
-  properties for configuration:</p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>org.knopflerfish.repository.xml.urls</td>
-    <td>
-
-        Comma separated list of OSGi Repository XML URLs for instantiating 
-        Repository Services from.
-
-    </td>
-    <td>String</td>
-    <td>—</td>
-  </tr>
-</table>
-
-
-<h3 class="man">Configuration via Configuration Management</h3>
-
-  <p>The Repository XML bundle uses a factory PID to configure
-  repository services. Each factory PID configuration instance
-  corresponds to one XML file for which one Repository service will be
-  created.</p>
-
-  <p>The factory PID is
-  <code>org.knopflerfish.repository.xml.MSF</code>.</p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>url</td>
-    <td>
-
-        URL pointing to the location of an OSGi Repository XML file to instantiate
-	a Repository Service from.
-
-    </td>
-    <td>String</td>
-    <td>—</td>
-  </tr>
-</table>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a><br>
-<a target="_top" href="../../jars/index.html?bundle=repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a>, <a target="_top" href="../../jars/index.html?bundle=repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/repositorycommands/index.html b/docs/bundledoc/repositorycommands/index.html
deleted file mode 100644
index eb74d23..0000000
--- a/docs/bundledoc/repositorycommands/index.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - repositorycommands, v1.1.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: repositorycommands
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 1.1.1
-      </div>
-      <h1 class="man">Repository Commands</h1>
-<div class="abstract">
-  The Knopflerfish repository manager console bundle
-</div>
-
-<h2 class="man">Description</h2>
-
-The Repository commands bundle includes a set of commands through which the Knopflerfish Repository Manager can be controlled. This includes bundle search and install, repository management (add, remove, ordering, enable and disable).
-
-<h2 class="man">Repository Command Group</h2>
-
-<pre class="code">
-Available repository commands:
-  add [-help] [-r #rank#] <url> - Add a XML based repository.
-  bundle [-help] [-l] [<symbolicname> [<versionRange>]] - List bundle resources.
-  disable [-help] <repository> ... - Disable selected repository.
-  enable [-help] <repository> ... - Enable selected repository.
-  install [-help] [-s] <symbolicname> [<versionRange>] - Install bundle resource.
-  list [-help] [-l] [<repository>] - List repositories.
-  rank [-help] <rank> <repository> ... - Change repository ranking.
-  show [-help] [-t] <namespace> [<filter>] - Show all capabilities and requirements for selected resources.
-</pre>
-
-<h3 class="man">add</h3>
-<p>
-  Add a XML based repository.
-</p>
-<pre>
-add [-help] [-r #rank#] <url>
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-r #rank#</b></dt><dd>Set rank explicitly.</dd>
-  <dt><b><url></b></dt><dd>URL for repository file.</dd>
-</dl>
-
-<h3 class="man">bundle</h3>
-<p>
-  List bundle resources. List all bundles that matches &ltsymbolicname&gt
-  and &ltversionRange&gt. Mark with a '*' in the first column if a
-  bundle is installed.
-</p>
-<pre>
-bundle [-help] [-l] [<symbolicname> [<versionRange>]]
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-l</b></dt><dd>Verbose output.</dd>
-  <dt><b><symbolicname></b></dt><dd>Bundle symbolic name to match.</dd>
-  <dt><b><versionRange></b></dt><dd>Optional bundle version range.</dd>
-</dl>
-
-<h3 class="man">disable</h3>
-<p>
-  Disable selected repository. Disables a repository so that it won't
-  be used when searching for resources.
-</p>
-<pre>
-disable [-help] <repository> ...
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><repository></b></dt><dd>Wildcard name or id of repository.</dd>
-</dl>
-
-<h3 class="man">enable</h3>
-<p>
-  Enable selected repository. Enables a repository so that it will be used
-  when searching for resources.
-</p>
-<pre>
-enable [-help] <repository> ...
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><repository></b></dt><dd>Wildcard name or id of repository.</dd>
-</dl>
-
-<h3 class="man">install</h3>
-<p>
-  Install bundle resource. Installs first bundle resource that
-  matches <symbolicname> and optional <versionRange>.
-</p>
-<pre>
-install [-help] [-s] [<symbolicname< [<versionRange<]]
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-s</b></dt><dd>Persistently start bundle according to activation policy.</dd>
-  <dt><b><symbolicname></b></dt><dd>Bundle symbolic name to match.</dd>
-  <dt><b><versionRange></b></dt><dd>Optional bundle version range.</dd>
-</dl>
-
-<h3 class="man">list</h3>
-<p>
-  List repositories. Mark with a '*' in the first column if a repository
-  is enabled.
-</p>
-<pre>
-list [-help] [-l] <repository>
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-l</b></dt><dd>Verbose output.</dd>
-  <dt><b><repository></b></dt><dd>Wildcard name or id of repository.</dd>
-</dl>
-
-<h3 class="man">rank</h3>
-<p>
-  Change repository ranking. The rank is used to can change the order
-  in which repositories are searched. Repository with highest ranking
-  is searched first.
-</p>
-<pre>
-rank [-help] <rank> <repository> ...
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><rank></b></dt><dd>New rank of repository, must be an integer.</dd>
-  <dt><b><repository></b></dt><dd>Wildcard name or id of repository.</dd>
-</dl>
-
-<h3 class="man">show</h3>
-<p>
- Show all capabilities and requirements for selected resources.
-</p>
-<pre>
-show [-help] [-t] <namespace< [<filter<]
-</pre>
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-t</b></dt><dd>Terse output, only show namespace attribute.</dd>
-  <dt><b><namespace></b></dt><dd>Which namespace to search.</dd>
-  <dt><b><filter></b></dt><dd>OSGi filter expression for selecting resources.</dd>
-</dl>
-
-<h3 class="man">Examples</h3>
-<p>
-List all repository available.
-</p>
-<pre>
-repository> list
-E  Id Rank  Description
-------------------------
-*  15    0  XML repository from URL: file:jars/index.xml
-</pre>
-
-<p>
-List bundles with a symbolic name starting with
-"org.knopflerfish.bundle.repository" that are available
-from the repository.
-</p>
-
-<pre>
-repository> b org.knopflerfish.bundle.repository*
-I Bundle resource
-- --------------------
-  org.knopflerfish.bundle.repository.index, version=1.0.0
-* org.knopflerfish.bundle.repository-API, version=1.0.0
-* org.knopflerfish.bundle.repository_desktop, version=1.0.0
-* org.knopflerfish.bundle.repository.xml, version=1.0.0
-  org.knopflerfish.bundle.repository.xml-API, version=1.0.0
-* org.knopflerfish.bundle.repositorycommands-IMPL, version=1.0.0
-* org.knopflerfish.bundle.repositorymanager, version=1.0.0
-  org.knopflerfish.bundle.repositorymanager-API, version=1.0.0
-</pre>
-
-<h2 class="man">See Also</h2>
-<a href="../console/index.html">Console</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/scrcommands/index.html b/docs/bundledoc/scrcommands/index.html
deleted file mode 100644
index fa599e8..0000000
--- a/docs/bundledoc/scrcommands/index.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - scrcommands, v4.0.1</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: scrcommands
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.1
-      </div>
-      <h1 class="man">ScrCommands</h1>
-
-<div class="abstract">
-  Service Component Runtime (SCR) console commands to view dynamic and
-  static state of components and enable or disable them.
-</div>
-
-
-<h2 class="man">Description</h2>
-The scrcommands bundle publishes one command group called <tt>scr</tt>.
-
-<p>
-This command group currently works with SCR that provides the
-<tt>org.apache.felix.scr.ScrService</tt> service.
-</p>
-
-<h2 class="man">Scr - Scr Commands</h2>
-
-<p>
-  The group contains the following commands:
-</p>
-
-<ul><li>
-      <tt>disable [-help] <component&gt ...</tt></li>
-    <li>
-      <tt>enable [-help] <component&gt ...</tt></li>
-    <li>
-      <tt>list [-help] [-i] [-l] [-n] [-r] [<bundle&gt] ...</tt></li>
-    <li>
-      <tt>show [-help] [-b] [-f] [-n] [-r] [<component&gt] ...</tt></li>
-</ul>
-
-<h3 class="man">disable</h3>
-
-<p>
-  The <tt>disable</tt> command is used to disable selected component(s).
-</p>
-
-<pre>
-  disable [-help] <component&gt ...
-</pre>
-
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><component></b></dt><dd>Name or id of component.</dd>
-</dl>
-
-<h3 class="man">enable</h3>
-
-<p>
-  The <tt>enable</tt> command is used to enable selected component(s).
-</p>
-
-<pre>
-  enable [-help] <component&gt ...
-</pre>
-
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b><component></b></dt><dd>Name or id of component.</dd>
-</dl>
-
-<h3 class="man">list</h3>
-
-<p>
-  The <tt>list</tt> command is used to list information about
-  components for selected bundles. Components are shown in bundle id
-  order if no order parameter is given.
-</p>
-
-<pre>
-  list [-help] [-i] [-l] [-n] [-r] [<bundle&gt] ...
-</pre>
-
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-i</b></dt><dd>List components in ID order.</dd>
-  <dt><b>-l</b></dt><dd>Show long version of information,
-    that includes information about properties, services
-    provided and referenced.</dd>
-  <dt><b>-n</b></dt><dd>List components in name order",
-  <dt><b>-r</b></dt><dd>List components in reverse order",
-  <dt><b><bundle></b></dt><dd>Name or id of bundle. If
-    no value is given or a <tt>"*"</tt>, list entries from
-    all bundles.</dd>
-</dl>
-
-<h3 class="man">show</h3>
-
-<p>
-  The <tt>show</tt> command is used to show information about
-  components. Components are shown in component id  order if
-  no order parameter is given. With the <tt>-f</tt> parameter
-  will show more information than the <tt>list</tt> command,
-  it will show some, static information about the component.
-</p>
-
-<pre>
-  show [-help] [-b] [-f] [-n] [-r] [<component&gt] ...
-</pre>
-
-<p>Parameters:</p>
-<dl><dt><b>-help</b></dt><dd>Display command help text.</dd>
-  <dt><b>-b</b></dt><dd>List components in bundle ID order.</dd>
-  <dt><b>-f</b></dt><dd>Show full version of information,
-    that includes static information about the component.</dd>
-  <dt><b>-n</b></dt><dd>List components in name order",
-  <dt><b>-r</b></dt><dd>List components in reverse order",
-  <dt><b><component></b></dt><dd>Name or id of component.
-    If no value is given, show all components registered.</dd>
-</dl>
-
-<h3 class="man">Examples</h3>
-<p>
-List all components for all bundles.
-</p>
-<pre>
-scr> list
-ID State        BID Name
- 0 ACTIVE        19 scrCommandGroup
- 1 REGISTERED    25 componentE_test.E1
- 2 FACTORY       25 componentE_test.E2
-</pre>
-
-<p>
-Show full inforamtion about scrCommandGroup component.
-</p>
-<pre>
-scr> show -f scrCommandGroup
-ID State        BID Name
- 0 ACTIVE        19 scrCommandGroup
-   > Service: org.knopflerfish.service.console.CommandGroup
-   > Satisfied reference:   org.apache.felix.scr.ScrService [1..1], static bind
-   > Property groupName = scr
-   > Delayed component, default enabled, config policy = optional
-</pre>
-
-<h2 class="man">See Also</h2>
-<a href="../console/index.html">Console</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/serial/index.html b/docs/bundledoc/serial/index.html
deleted file mode 100644
index e8a38cf..0000000
--- a/docs/bundledoc/serial/index.html
+++ /dev/null
@@ -1,69 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - Serial Communication</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <h1 class="man">Serial port communicaton using javax.comm</h1>
-
-This section covers bundles for handling serial ports using the
-javax.comm API
-
-<h2 class="man">Bundles</h2>
-
-<dl>
-<dt> serialport
-<dd>
-  Bundle that wraps serial ports in the OSGi Device API.
- 
-<dt> comm-win32
-<dd>
-  Implementation for windows platforms using Sun's COMM 2.0 release.
-  Note that this bundles contains code with license from Sun, for 
-  details, see
-  
-   comm-win32/resources/COMM2.0_license.txt
-
-<dt> comm-linux
-<dd>
-  Implementation for x86 linux platforms using the RXTX library.
-  Note that this bundles contains code with license from Sun AND
-  is licensed under GPL. For details, see
-  
-   comm-linux/resources/COMM2.0_license.txt
-   comm-linux/resources/rxtx-license.txt
-
-  The RXTX source is available at
-
-   http://users.frii.com/jarvi/rxtx/
-
-</dl>
-
-<h2 class="man">Bundle Jar docs</h2>
-<a target="_top" href="../../jars/index.html?bundle=comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a><br>
-<a target="_top" href="../../jars/index.html?bundle=serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a>
-
-<h2 class="man">Exported Packages</h2>
-<table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a></td><td align="center">2.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td></tr>
- <tr><td>javax.comm</td><td align="center">2.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a>, <a target="_top" href="../../jars/index.html?bundle=comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a>, <a target="_top" href="../../jars/index.html?bundle=serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td></tr>
-</table>
-
-
-  </body>
-</html>
-    
diff --git a/docs/bundledoc/soap/index.html b/docs/bundledoc/soap/index.html
deleted file mode 100644
index 3d74906..0000000
--- a/docs/bundledoc/soap/index.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - Web Services / SOAP</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <h1 class="man">SOAP and WebServices in Knopflerfish</h1>
-
-<div class="abstract">
-<p>
-
-There are no SOAP implementations in Knopflerfish 4 since they
-have been made obsolete by the compendium service Remote Service Admin
-(RSA).
-
-</p>
-</div>
-
-<p>
-
-The Knopflerfish 3 versions of Axis 1, kSOAP and Axis2 are
-availble from the latest <a
-href="http://www.knopflerfish.org/releases/current-kf_3/">Knopflerfish 3
-download page</a> and can be used together with
-Knopflerfish 4. Individual Knopflerfish 3 bundles can be
-downloaded from this <a
-href="http://www.knopflerfish.org/releases/current-kf_3/docs/jars/index.html">page.</a>
-
-</p><p>
-
-Information on available RSA implementations can be found on the <a
-href="http://en.wikipedia.org/wiki/OSGi_Specification_Implementations">OSGi
-Specification Implementations Wikipedia page</a>.
-
-</p>
-
-  </body>
-</html>
-    
diff --git a/docs/bundledoc/sslj2sp/index.html b/docs/bundledoc/sslj2sp/index.html
deleted file mode 100644
index ebc9cf0..0000000
--- a/docs/bundledoc/sslj2sp/index.html
+++ /dev/null
@@ -1,169 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - sslj2sp, v4.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: sslj2sp
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.0
-      </div>
-      <h1 class="man">SSL Provider — Using the Java 2 Security Architecture.</h1>
-
-<div class="abstract">
-
-  The sslj2sp bundle registers one or several
-  <tt>SslServerSocketFactory</tt> objects as OSGi services.  These
-  services can be used by other bundles to establish secure TCP
-  connections.  For example, to implement HTTPS, look at the
-  documentation of your HTTP Service bundle to see if it will support
-  the use of such services.
-
-</div>
-
-
-<h2 class="man">Java Secure Socket Extension (JSSE)</h2>
-
-This bundle relies on the presence of Sun's <em>Java™ Secure Socket
-Extensions (JSSE)</em>; more specifically, jsse.jar must be available
-on the system class-path.  This is always the case when using Sun's
-Java™ Platform Standard Edition, v1.4+. To read more about this see
-the JSSE Reference Guide for Java Platform Standard Edition <a
-target="_blank"
-href="http://docs.oracle.com/javase/1.4.2/docs/guide/security/jsse/JSSERefGuide.html">1.4</a>
-or <a target="_blank"
-href="http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html">7</a>.
-
-<p>
-
-To create your customized SSL certificate, see section "Creating a
-Keystore to Use with JSSE".  NOTE: This material is owned by Sun
-Microsystems, please refer to their terms and conditions.
-
-You can use the Configuration Manager to tell the <tt>sslj2sp</tt>
-bundle what <tt>SslServerSocketFactory</tt> service(s) to create, see
-section Configuration Manager. If nothing is specified, a default
-configuration will be used.
-
-
-<h3 class="man">Configuration</h3>
-
-The sslj2sp bundle may be configured using the OSGi Configuration
-Manager (CM). It accepts factory configurations with the factory PID
-
-<pre>
-  org.knopflerfish.bundle.ssl.j2sp
-</pre>
-
-If no configuration is available in CM, a default configuration with
-values equals to the defaults described below will be used.
-
-<p>
-
-Properties with a name <tt>[none]</tt> can not be configured in the
-current implementation.
-
-<p>
-
-<table class="man">
-  <tr>
-    <th>Name</th>
-    <th>Description</th>
-    <th>Value type</th>
-    <th>Default value</th>
-  </tr>
-
-  <tr>
-    <td>[none]</td>
-    <td>
-
-	SSL protocol to use.
-
-    </td>
-    <td>String</td>
-    <td>TLSv1</td>
-  </tr>
-
-  <tr>
-    <td>[none]</td>
-    <td>
-
-	Keystore type
-
-    </td>
-    <td>String</td>
-    <td>JKS</td>
-  </tr>
-
-  <tr>
-    <td>keystore</td>
-    <td>
-
-	This property represents a keystore, which must be created as
-        described in section "JSSE".
-
-	The sslj2sp will interpret the value for this property as
-	follows:
-	<ul>
-	  <li> assume that the keystore has been stored to the CM as
-	       an array of bytes (byte[]).
-
-	  <li> assume that the value is the name of the keystore file
-               on the local file system.
-  
-	</ul>
-
-	If none of these assumptions lead to a valid key manager, the
-        bundle will log a warning and use the default.
-    </td>
-    <td>String or byte[]</td>
-    <td>[internal]</td>
-  </tr>
-
-  <tr>
-    <td>keystorepass</td>
-    <td>
-
-	The password for the store (plain text).
-
-    </td>
-    <td>String</td>
-    <td>[internal]</td>
-  </tr>
-
-  <tr>
-    <td>[none]</td>
-    <td>
-
-	Keymanager type.
-
-    </td>
-    <td>String</td>
-    <td>SunX509</td>
-  </tr>
-
-</table>
-  
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/trayicon_fw/index.html b/docs/bundledoc/trayicon_fw/index.html
deleted file mode 100644
index 4cf5462..0000000
--- a/docs/bundledoc/trayicon_fw/index.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - trayicon_fw, v4.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: trayicon_fw
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.0
-      </div>
-      <h1 class="man">Framework tray icon.</h1>
-
-<div class="abstract">
-  A simple trayicon supporting start level change and framework shutdown.
-</div>
-
-
-<h2 class="man">Description</h2>
-
-This bundle adds an icon representing the framework to the system tray
-for a desktop. See the Java-doc for java.awt.SystemTray for the
-definition of what the system tray is on different window systems.
-The standard <tt>java.awt.SystemTray</tt> and
-<tt>java.awt.TrayIcon</tt> classes was added in Java™ 6 thus this
-bundle will only be fully functional on Java™ 6 and later.
-
-<p>
-
-The Tray Icon offers two operations:
-<ul>
-
-  <li>Change start level.
-
-  <li>Stop the framework.
-
-</ul>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      No exported packages.
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/util/index.html b/docs/bundledoc/util/index.html
deleted file mode 100644
index c634a26..0000000
--- a/docs/bundledoc/util/index.html
+++ /dev/null
@@ -1,139 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - util, v4.1.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: util
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.1.0
-      </div>
-      <h1 class="man">Util</h1>
-
-<div class="abstract">
-  Library of miscellaneous utility classes.
-</div>
-
-
-<h2 class="man">Content</h2>
-<ul>
-  <li><a href="#executable">Native Executable</a></li>
-</ul>      
-
-<a name="executable"></a>
-<h2 class="man">Native Executable</h2>
-
-<p>
-The bundle activator utility class ExecutableBundleActivator can be used
-if you need to package an executable binary in your bundle that should be
-extracted and started when the bundle starts.
-</p>
-
-<p>
-  Depending on your needs you can either write your own bundle activator
-  that extends ExecutableBundleActivator or use it directly without writing
-  any Java code at all. If you use it directly, all you need to do is to
-  add custom headers to your manifest that controls the behavior of
-  ExecutableBundleActivator.
-</p>
-
-<p>
-  The following are the required headers for a simple example.
-<pre>
- Manifest-Version: 1.0
- Bundle-ManifestVersion: 2
- Bundle-SymbolicName: org.knopflerfish.bundle.ebaexample
- Bundle-Activator: org.knopflerfish.util.framework.ExecutableBundleActivator
- Import-Package = org.knopflerfish.util.framework,org.osgi.framework
- Bundle-Start-Executable: notepad.exe ; processor=x86 ; osname=WindowsXP
-</pre>
-</p>
-
-<p>
-In this case there is only one custom header, Bundle-Start-Executable. It
-declares that if the native environment matches OS = Windows XP and
-processor architecture = x86, the resource named notepad.exe should be
-extracted from the bundle, written to the local file system and launched
-using java.lang.Runtime.exec() when the bundle is started.
-</p>
-
-<p>
-The exec:ed process will be terminated when the bundle stops. If the
-process is terminated, the bundle will be stopped (this is the default 
-behavior).
-</p>
-
-<p>
-Complete list of custom headers for this utility class:
-<dl>
-  <dt><b>Bundle-Start-Executable</b></dt>
-  <dd>List of native environments (OS, processor, etc) and native
-      executables for those environments. If there is a match for the
-      current native environment, the executable is copied to the local
-      file system and started in the start method of
-      ExecutableBundleActivator.
-      The syntax for this header is the same as for the OSGi specified
-      <tt>Bundle-NativeCode</tt> header but instead of naming a shared
-      library you name a native executable. The <tt>Bundle-NativeCode</tt>
-      header is described in the core OSGi specification chapter 3.9.</dd>
-  <dt><b>Bundle-Start-Executable-Args</b></dt>
-  <dd>Arguments (separated with spaces) for the bundle start executable.
-  </dd>
-  <dt><b>Bundle-Stop-Executable</b></dt>
-  <dd>Similar to <tt>Bundle-Start-Executable</tt> but the executable
-      is launched when the bundle stops.</dd>
-  <dt><b>Bundle-Stop-Executable-Args</b></dt>
-  <dd>Arguments (separated with spaces) for the bundle stop executable.
-  </dd>
-  <dt><b>Bundle-Extract-Files</b></dt>
-  <dd>List of extra resources (separated with comma) that should be
-  copied from the bundle jar file to the local file system.</dd>
-  <dt><b>Bundle-Start-Executable-Exit-Means-Bundle-Stop</b></dt>
-  <dd>Set this to false if you do not want the bundle to be stopped when
-      the process that was launched in start() is terminated.</dd>
-</dl>
-
-<p>
-In many cases you want to write your own activator that extends
-ExecutableBundleActivator. You can then for example override logging
-which is on and to stdout by default. Also, you need to write your own
-activator if you want your bundle to do more than starting a native
-executable.
-</p>
-
-<p>
-Files that are extracted (executables and other resources) are written to
-the bundle's persistent storage area. Cleanup of the files takes place
-when the bundle is uninstalled.
-<p>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=util/util-4.1.0.html">util-4.1.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td><td align="center">1.1.0</td><td><a target="_top" href="../../jars/index.html?bundle=util/util-4.1.0.html">util-4.1.0</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=util/util-4.1.0.html">util-4.1.0</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=util/util-4.1.0.html">util-4.1.0</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a></td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=util/util-4.1.0.html">util-4.1.0</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/xalan/index.html b/docs/bundledoc/xalan/index.html
deleted file mode 100644
index c17d7bf..0000000
--- a/docs/bundledoc/xalan/index.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - xalan, v2.7.1.kf3_01</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: xalan
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 2.7.1.kf3_01
-      </div>
-      <h1 class="man">Xalan XML transfomer</h1>
-
-<div class="abstract">
-<p>
-  Bundle version of the Xalan XML transformer
-</div>
-
-<h2 class="man">Xalan XML transformer bundle</a></h2>
-<p>
-  This is a bundlified version of 
-  <a href="http://xml.apache.org/xalan-j/">Xalan-Java</a>.
-</p><p>
-  It will register itself as an OSGi service using the
-  <a href="../xml/index.html">OSGi XML util bundle.</a>
-</p>
-<h2 class="man">See also</h2>
-<a href="../xml/index.html">OSGi XML util bundle</a></br>
-<a href="../xerces/index.html">Xerces XML Parser bundle</a></br>
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td>javax.xml.transform</td><td align="center">1.3.0.selectFirst</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>javax.xml.transform.dom</td><td align="center">1.3.0.selectFirst</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>javax.xml.transform.sax</td><td align="center">1.3.0.selectFirst</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>javax.xml.transform.stream</td><td align="center">1.3.0.selectFirst</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>org.apache.xalan</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>org.apache.xalan.processor</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
- <tr><td>org.apache.xpath.jaxp</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/xerces/index.html b/docs/bundledoc/xerces/index.html
deleted file mode 100644
index 07bd46f..0000000
--- a/docs/bundledoc/xerces/index.html
+++ /dev/null
@@ -1,106 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - xerces, v2.10.1.kf5</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: xerces
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 2.10.1.kf5
-      </div>
-      <h1 class="man">Xerces XML parses</h1>
-
-<div class="abstract">
-<p>
-  Bundle version of the Xerces XML parser
-</div>
-
-<h2 class="man">Xerces XML parser bundle</a></h2>
-<p>
-  This is a bundlified version of 
- <a href="http://xerces.apache.org/xerces2-j/">Xerces2-Java </a> XML parser.
-</p><p>
-  It will register itself as an OSGi service using the
-  <a href="../xml/index.html">OSGi XML util bundle.</a>
-</p>
-<h2 class="man">See also</h2>
-<a href="../xml/index.html">OSGi XML util bundle</a></br>
-<a href="../xalan/index.html">Xalan XML Transformer bundle</a></br>
-
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td>javax.xml</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.datatype</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.namespace</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?javax/xml/parsers/package-summary.html">javax.xml.parsers</a></td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.transform</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.transform.dom</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.transform.sax</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.transform.stream</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.validation</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>javax.xml.xpath</td><td align="center">1.3.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.html.dom</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.wml</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.wml.dom</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.dom</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.dom.events</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.dom3.as</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.jaxp</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.jaxp.datatype</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.jaxp.validation</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.parsers</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.util</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xinclude</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xni</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xni.grammars</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xni.parser</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xpointer</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xs</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xerces.xs.datatypes</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.resolver</td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.resolver.apps</td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.resolver.helpers</td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.resolver.readers</td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.resolver.tools</td><td align="center">1.2.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.serialize</td><td align="center">0.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.apache.xml.serializer</td><td align="center">1.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a></td><td align="center">1.0.1</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.bootstrap</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.css</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.events</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.html</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.ls</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.ranges</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.stylesheets</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.traversal</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.views</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.w3c.dom.xpath</td><td align="center">3.0.0</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.xml.sax</td><td align="center">2.0.2</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.xml.sax.ext</td><td align="center">2.0.2</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
- <tr><td>org.xml.sax.helpers</td><td align="center">2.0.2</td><td><a target="_top" href="../../jars/index.html?bundle=xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/xml/index.html b/docs/bundledoc/xml/index.html
deleted file mode 100644
index 8aee6d6..0000000
--- a/docs/bundledoc/xml/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - xml, v4.0.0</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <div class="manpage">
-      <div class="userdoc_hdr_left">
-	Bundle: xml
-      </div>
-      <div class="userdoc_hdr_right">
-	Version 4.0.0
-      </div>
-      <h1 class="man">OSGi defined  XML parser serive</h1>
-
-<div class="abstract">
-<p>
-  An OSGi defined XML parser utlility service.
-</div>
-
-<h2 class="man">OSGi XML</a></h2>
-<p>
-The OSGi xml bundle is a utility bundle that allows any JAXP complient XML Parser and XML Transformer to register themselves as an OSGi parser and OSGI transformer. 
-</p><p>
-Knopflerfish includes xalan and xerces bundles that have been wrapped as XML parsers and transformers using this util bundle.
-</p>
-
-<h2 class="man">See Also</h2>
-<a href="../xalan/index.html">Xalan</a>
-<a href="../xerces/index.html">Xerces</a>
-
-
-      <h2 class="man">Bundle Jar docs</h2>
-      <a target="_top" href="../../jars/index.html?bundle=xml/xml-4.0.0.html">xml-4.0.0</a>
-
-      <h2 class="man">Exported Packages</h2>
-      <table class="man">
- <tr><th>Package</th><th>Version</th><th>Providers</th></tr>
- <tr><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a></td><td align="center">1.0.1</td><td><a target="_top" href="../../jars/index.html?bundle=xml/xml-4.0.0.html">xml-4.0.0</a></td></tr>
-</table>
-
-    </div>
-  </body>
-</html>
-
diff --git a/docs/bundledoc/xml_index/index.html b/docs/bundledoc/xml_index/index.html
deleted file mode 100644
index 2b1b732..0000000
--- a/docs/bundledoc/xml_index/index.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../../css/kf_man.css" rel="stylesheet" type="text/css">
-    <title>Bundle User Documentation - XML parsers in Knopflerfish</title>
-    <script type="text/javascript">
-      function windowTitle() {
-        if (location.href.indexOf('is-external=true') == -1) {
-           parent.document.title=document.title;
-        }
-      }
-    </script>
-    <noscript></noscript>
-  </head>
-  <body class="mainblock" onload="windowTitle();">
-    <h1 class="man">XML parsers in Knopflerfish</h1>
-
-<div class="abstract">
-<p>
-  An overview of XML parsers in Knopflerfish
-</div>
-
-<h2 class="man">XML Parsers</h2>
-<p>
-  There are several XML parsers included in Knopflerfish, serving different purposes.
-</p>
-<p>
-  The <a href="../kxml/index.html">kXML</a> parser is a light-weight,
-  low foot-print xml parser that provides all the basic parse functionality,
-  but has limitations compared to a more full featured parser. 
-x</p>
-<p>
- A more full featured parser is Xerces2 from
- <a href="http://xerces.apache.org/xerces2-j/">Apache</a>. Knopflerfish
- includes <a href="../xerces/index.html">xerces</a>, a bundlified version
- of Xerces 2.10.1. Alongside with xerces is also the 
- <a href="../xalan/index.html">xalan</a>, a bundlified version of
- Xalan-Java, version 2.7.1.
-</p>
-<p>
-  There is also the Crimson-XML bundle which is primarily used in
-  older version of Java that does not provide built-in XML, as well as
-  for backwards compatibility.
-</p>
-
-
-  </body>
-</html>
-    
diff --git a/docs/changelog.html b/docs/changelog.html
deleted file mode 100644
index 8c2fc9c..0000000
--- a/docs/changelog.html
+++ /dev/null
@@ -1,485 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "List of changes in Knopflerfish OSGi, version 5.1.0 - "/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Changelog"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Changelog</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-<pre>
-2014-06-13 00:51:04 +0200 (Fri, 13 Jun 2014), revision 4320, cl
-Renamed Application-Icon => Bundle-Icon to map 1:1 with manifest header name
-U   knopflerfish.org/trunk/ant/bundlebuild.xml
-U   knopflerfish.org/trunk/osgi/bundles_opt/desktop_displayers/boing/build.xml
-
-2014-06-12 22:19:49 +0200 (Thu, 12 Jun 2014), revision 4319, cl
-Added support to include content from ${out.dir}/resources. To be used when adding dynamically created resources in e.g. a custom.pre target
-U   knopflerfish.org/trunk/ant/bundlebuild.xml
-
-2014-06-12 17:20:29 +0200 (Thu, 12 Jun 2014), revision 4318, jan
-Fixed some small problems in preparation for next KF release.
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-12 12:17:11 +0200 (Thu, 12 Jun 2014), revision 4317, cl
-Added bundle icon for Prefs. Changed to use Bundle-Icon for UserAdmin
-U   knopflerfish.org/trunk/osgi/bundles/prefs/bundle.manifest
-A   knopflerfish.org/trunk/osgi/bundles/prefs/resources/
-A   knopflerfish.org/trunk/osgi/bundles/prefs/resources/icon.png
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-12 11:50:26 +0200 (Thu, 12 Jun 2014), revision 4316, jan
-Changed RSA key length to avoid restrictions in Java 7 and later. Be more flexible in validation date parsing.
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/build_keystore.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/JKSValidator.java
-
-2014-06-10 19:39:20 +0200 (Tue, 10 Jun 2014), revision 4315, jan
-Fixed listRescources (SF#178) and added a testcase. Detect dead-lock when doing dynamic import in permssion check (SF#179).
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/BadBundleListener.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/BundleWiringTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/CapabilityTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FWTestCase.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FragmentTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/FrameworkTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/NativeCodeTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PackageAdminTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PackageTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PermissionTest.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/PermissionTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RegListenThread.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RegServThread.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/RequireBundleTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/ServiceListenerTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/framework_test/src/org/knopflerfish/bundle/framework_test/Util.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Resolver.java
-U   knopflerfish.org/trunk/osgi/init-tests.xargs.in
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-09 14:43:48 +0200 (Mon, 09 Jun 2014), revision 4314, jan
-Add framework property to put framework in read-only mode.
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FWProps.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Util.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-06-09 08:00:49 +0200 (Mon, 09 Jun 2014), revision 4313, jan
-Added framework resource protocol
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-A   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FWResourceURLStreamHandler.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/Main.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-05-15 17:53:50 +0200 (Thu, 15 May 2014), revision 4312, ekolin
-Fix buidling of the compact framework version when using Java SE 7+.
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2014-04-11 09:58:17 +0200 (Fri, 11 Apr 2014), revision 4311, ekolin
-Make sure that CM-Desktop can be installed by the Desktop Repository when using the Felix Resolver service.
-U   knopflerfish.org/trunk/KnopflerfishEclipseDictionary.txt
-U   knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-04-11 09:07:19 +0200 (Fri, 11 Apr 2014), revision 4310, ekolin
-The eol format was mixed, change to <CR><LF> on all lines
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-
-2014-03-19 13:25:40 +0100 (Wed, 19 Mar 2014), revision 4309, perg
-Made UserAdmin self-contained wrt kf log utility
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/useradmin/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-25 16:00:35 +0100 (Tue, 25 Feb 2014), revision 4308, perg
-Changed spelling error sources to source
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2014-02-24 21:52:00 +0100 (Mon, 24 Feb 2014), revision 4307, perg
-Fixed bug in kf_metatype bundle and refactored handling of standardized and proprietary xml formats.
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/bundle/metatype/Activator.java
-A   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/KFLegacyMetaTypeParser.java
-A   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/OsgiMetaTypeXmlParser.java
-U   knopflerfish.org/trunk/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/SystemMetatypeProvider.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-20 13:40:39 +0100 (Thu, 20 Feb 2014), revision 4306, jan
-Fixed an IllegalStateException for factory components.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-14 21:46:06 +0100 (Fri, 14 Feb 2014), revision 4305, jan
-
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java
-U   knopflerfish.org/trunk/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationStore.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-02-05 17:24:41 +0100 (Wed, 05 Feb 2014), revision 4304, ekolin
-Http 4.0.5; more fixes for handling of transfer encoding chunked.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 13:32:42 +0100 (Wed, 29 Jan 2014), revision 4303, ekolin
-Add missing ignore for generated file.
-_U  knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/resources/
-
-2014-01-29 12:04:57 +0100 (Wed, 29 Jan 2014), revision 4302, ekolin
-Rewrite unchunk code to simple read the number of bytes that the shunk shall contian, ignoring any CR or LF in the data.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 11:10:48 +0100 (Wed, 29 Jan 2014), revision 4301, perg
-Improvements to Repository Desktop and some minor fixes
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RequirementImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/ResourceImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-29 10:19:30 +0100 (Wed, 29 Jan 2014), revision 4300, ekolin
-Fix problem with decoding of chunked tranfer encoding in the Htt-Server.
-U   knopflerfish.org/trunk/osgi/bundles/http/http/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2014-01-22 10:43:46 +0100 (Wed, 22 Jan 2014), revision 4298, jan
-Fixed bug with ConditionalPermissionUpdate.
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/condpermadmin_test/src/org/knopflerfish/bundle/condpermadmin_test/CondPermAdminTestSuite.java
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/JKSValidator.java
-U   knopflerfish.org/trunk/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-12 14:55:26 +0100 (Thu, 12 Dec 2013), revision 4296, perg
-Fixed spelling error: source -> sources
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 13:44:26 +0100 (Thu, 12 Dec 2013), revision 4295, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 13:42:21 +0100 (Thu, 12 Dec 2013), revision 4294, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-A   knopflerfish.org/trunk/tools/mvnrepo/mvnrepoindex2html.xsl
-
-2013-12-12 13:20:25 +0100 (Thu, 12 Dec 2013), revision 4293, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 12:47:13 +0100 (Thu, 12 Dec 2013), revision 4292, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-12-12 12:25:07 +0100 (Thu, 12 Dec 2013), revision 4291, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 12:21:20 +0100 (Thu, 12 Dec 2013), revision 4290, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-12 12:14:02 +0100 (Thu, 12 Dec 2013), revision 4289, perg
-Work in progress - support for repoindex
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-12-11 10:32:25 +0100 (Wed, 11 Dec 2013), revision 4288, jan
-Fixed a bug that caused factory components to be falsely created or missed being created when we use target filters. Also added test-cases for this.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/DelayedComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/FactoryComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ImmediateComponent.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Reference.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/build.xml
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/build.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/bundle.manifest
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/resources/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/resources/service.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentAImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentB1Impl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentB2Impl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/bundle/componentM_test/ComponentCImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentA.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentB.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentM_test/src/org/knopflerfish/service/componentM_test/ComponentC.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-10 13:45:26 +0100 (Tue, 10 Dec 2013), revision 4287, perg
-Corrected bundle and package versions
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/packageinfo
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-12-09 14:56:08 +0100 (Mon, 09 Dec 2013), revision 4286, perg
-Improved support for Resolver in Repository Manager. Updated Repository console and desktop bundles to use the improved support. Embedded Resolver and Repository APIs in Repository Manager.
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-11-18 11:26:55 +0100 (Mon, 18 Nov 2013), revision 4285, perg
-Updated w/ Resolver related updates
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-11-16 00:14:56 +0100 (Sat, 16 Nov 2013), revision 4284, perg
-Added commented out line to install a resolver
-U   knopflerfish.org/trunk/osgi/template.xargs.in
-
-2013-11-15 23:44:51 +0100 (Fri, 15 Nov 2013), revision 4283, perg
-Added support for Resolver Service 1.0
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/build.xml
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Activator.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java
-A   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java
-U   knopflerfish.org/trunk/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/packageinfo
-
-2013-11-15 23:44:02 +0100 (Fri, 15 Nov 2013), revision 4282, perg
-Fix in equals impl
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java
-
-2013-10-24 14:49:23 +0200 (Thu, 24 Oct 2013), revision 4280, perg
-Updated release notes and set correct bundle version
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/bundle.manifest
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-24 14:34:07 +0200 (Thu, 24 Oct 2013), revision 4279, perg
-Updated changelog.txt
-U   knopflerfish.org/trunk/changelog.txt
-U   knopflerfish.org/trunk/osgi/bundles_opt/junit/osgi_ct_adapter/src/org/knopflerfish/bundle/osgi_ct_adapter/Activator.java
-
-2013-10-24 14:26:15 +0200 (Thu, 24 Oct 2013), revision 4278, perg
-Fixed parsing of Bundle-License
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/bundle.manifest
-
-2013-10-24 14:21:24 +0200 (Thu, 24 Oct 2013), revision 4277, perg
-Fixed parsing of Bundle-License
-U   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/KnopflerfishExtentions.java
-A   knopflerfish.org/trunk/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/Util.java
-
-2013-10-23 18:00:48 +0200 (Wed, 23 Oct 2013), revision 4276, jan
-Fixed a bug that caused problems when adding a CM configuration with a target filter to an unsatisfied component.
-U   knopflerfish.org/trunk/osgi/bundles/component/bundle.manifest
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java
-U   knopflerfish.org/trunk/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/src/org/knopflerfish/bundle/component_test/ComponentTestSuite.java
-U   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/resources/service.xml
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/bundle/componentC_test/ComponentUImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/bundle/componentC_test/ComponentVImpl.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/service/componentC_test/ComponentU.java
-A   knopflerfish.org/trunk/osgi/bundles_test/regression_tests/component_test/test_target_bundles/componentC_test/src/org/knopflerfish/service/componentC_test/ComponentV.java
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-23 17:50:15 +0200 (Wed, 23 Oct 2013), revision 4275, jan
-Update framework documentation with some 5.0.0 changes.
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-U   knopflerfish.org/trunk/osgi/framework/resources/help.txt
-
-2013-10-23 10:17:09 +0200 (Wed, 23 Oct 2013), revision 4274, ekolin
-Switch to proguard 4.10
-U   knopflerfish.org/trunk/ant/build.xml
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2013-10-22 16:44:48 +0200 (Tue, 22 Oct 2013), revision 4273, ekolin
-Automatically download proguard from maven central.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-U   knopflerfish.org/trunk/osgi/framework/build.xml
-
-2013-10-22 15:53:19 +0200 (Tue, 22 Oct 2013), revision 4272, ekolin
-Remove reference to OSGiR4v4.3
-U   knopflerfish.org/trunk/osgi/framework/doc/index.html
-
-2013-10-22 13:40:10 +0200 (Tue, 22 Oct 2013), revision 4271, ekolin
-Fix another bundle repository link.
-U   knopflerfish.org/trunk/htdocs/html_templates/template.html
-
-2013-10-22 13:03:21 +0200 (Tue, 22 Oct 2013), revision 4270, ekolin
-Nightly builds should say maintenance release, not major release...
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-22 12:56:46 +0200 (Tue, 22 Oct 2013), revision 4269, ekolin
-Remove some warnings for the ant tasks. Fix link to Makewave logo in nightlybuilds page.
-U   knopflerfish.org/trunk/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleArchives.java
-U   knopflerfish.org/trunk/ant/src/org/knopflerfish/ant/taskdefs/bundle/BundleInfoTask.java
-U   knopflerfish.org/trunk/tools/nightlybuild/snap_index.html.pre
-
-2013-10-21 21:06:51 +0200 (Mon, 21 Oct 2013), revision 4267, jan
-Post release 5.0.0 update
-U   knopflerfish.org/trunk/build.xml
-U   knopflerfish.org/trunk/release_notes.in.html
-
-2013-10-21 21:01:35 +0200 (Mon, 21 Oct 2013), revision 4266, ekolin
-Fix href to the style sheet.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-10-21 21:01:14 +0200 (Mon, 21 Oct 2013), revision 4265, jan
-update version
-U   knopflerfish.org/trunk/tools/mvnrepo/build.xml
-
-2013-10-21 20:57:21 +0200 (Mon, 21 Oct 2013), revision 4264, ekolin
-Bundle repository link should point to the new repository file.
-U   knopflerfish.org/trunk/htdocs/html_src/release_page.html.in
-
-2013-10-21 19:25:29 +0200 (Mon, 21 Oct 2013), revision 4261, ekolin
-Also search for the repoindex bundle in the direcotry to index.
-U   knopflerfish.org/trunk/ant/bundletasks.xml
-
-2013-10-21 17:29:38 +0200 (Mon, 21 Oct 2013), revision 4260, ekolin
-
-U   knopflerfish.org/trunk/changelog.txt
-
-2013-10-21 17:02:56 +0200 (Mon, 21 Oct 2013), revision 4259, ekolin
-Merge of the KF-5 development branch.
-
-</pre>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/desktop.html b/docs/desktop.html
deleted file mode 100644
index 76ba22a..0000000
--- a/docs/desktop.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The Knopflerfish OSGi Desktop"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  the famous KF Desktop bundle, visualizing the OSGi service platform"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  the famous KF Desktop bundle, visualizing the OSGi service platform</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">The Knopflerfish Desktop</h1>
-
-<div style="align:float;"><a href="images/desktop_info_manifest.gif"><img align=right src="images/desktop_info_manifest_200.png" border=0></a>
-</div>
-
-<p>
-The Knopflerfish OSGi Desktop displays a graphical overview of the OSGi
-framework. Most common operations as install, start, stop and update can
-be performed on bundles using the desktop. Additionally, bundle and service
-detail information is shown, and an experimental "Save deploy archive" is
-included.
-</p>
-
-<p>
-The desktop is a standard OSGi bundle, using Swing. The desktop is primarily
-designed to manage a locally running framework, but can be used to control a
-remote framework, using the optional <a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_opt/soap/readme.html">SOAP bundles</a>.
-Consult the description of <a href="remote_howto.html">how to activate the "Remote framework..." menu item</a>.
-</p>
-<p>
-Additionally, the <a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/http/httpconsole/readme.html">HTTP console</a> or the <a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/console/consoletelnet/readme.txt">Telnet console</a> bundle can always be used for remote control. Both are available in the <a href="http://www.knopflerfish.org/repo/">KF bundle repository</a>.
-</p>
-
-<p>
-The desktop can be customized using plugin services, see <a href="releases/5.1.0/javadoc/org/knopflerfish/service/desktop/SwingBundleDisplayer.html">SwingBundleDisplayer</a> for details.
-</p>
-
-<p>
-The Desktop bundle can be found in
-<pre>
-  knopflerfish/osgi/bundles/desktop
-</pre>
-
-<p>
-When started, it creates a window with four main areas:
-<dl>
-  <dt>Toolbar
-  <dd>The top toolbar provides quick access to common operations
-    as start/stop/update bundles.
-  <dt>Bundle view
-  <dd>The center bundle view area display all installed bundles
-    and their states. By clicking on bundles in this are,
-    detail information is displayed in the <b>Bundle detail area</b>
-    Four different views a supported internally (new can be installed):
-    <ul>
-      <li><a href="#view_icons">Icons</a> - each bundle is displayed as an icon.
-      <li><a href="#view_details">Details</a> - each bundle is displayed as a table row.
-      <li><a href="#view_spin">Spin</a> - each bundle is displayed in a really cool graphics view.
-      <li><a href="#view_timeline">Time line</a> - each bundle event is displayed in a zoomable time line view.
-    </ul>
-  <dt>Bundle detail area
-  <dd>The rightmost bundle detail area shows detailed
-    information on selected bundles such as:
-   <ul>
-    <li>manifest
-    <li>bundle closure
-    <li>imported/exported services
-    <li>imported/exported packages
-    <li>bundle logs.<br>
-   </ul>
-   New detail pages can be installed run-time using plug-ins.
-
-  <dt>Framework console
-  <dd>The bottom console area allows interaction with the
-    text console. This console acts exactly as the <tt>consoltty</tt> bundle, but does not require a shell or DOS window to run.
-</dl>
-
-
-<a name="#view_icons"></a>
-<h4>Icon view</h4>
-To view the installed bundles as icons, select
-<pre>
-View -> Large Icons
-</pre>
-<img src="images/desktop_icons.gif" border=1 align="left">
-
-<table>
-  <tr>
-    <td><img src="images/bundle_installed.gif"></td>
-    <td>Bundle which has a BundleActivator</td>
-  </tr>
-  <tr>
-    <td><img src="images/bundle_active.gif"></td>
-    <td>Active bundle</td>
-  </tr>
-  <tr>
-    <td><img src="images/lib_installed.gif"></td>
-    <td>"Library" bundle which has no BundleActivator</td>
-  </tr>
-</table>
-
-<br clear="all"/>
-
-<p>
-Bundles can be selected by clicking.
-</p>
-
-<a name="#view_details"></a>
-<h4>Detail list view</h4>
-To view the installed bundles as a detailed list, select
-<pre>
-View -> Details
-</pre>
-<img src="images/desktop_details.gif" border=1>
-<p>
-Bundles can be selected by clicking.
-</p>
-
-
-<a name="#view_spin"></a>
-<h4>Detail spin view</h4>
-To view the installed bundles as graphics, select
-<pre>
-View -> Spin
-</pre>
-<img src="images/desktop_spin.gif" border=1>
-<p>
-Dependencies between bundles and services are shown as connecting
-lines. Not how the console bundle depends on three other bundles
-in the image above.
-<p>
-Bundles can be selected by clicking.
-</p>
-
-<a name="#view_timeline"></a>
-<h4>Detail spin view</h4>
-To view the installed bundles as a time line, select
-<pre>
-View -> Time line
-</pre>
-<img src="images/desktop_timeline.gif" border=1>
-<p>
-Each bundle has a horizontal line, with bundle events marked for each bundle
-<p>
-Bundles can be selected by clicking.
-</p>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/examples/cpa/admin/build.xml b/docs/examples/cpa/admin/build.xml
deleted file mode 100644
index 48456ce..0000000
--- a/docs/examples/cpa/admin/build.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="cpaexample_admin" default="all">
-
-  <dirname property="proj.dir" file="${ant.file.cpaexample_admin}"/>
-  <import file="${proj.dir}/../../examples_include.xml"/>
-  
-  <!-- Select the kind of bundle(s) to build. -->
-  <property name="bundle.build.api"  value="false"/>
-  <property name="bundle.build.impl" value="true"/>
-  <property name="bundle.build.lib"  value="false"/>
-  <property name="bundle.build.all"  value="false"/>
-
-  <!-- All private code to be included in the bundle must match this pattern.-->
-  <property name="impl.pattern"
-            value="org/knopflerfish/cpaexample/**"/>
-
-
-  <!-- Compile-time dependecies on other bundles in the distribution. -->
-  <!-- The bundle with the highest version that matches against those
-       included in this distribution will be used. -->
-  <path id="bundle.compile.path">
-  </path>
-
-  <import file="${ant.dir}/bundlebuild.xml"/>
-
-</project>
diff --git a/docs/examples/cpa/admin/bundle.manifest b/docs/examples/cpa/admin/bundle.manifest
deleted file mode 100644
index 74e51f4..0000000
--- a/docs/examples/cpa/admin/bundle.manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0
-Bundle-Name: CPA admin example
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.knopflerfish.cpaexample.admin
-Bundle-Category: example
-Bundle-Description: Condition Permission Admin example
-Bundle-Vendor: Knopflerfish
-Bundle-ContactAddress: http://www.knopflerfish.org
-Bundle-DocURL: http://www.knopflerfish.org/releases/current/docs/bundledoc
- /index.html
-Bundle-SubversionURL: https://www.knopflerfish.org/svn/knopflerfish.org/trunk
- /osgi/bundles_examples/cpa/admin/
diff --git a/docs/examples/cpa/admin/src/org/knopflerfish/cpaexample/bundle/admin/AdminActivator.java b/docs/examples/cpa/admin/src/org/knopflerfish/cpaexample/bundle/admin/AdminActivator.java
deleted file mode 100644
index a467ec8..0000000
--- a/docs/examples/cpa/admin/src/org/knopflerfish/cpaexample/bundle/admin/AdminActivator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.knopflerfish.cpaexample.bundle.admin;
-
-import java.util.List;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.ServiceReference;
-import org.osgi.service.condpermadmin.ConditionalPermissionAdmin;
-import org.osgi.service.condpermadmin.ConditionalPermissionInfo;
-import org.osgi.service.condpermadmin.ConditionalPermissionUpdate;
-
-public class AdminActivator implements BundleActivator {
-  /*
-  // initial version, for tested bundles without local permission
-  private static final String[] ENCODED_PINFO = {
-    "allow { [org.osgi.service.condpermadmin.BundleLocationCondition \"file:jars/*\"] (java.security.AllPermission) } \"allToTrusted\"",
-    "allow { [org.osgi.service.condpermadmin.BundleLocationCondition \"file:/opt/kf/totest/*\"] (org.osgi.framework.PackagePermission \"*\" \"import\") } \"importToTested\""
-  };
-  */
-
-  // final version, for tested bundles that use local permissions
-  private static final String[] ENCODED_PINFO = {
-    "allow { [org.osgi.service.condpermadmin.BundleLocationCondition \"file:jars/*\"] (java.security.AllPermission) } \"allToTrusted\"",
-    "allow { [org.osgi.service.condpermadmin.BundleLocationCondition \"file:/opt/kf/totest/cpaexample_user*\"] (java.security.AllPermission) } \"allToUser\"",
-    "allow { [org.osgi.service.condpermadmin.BundleLocationCondition \"file:/opt/kf/totest/cpaexample_caller*\"] (java.security.AllPermission) } \"allToCaller\""
-  };
-
-  public void start(BundleContext bc) throws BundleException
-  {
-    ServiceReference sRef =
-      bc.getServiceReference(ConditionalPermissionAdmin.class.getName());
-    if (sRef != null) {
-      ConditionalPermissionAdmin cpa =
-        (ConditionalPermissionAdmin) bc.getService(sRef);
-     
-      installPolicies(cpa, ENCODED_PINFO);
-    } else {
-      throw new BundleException("Bundle CPA-test can not start, There is no "
-          + "ConditinalPermissionAdmin service");
-    }
-  }
-
-  public void stop(BundleContext context)
-  {
-  }
-    
-  void installPolicies(ConditionalPermissionAdmin cpa, String[] pInfos) {
-    ConditionalPermissionUpdate cpu = cpa.newConditionalPermissionUpdate();
-    List piList = cpu.getConditionalPermissionInfos();
-    
-    for (int i = 0; i < pInfos.length; i++) {
-      String pInfo = pInfos[i];
-      ConditionalPermissionInfo cpi = cpa.newConditionalPermissionInfo(pInfo);
-      piList.add(cpi);
-    }
-    
-    cpu.commit();
-  }
-  
-}
diff --git a/docs/examples/cpa/build.xml b/docs/examples/cpa/build.xml
deleted file mode 100644
index 8353fb4..0000000
--- a/docs/examples/cpa/build.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="cpa" default="all">
-
-  <!-- Internal target that calls a specified target in all sub-dirs. -->
-  <target name="doAntBuild">
-    <ant target="${the.target}" dir="admin"/>
-    <ant target="${the.target}" dir="user"/>
-    <ant target="${the.target}" dir="caller"/>
-  </target>
-
-  <target name="all" 
-	  description="Builds all bundles">
-    <antcall target="doAntBuild">
-      <param name="the.target" value="all"/>
-    </antcall>
-
-  </target>
-
-  <target name="clean" 
-	  description="Cleans all bundles">
-    <antcall target="doAntBuild">
-      <param name="the.target" value="clean"/>
-    </antcall>
-  </target>
-  
-  <target name="bundle_doc" 
-	  description="Builds doc for all bundles">
-    <antcall target="doAntBuild">
-      <param name="the.target" value="bundle_doc"/>
-    </antcall>
-  </target>
-
-</project>
diff --git a/docs/examples/cpa/caller/build.xml b/docs/examples/cpa/caller/build.xml
deleted file mode 100644
index 9140a40..0000000
--- a/docs/examples/cpa/caller/build.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="cpaexample_caller" default="all">
-
-  <dirname property="proj.dir" file="${ant.file.cpaexample_caller}"/>
-  <import file="${proj.dir}/../../examples_include.xml"/>
-  
-  <!-- Select the kind of bundle(s) to build. -->
-  <property name="bundle.build.api"  value="false"/>
-  <property name="bundle.build.impl" value="true"/>
-  <property name="bundle.build.lib"  value="false"/>
-  <property name="bundle.build.all"  value="false"/>
-
-
-  <!-- All private code to be included in the bundle must match this pattern.-->
-  <property name="impl.pattern"
-    value="org/knopflerfish/cpaexample/**"/>
-
-
-  <!-- Compile-time dependecies on other bundles in the distribution. -->
-  <!-- The bundle with the highest version that matches against those
-       included in this distribution will be used. -->
-  <path id="bundle.compile.path">
-    <pathelement location="cpaexample_user_all-N.N.N.jar"/>
-  </path>
-
-  <import file="${ant.dir}/bundlebuild.xml"/>
-
-</project>
diff --git a/docs/examples/cpa/caller/bundle.manifest b/docs/examples/cpa/caller/bundle.manifest
deleted file mode 100644
index f51eb79..0000000
--- a/docs/examples/cpa/caller/bundle.manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0
-Bundle-Name: CPA caller example
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.knopflerfish.cpaexample.caller
-Bundle-Category: example
-Bundle-Description: Condition Permission Admin caller example
-Bundle-Vendor: Knopflerfish
-Bundle-ContactAddress: http://www.knopflerfish.org
-Bundle-DocURL: http://www.knopflerfish.org/releases/current/docs/bundledoc
- /index.html
-Bundle-SubversionURL: https://www.knopflerfish.org/svn/knopflerfish.org/trunk
- /osgi/bundles_examples/cpa/caller/
diff --git a/docs/examples/cpa/caller/resources/OSGI-INF/permissions.perm b/docs/examples/cpa/caller/resources/OSGI-INF/permissions.perm
deleted file mode 100644
index e75ae17..0000000
--- a/docs/examples/cpa/caller/resources/OSGI-INF/permissions.perm
+++ /dev/null
@@ -1,3 +0,0 @@
-(org.osgi.framework.PackagePermission "org.osgi.framework" "import")
-(org.osgi.framework.PackagePermission "com.makewave.cpaexample.service.user" "import")
-(org.osgi.framework.ServicePermission "com.makewave.cpaexample.service.user.UserService" "get")
diff --git a/docs/examples/cpa/caller/src/org/knopflerfish/cpaexample/bundle/caller/CallerActivator.java b/docs/examples/cpa/caller/src/org/knopflerfish/cpaexample/bundle/caller/CallerActivator.java
deleted file mode 100644
index 20725bd..0000000
--- a/docs/examples/cpa/caller/src/org/knopflerfish/cpaexample/bundle/caller/CallerActivator.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.knopflerfish.cpaexample.bundle.caller;
-
-import java.io.IOException;
-
-import org.knopflerfish.cpaexample.service.user.UserService;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-
-
-public class CallerActivator implements BundleActivator {
-  public void start(BundleContext bc) throws IOException
-  {
-    ServiceReference sRef =
-      bc.getServiceReference(UserService.class.getName());
-    if (sRef != null) {
-      UserService us = (UserService) bc.getService(sRef);
-      if (us != null) {
-        us.login("joek");
-      }
-      bc.ungetService(sRef);
-    }
-  }
-
-  public void stop(BundleContext bc) throws IOException
-  {
-    ServiceReference sRef =
-      bc.getServiceReference(UserService.class.getName());
-    if (sRef != null) {
-      UserService us = (UserService) bc.getService(sRef);
-      if (us != null) {
-        us.logout();
-      }
-      bc.ungetService(sRef);
-    }
-  }
-
-}
diff --git a/docs/examples/cpa/init.xargs b/docs/examples/cpa/init.xargs
deleted file mode 100644
index 99c403a..0000000
--- a/docs/examples/cpa/init.xargs
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Generated from bundles_examples/cpa/init.xargs.in
-# Knopflerfish release 5.1.0
-#
-
-# load common properties
--xargs props.xargs
-
-# Semicolon seprated list of base URLs for searching (completing)
-# bundle URLs in "-install URL" command line options and in the console.
--Forg.knopflerfish.gosg.jars=file:jars/;file:examples_jars/
-
-# CPA admin bundle, started before anything else
--initlevel 1
--istart cpaexample_admin/cpaexample_admin-1.0.0.jar
-
--launch
-
-# basic KF bundles
--initlevel 2
--install cm/cm_api-5.0.1.jar
--istart log/log_all-5.0.0.jar
--istart console/console_all-4.0.1.jar
--istart consoletty/consoletty-4.0.1.jar
--istart frameworkcommands/frameworkcommands-4.0.1.jar
--istart logcommands/logcommands-5.0.0.jar
-
-# bundle to test and test bundle
--initlevel 3
--install file:/opt/kf/totest/cpaexample_user/cpaexample_user_all-1.0.0.jar
--install file:/opt/kf/totest/cpaexample_caller/cpaexample_caller-1.0.0.jar
-
--startlevel 3
\ No newline at end of file
diff --git a/docs/examples/cpa/init.xargs.in b/docs/examples/cpa/init.xargs.in
deleted file mode 100644
index 029920f..0000000
--- a/docs/examples/cpa/init.xargs.in
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# Generated from bundles_examples/cpa/init.xargs.in
-# Knopflerfish release $(VERSION)
-#
-
-# load common properties
--xargs props.xargs
-
-# Semicolon seprated list of base URLs for searching (completing)
-# bundle URLs in "-install URL" command line options and in the console.
--Forg.knopflerfish.gosg.jars=file:jars/;file:examples_jars/
-
-# CPA admin bundle, started before anything else
--initlevel 1
--istart @cpaexample_admin-N.N.N.jar@
-
--launch
-
-# basic KF bundles
--initlevel 2
--install @cm_api-N.N.N.jar@
--istart @log_all-N.N.N.jar@
--istart @console_all-N.N.N.jar@
--istart @consoletty-N.N.N.jar@
--istart @frameworkcommands-N.N.N.jar@
--istart @logcommands-N.N.N.jar@
-
-# bundle to test and test bundle
--initlevel 3
--install file:/opt/kf/totest/@cpaexample_user_all-N.N.N.jar@
--install file:/opt/kf/totest/@cpaexample_caller-N.N.N.jar@
-
--startlevel 3
\ No newline at end of file
diff --git a/docs/examples/cpa/props.xargs b/docs/examples/cpa/props.xargs
deleted file mode 100644
index bdc1d4e..0000000
--- a/docs/examples/cpa/props.xargs
+++ /dev/null
@@ -1,13 +0,0 @@
-# Initial startup verbosity, 0 is low verbosity
-#-Forg.knopflerfish.framework.main.verbosity=0
-
-# Log
--Forg.knopflerfish.log.level=info
-
-# Security
--Forg.osgi.framework.security=osgi
--Forg.knopflerfish.framework.service.permissionadmin=false
-
-# Various debug flags
--Forg.knopflerfish.framework.debug.errors=true
--Forg.knopflerfish.framework.debug.permissions=true
diff --git a/docs/examples/cpa/user/build.xml b/docs/examples/cpa/user/build.xml
deleted file mode 100644
index c64d1b3..0000000
--- a/docs/examples/cpa/user/build.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="cpaexample_user" default="all">
-
-  <dirname property="proj.dir" file="${ant.file.cpaexample_user}"/>
-  <import file="${proj.dir}/../../examples_include.xml"/>
-  
-  <!-- Select the kind of bundle(s) to build. -->
-  <property name="bundle.build.api"  value="false"/>
-  <property name="bundle.build.impl" value="false"/>
-  <property name="bundle.build.lib"  value="false"/>
-  <property name="bundle.build.all"  value="true"/>
-
-
-  <!-- All private code to be included in the bundle must match this pattern.-->
-  <property name="impl.pattern" value="org/knopflerfish/cpaexample/**"/>
-  <property name="api.pattern"  value="org/knopflerfish/cpaexample/**"/>
-
-
-  <!-- Compile-time dependecies on other bundles in the distribution. -->
-  <!-- The bundle with the highest version that matches against those
-       included in this distribution will be used. -->
-  <path id="bundle.compile.path">
-    <pathelement location="log_api-N.N.N.jar"/>
-  </path>
-
-  <import file="${ant.dir}/bundlebuild.xml"/>
-
-</project>
diff --git a/docs/examples/cpa/user/bundle.manifest b/docs/examples/cpa/user/bundle.manifest
deleted file mode 100644
index c3f6c3c..0000000
--- a/docs/examples/cpa/user/bundle.manifest
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-Version: 1.0.0
-Bundle-Name: CPA service example
-Bundle-ManifestVersion: 2
-Bundle-SymbolicName: org.knopflerfish.cpaexample.user
-Bundle-Category: example
-Bundle-Description: Condition Permission Admin service example
-Bundle-Vendor: Knopflerfish
-Bundle-ContactAddress: http://www.knopflerfish.org
-Bundle-DocURL: http://www.knopflerfish.org/releases/current/docs/bundledoc
- /index.html
-Bundle-SubversionURL: https://www.knopflerfish.org/svn/knopflerfish.org/trunk
- /osgi/bundles_examples/cpa/user/
diff --git a/docs/examples/cpa/user/resources/OSGI-INF/permissions.perm b/docs/examples/cpa/user/resources/OSGI-INF/permissions.perm
deleted file mode 100644
index 74b5cc2..0000000
--- a/docs/examples/cpa/user/resources/OSGI-INF/permissions.perm
+++ /dev/null
@@ -1,6 +0,0 @@
-(org.osgi.framework.PackagePermission "org.osgi.framework" "import")
-(org.osgi.framework.PackagePermission "org.osgi.service.log" "import")
-(org.osgi.framework.ServicePermission "org.osgi.service.log.LogService" "get")
-(java.io.FilePermission "/tmp/osgiuser" "read,write,delete")
-(org.osgi.framework.PackagePermission "com.makewave.cpaexample.service.user" "exportonly")
-(org.osgi.framework.ServicePermission "com.makewave.cpaexample.service.user.UserService" "register")
diff --git a/docs/examples/cpa/user/src/org/knopflerfish/cpaexample/service/user/UserService.java b/docs/examples/cpa/user/src/org/knopflerfish/cpaexample/service/user/UserService.java
deleted file mode 100644
index 7643a5f..0000000
--- a/docs/examples/cpa/user/src/org/knopflerfish/cpaexample/service/user/UserService.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.knopflerfish.cpaexample.service.user;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-
-import org.osgi.service.log.LogService;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.BundleException;
-import org.osgi.framework.ServiceReference;
-
-// Separate activator, interface and implementation classes
-// should be used but to keep the number of source files
-// to a minimum, only one class is used in this example
-public class UserService implements BundleActivator {
-  private static String fileName = "/tmp/osgiuser";
-  
-  private BundleContext bc;
-  
-  public void start(BundleContext bc) throws BundleException
-  {
-    this.bc = bc;
-    bc.registerService(UserService.class.getName(), this, null);
-  }
-
-  public void stop(BundleContext context)
-  {
-  }
-    
-  public void login(final String name) {
-    final File f = new File(fileName);
-
-    AccessController.doPrivileged(new PrivilegedAction() {
-      public Object run() {
-        if (f.exists()) {
-          throw new IllegalStateException("User already logged in");
-        }
-
-        try {
-          OutputStream os = new FileOutputStream(f);
-          os.write(name.getBytes("UTF-8"));
-          os.close();
-          log(LogService.LOG_INFO, "User " + name + " logged in");
-        } catch (IOException ioe) {
-          log(LogService.LOG_WARNING, "Problem logging user in: " + ioe);
-        }
-        return null;
-      }
-    });
-  }
-  
-  public void logout() {
-    final File f = new File(fileName);
-
-    AccessController.doPrivileged(new PrivilegedAction() {
-      public Object run() {
-        if (!f.exists()) {
-          throw new IllegalStateException("No user logged in");
-        }
-    
-        f.delete();
-        log(LogService.LOG_INFO, "User logged out");
-        return null;
-      }
-    });
-  }
-
-  private void log(int level, String message)
-  {
-    ServiceReference sRef = 
-      bc.getServiceReference(LogService.class.getName());
-    if (sRef != null) {
-      LogService log = (LogService) bc.getService(sRef);
-      if (log != null) {
-        log.log(level, message);
-      }
-      bc.ungetService(sRef);
-    }
-  }
-
-}
diff --git a/docs/index.html b/docs/index.html
deleted file mode 100644
index 254b93b..0000000
--- a/docs/index.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The Knopflerfish OSGi, version 5.1.0 -  is an Open Source OSGi Service Platform designed to be compliant with the OSGi R5 specifications"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Open Source OSGi Serivce Platform"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Open Source OSGi Serivce Platform</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_disabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<a name="about_knopflerfish"></a>
-<h1 class="kf">Knopflerfish version 5.1.0 </h1>
-
-This is the documentation for version 5.1.0 of Knopflerfish - OSGi Service Platform. 
-<p>
-Knopflerfish 5 (KF5) is the first release of
-Knopflerfish which is implemented according to the <a
-href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">
-OSGi R5 specifications</a>.
-</p>
-
-<p>
-  The <a href="components.html">Contents</a> section
-  provides a summary of what is included in the release.
-</p>
-
-<p>
-  The <a href="release_notes.html">Release Notes</a> has the full
-  summary of all changes.
-</p>
-
-<h2 class="kf">About Knopflerfish</h2>
-<a href="http://www.makewave.com">Makewave</a>
-is the maintainer and sponsor of the 
-<a href="http://www.knopflerfish.org">Knopflerfish project</a> and has
-several developers assigned to develop and maintain the Knopflerfish
-OSGi distribution.  
-</p>
-<p>
-The Knopflerfish project's goal is to develop and distribute
-easy to use open source code, build tools and applications, related to
-the OSGi framework. See 
-<a href="http://www.knopflerfish.org/charter_se.html">charter</a>
-for details. 
-</p>
-
-<a name="about_osgi"></a>
-<h2 class="kf">The OSGi Service Platform</h2>
-The <a href="http://www.osgi.org">OSGi Alliance</a>
-specifies the <b>OSGi Service Platform</b>,
-an industry standard Java application platform, allowing multiple
-applications, to securely run in a 
-single JVM. These programs can share resources as data, functionality
-and threads.
-<p>
-  Knopflerfish OSGi is an implementation of the OSGi Specifications.
-</p>
-<p>
-Applications areas for OSGi ranges from use as a service platform on
-embedded devices, to plugin mechanisms for larger programs.
-The initial goal of OSGi was the embedded market, but other uses
-are certainly possible.
-</p>
-
-<p>
-For more information on the OSGi Alliance, see
-<a href="http://www.osgi.org">http://www.osgi.org</a>
-</p>
-
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/installing.html b/docs/installing.html
deleted file mode 100644
index 3af8c18..0000000
--- a/docs/installing.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Installing Knopflerfish OSGi"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Installing Knopflerfish"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Installing Knopflerfish</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Installing Knopflerfish</h1>
-
-<h2 class="kf">Installation instructions for the complete framework</h2>
-
-<p>
-You need at least <a
-href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java
-1.4</a> to install the framework.
-</p>
-
-The Knopflerfish OSGi framework should be installed by simply
-running the distribution jar file, either by double-clicking on the
-distribution file, or by the command:
-<pre class="shell">
-    > java -jar knopflerfish_osgi_sdk_<i><version></i>.jar
-</pre>
-
-This will open an installation wizard for selection installation
-directory and which components to install.
-<div class="kf">
- <dl>
-   <dt>OSGi framework runtime files</dt>
-   <dd>The execution environment, including the Knopflerfish OSGi framework and bundles</dd>
-   <dt>Java sources and build environment</dt>
-   <dd>
-     Installs all java source code files and a 
-     <a href="building.html">
-       build system</a> for rebuilding Knopflerfish locally form the supplied source files.
-   </dd>
-   <dt>Knopflerfish Documentation</dt>
-   <dd>The Knopflerfish user and developer documentation.</dd>
- </dl>
-</div>
-<img src="images/install_options.png">
-
-<p>
-If you don't need the wizard, installation can also be done in batch
-mode, by entering the command:
-
-<pre class="shell">
-    > java -jar knopflerfish_osgi_sdk_<i><version></i>.jar -batch -silent
-</pre>
-
-...or by simply unpacking the jar file manually.
-
-(WinZip is also capable of unpacking .jar files)
-
-<p>
-After successfully installing Knopflerfish you may move on to 
-<a href="running.html">
-  starting the framework.</a>
-
-<a name="download"></a>
-<h2 class="kf">Installation instructions for the tiny, remotely loading framework</h2>
-
-<ol>
- <li>Unzip the distribution zip file
- <li>Execute <tt>framework_compact.jar</tt>
-<pre class="shell">
-    > cd knopflerfish.org/osgi
-    > java -jar framework_compact.jar
-</pre>
-
-</ol>
-All bundles defined in <tt>remote-init.xargs</tt> will be loaded over the 
-net. 
-
-<p>
-Please see the <a href="running.html"> next section</a> for setting and configuring Knopflerfish run time options using <tt>.xargs</tt> files.
-</p>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/jars/applicationadmin/applicationadmin_api-4.0.0.html b/docs/jars/applicationadmin/applicationadmin_api-4.0.0.html
deleted file mode 100644
index 7296013..0000000
--- a/docs/jars/applicationadmin/applicationadmin_api-4.0.0.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>applicationadmin_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>applicationadmin_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/applicationadmin/applicationadmin_api-4.0.0.jar">download</a> (18166 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>applicationadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.applicationadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Application Admin API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/application/package-summary.html">org.osgi.service.application</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/application/package-summary.html">org.osgi.service.application</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td>*</td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:40</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/applicationadmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:applicationadmin:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/application/package-summary.html">org.osgi.service.application</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/application/package-summary.html">org.osgi.service.application</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/ApplicationAdminPermission.java">org/osgi/service/application/ApplicationAdminPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/ApplicationDescriptor.java">org/osgi/service/application/ApplicationDescriptor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/ApplicationException.java">org/osgi/service/application/ApplicationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/ApplicationHandle.java">org/osgi/service/application/ApplicationHandle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/ScheduledApplication.java">org/osgi/service/application/ScheduledApplication.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/applicationadmin/src/org/osgi/service/application/package-info.java">org/osgi/service/application/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/basicdriverlocator/basicdriverlocator-4.0.0.html b/docs/jars/basicdriverlocator/basicdriverlocator-4.0.0.html
deleted file mode 100644
index a20427f..0000000
--- a/docs/jars/basicdriverlocator/basicdriverlocator-4.0.0.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>basicdriverlocator-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>basicdriverlocator-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/basicdriverlocator/basicdriverlocator-4.0.0.jar">download</a> (7094 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>basicdriverlocator-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.basicdriverlocator-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Basic device driver locator (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.basicdriverlocator.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:31</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/device/basicdriverlocator</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:basicdriverlocator:4.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/src/org/knopflerfish/bundle/basicdriverlocator/Activator.java">org/knopflerfish/bundle/basicdriverlocator/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/src/org/knopflerfish/bundle/basicdriverlocator/BasicDriverLocator.java">org/knopflerfish/bundle/basicdriverlocator/BasicDriverLocator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/basicdriverlocator/basicdriverlocator_all-4.0.0.html b/docs/jars/basicdriverlocator/basicdriverlocator_all-4.0.0.html
deleted file mode 100644
index 334fff0..0000000
--- a/docs/jars/basicdriverlocator/basicdriverlocator_all-4.0.0.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>basicdriverlocator_all-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>basicdriverlocator_all-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/basicdriverlocator/basicdriverlocator_all-4.0.0.jar">download</a> (7077 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>basicdriverlocator</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.basicdriverlocator</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Basic device driver locator</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.basicdriverlocator.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:31</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/device/basicdriverlocator</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:basicdriverlocator:4.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/src/org/knopflerfish/bundle/basicdriverlocator/Activator.java">org/knopflerfish/bundle/basicdriverlocator/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/basicdriverlocator/src/org/knopflerfish/bundle/basicdriverlocator/BasicDriverLocator.java">org/knopflerfish/bundle/basicdriverlocator/BasicDriverLocator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/blueprint/blueprint_api-5.0.0.html b/docs/jars/blueprint/blueprint_api-5.0.0.html
deleted file mode 100644
index 4e0f5d0..0000000
--- a/docs/jars/blueprint/blueprint_api-5.0.0.html
+++ /dev/null
@@ -1,347 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>blueprint_api-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>blueprint_api-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/blueprint/blueprint_api-5.0.0.jar">download</a> (17923 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>blueprint-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.blueprint-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Blueprint Container API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/Apache-2.0;link="http://www.apache.org/licenses/LICENSE-2.0";description="Apache License, Version 2.0"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/container/package-summary.html">org.osgi.service.blueprint.container</a> 1.0.2<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/reflect/package-summary.html">org.osgi.service.blueprint.reflect</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/container/package-summary.html">org.osgi.service.blueprint.container</a> [1.0.2,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/reflect/package-summary.html">org.osgi.service.blueprint.reflect</a> [1.0.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:43</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/blueprint</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:blueprint:5.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/container/package-summary.html">org.osgi.service.blueprint.container</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/reflect/package-summary.html">org.osgi.service.blueprint.reflect</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/container/package-summary.html">org.osgi.service.blueprint.container</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/blueprint/reflect/package-summary.html">org.osgi.service.blueprint.reflect</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/BlueprintContainer.java">org/osgi/service/blueprint/container/BlueprintContainer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/BlueprintEvent.java">org/osgi/service/blueprint/container/BlueprintEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/BlueprintListener.java">org/osgi/service/blueprint/container/BlueprintListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/ComponentDefinitionException.java">org/osgi/service/blueprint/container/ComponentDefinitionException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/Converter.java">org/osgi/service/blueprint/container/Converter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/EventConstants.java">org/osgi/service/blueprint/container/EventConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/NoSuchComponentException.java">org/osgi/service/blueprint/container/NoSuchComponentException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/ReifiedType.java">org/osgi/service/blueprint/container/ReifiedType.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/ServiceUnavailableException.java">org/osgi/service/blueprint/container/ServiceUnavailableException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/container/package-info.java">org/osgi/service/blueprint/container/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/BeanArgument.java">org/osgi/service/blueprint/reflect/BeanArgument.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/BeanMetadata.java">org/osgi/service/blueprint/reflect/BeanMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/BeanProperty.java">org/osgi/service/blueprint/reflect/BeanProperty.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/CollectionMetadata.java">org/osgi/service/blueprint/reflect/CollectionMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ComponentMetadata.java">org/osgi/service/blueprint/reflect/ComponentMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/IdRefMetadata.java">org/osgi/service/blueprint/reflect/IdRefMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/MapEntry.java">org/osgi/service/blueprint/reflect/MapEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/MapMetadata.java">org/osgi/service/blueprint/reflect/MapMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/Metadata.java">org/osgi/service/blueprint/reflect/Metadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/NonNullMetadata.java">org/osgi/service/blueprint/reflect/NonNullMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/NullMetadata.java">org/osgi/service/blueprint/reflect/NullMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/PropsMetadata.java">org/osgi/service/blueprint/reflect/PropsMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/RefMetadata.java">org/osgi/service/blueprint/reflect/RefMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ReferenceListMetadata.java">org/osgi/service/blueprint/reflect/ReferenceListMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ReferenceListener.java">org/osgi/service/blueprint/reflect/ReferenceListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ReferenceMetadata.java">org/osgi/service/blueprint/reflect/ReferenceMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/RegistrationListener.java">org/osgi/service/blueprint/reflect/RegistrationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ServiceMetadata.java">org/osgi/service/blueprint/reflect/ServiceMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java">org/osgi/service/blueprint/reflect/ServiceReferenceMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/Target.java">org/osgi/service/blueprint/reflect/Target.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/ValueMetadata.java">org/osgi/service/blueprint/reflect/ValueMetadata.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/blueprint/src/org/osgi/service/blueprint/reflect/package-info.java">org/osgi/service/blueprint/reflect/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/classpatcher/classpatcher_all-5.0.0.html b/docs/jars/classpatcher/classpatcher_all-5.0.0.html
deleted file mode 100644
index 1c8b653..0000000
--- a/docs/jars/classpatcher/classpatcher_all-5.0.0.html
+++ /dev/null
@@ -1,199 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>classpatcher_all-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>classpatcher_all-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/classpatcher/classpatcher_all-5.0.0.jar">download</a> (63488 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Class Patcher</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.classpatcher</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Implements a WeavingHook to allow patching of classes at load time using ASM</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.classpatcher.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,asm-3.2.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.framework.hooks.weaving.WeavingHook"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/classpatcher</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>framework</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:classpatcher:5.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/src/org/knopflerfish/bundle/classpatcher/Activator.java">org/knopflerfish/bundle/classpatcher/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/src/org/knopflerfish/bundle/classpatcher/ClassPatcher.java">org/knopflerfish/bundle/classpatcher/ClassPatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/src/org/knopflerfish/bundle/classpatcher/ClassPatcherWeavingHook.java">org/knopflerfish/bundle/classpatcher/ClassPatcherWeavingHook.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/classpatcher/src/org/knopflerfish/bundle/classpatcher/ClassPatcherWrappers.java">org/knopflerfish/bundle/classpatcher/ClassPatcherWrappers.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm/cm-5.0.1.html b/docs/jars/cm/cm-5.0.1.html
deleted file mode 100644
index 5e18376..0000000
--- a/docs/jars/cm/cm-5.0.1.html
+++ /dev/null
@@ -1,332 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm/cm-5.0.1.jar">download</a> (72850 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>cm-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Configuration Management Service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.cm.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,1.6.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.cm.ConfigurationAdmin"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:01</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/cm/cm</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm:5.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Activator.java">org/knopflerfish/bundle/cm/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java">org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDictionary.java">org/knopflerfish/bundle/cm/ConfigurationDictionary.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDispatcher.java">org/knopflerfish/bundle/cm/ConfigurationDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationStore.java">org/knopflerfish/bundle/cm/ConfigurationStore.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEvent.java">org/knopflerfish/bundle/cm/ListenerEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEventQueue.java">org/knopflerfish/bundle/cm/ListenerEventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/PluginManager.java">org/knopflerfish/bundle/cm/PluginManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Update.java">org/knopflerfish/bundle/cm/Update.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/UpdateQueue.java">org/knopflerfish/bundle/cm/UpdateQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataReader.java">org/knopflerfish/shared/cm/CMDataReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataWriter.java">org/knopflerfish/shared/cm/CMDataWriter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/DictionaryUtils.java">org/knopflerfish/shared/cm/DictionaryUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/XmlReader.java">org/knopflerfish/shared/cm/XmlReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/Configuration.java">org/osgi/service/cm/Configuration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationAdmin.java">org/osgi/service/cm/ConfigurationAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationEvent.java">org/osgi/service/cm/ConfigurationEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationException.java">org/osgi/service/cm/ConfigurationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationListener.java">org/osgi/service/cm/ConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPermission.java">org/osgi/service/cm/ConfigurationPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPlugin.java">org/osgi/service/cm/ConfigurationPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedService.java">org/osgi/service/cm/ManagedService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedServiceFactory.java">org/osgi/service/cm/ManagedServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/SynchronousConfigurationListener.java">org/osgi/service/cm/SynchronousConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/package-info.java">org/osgi/service/cm/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm/cm_all-5.0.1.html b/docs/jars/cm/cm_all-5.0.1.html
deleted file mode 100644
index 04cc8a0..0000000
--- a/docs/jars/cm/cm_all-5.0.1.html
+++ /dev/null
@@ -1,351 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm_all-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm_all-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm/cm_all-5.0.1.jar">download</a> (84205 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>cm</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Configuration Management Service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.cm.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> 1.1.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 1.5.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,1.6.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.cm.ConfigurationAdmin"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:01</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/cm/cm</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm:5.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Activator.java">org/knopflerfish/bundle/cm/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java">org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDictionary.java">org/knopflerfish/bundle/cm/ConfigurationDictionary.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDispatcher.java">org/knopflerfish/bundle/cm/ConfigurationDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationStore.java">org/knopflerfish/bundle/cm/ConfigurationStore.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEvent.java">org/knopflerfish/bundle/cm/ListenerEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEventQueue.java">org/knopflerfish/bundle/cm/ListenerEventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/PluginManager.java">org/knopflerfish/bundle/cm/PluginManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Update.java">org/knopflerfish/bundle/cm/Update.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/UpdateQueue.java">org/knopflerfish/bundle/cm/UpdateQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataReader.java">org/knopflerfish/shared/cm/CMDataReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataWriter.java">org/knopflerfish/shared/cm/CMDataWriter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/DictionaryUtils.java">org/knopflerfish/shared/cm/DictionaryUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/XmlReader.java">org/knopflerfish/shared/cm/XmlReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/Configuration.java">org/osgi/service/cm/Configuration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationAdmin.java">org/osgi/service/cm/ConfigurationAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationEvent.java">org/osgi/service/cm/ConfigurationEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationException.java">org/osgi/service/cm/ConfigurationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationListener.java">org/osgi/service/cm/ConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPermission.java">org/osgi/service/cm/ConfigurationPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPlugin.java">org/osgi/service/cm/ConfigurationPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedService.java">org/osgi/service/cm/ManagedService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedServiceFactory.java">org/osgi/service/cm/ManagedServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/SynchronousConfigurationListener.java">org/osgi/service/cm/SynchronousConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/package-info.java">org/osgi/service/cm/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm/cm_api-5.0.1.html b/docs/jars/cm/cm_api-5.0.1.html
deleted file mode 100644
index 161bbff..0000000
--- a/docs/jars/cm/cm_api-5.0.1.html
+++ /dev/null
@@ -1,339 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm_api-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm_api-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm/cm_api-5.0.1.jar">download</a> (12318 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>cm-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Configuration Management Service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 1.5.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:01</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/cm/cm</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm:5.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Activator.java">org/knopflerfish/bundle/cm/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java">org/knopflerfish/bundle/cm/ConfigurationAdminFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDictionary.java">org/knopflerfish/bundle/cm/ConfigurationDictionary.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationDispatcher.java">org/knopflerfish/bundle/cm/ConfigurationDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ConfigurationStore.java">org/knopflerfish/bundle/cm/ConfigurationStore.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEvent.java">org/knopflerfish/bundle/cm/ListenerEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/ListenerEventQueue.java">org/knopflerfish/bundle/cm/ListenerEventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/PluginManager.java">org/knopflerfish/bundle/cm/PluginManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/Update.java">org/knopflerfish/bundle/cm/Update.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/bundle/cm/UpdateQueue.java">org/knopflerfish/bundle/cm/UpdateQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataReader.java">org/knopflerfish/shared/cm/CMDataReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/CMDataWriter.java">org/knopflerfish/shared/cm/CMDataWriter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/DictionaryUtils.java">org/knopflerfish/shared/cm/DictionaryUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/knopflerfish/shared/cm/XmlReader.java">org/knopflerfish/shared/cm/XmlReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/Configuration.java">org/osgi/service/cm/Configuration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationAdmin.java">org/osgi/service/cm/ConfigurationAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationEvent.java">org/osgi/service/cm/ConfigurationEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationException.java">org/osgi/service/cm/ConfigurationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationListener.java">org/osgi/service/cm/ConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPermission.java">org/osgi/service/cm/ConfigurationPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ConfigurationPlugin.java">org/osgi/service/cm/ConfigurationPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedService.java">org/osgi/service/cm/ManagedService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/ManagedServiceFactory.java">org/osgi/service/cm/ManagedServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/SynchronousConfigurationListener.java">org/osgi/service/cm/SynchronousConfigurationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm/src/org/osgi/service/cm/package-info.java">org/osgi/service/cm/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm_cmd/cm_cmd-5.0.1.html b/docs/jars/cm_cmd/cm_cmd-5.0.1.html
deleted file mode 100644
index 598a539..0000000
--- a/docs/jars/cm_cmd/cm_cmd-5.0.1.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm_cmd-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm_cmd-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm_cmd/cm_cmd-5.0.1.jar">download</a> (23385 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>CM-Commands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm_cmd-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Commands for the CM service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm_cmd/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=cm_cmd/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.cm.commands.impl.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.knopflerfish.service.console.CommandGroup"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:09</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/cm/cm_cmd</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm_cmd/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm_cmd/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm_cmd:5.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm_cmd/src/org/knopflerfish/bundle/cm/commands/impl/Activator.java">org/knopflerfish/bundle/cm/commands/impl/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/cm/cm_cmd/src/org/knopflerfish/bundle/cm/commands/impl/CMCommands.java">org/knopflerfish/bundle/cm/commands/impl/CMCommands.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm_desktop/cm_desktop-5.0.2.html b/docs/jars/cm_desktop/cm_desktop-5.0.2.html
deleted file mode 100644
index 00442e8..0000000
--- a/docs/jars/cm_desktop/cm_desktop-5.0.2.html
+++ /dev/null
@@ -1,281 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm_desktop-5.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm_desktop-5.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm_desktop/cm_desktop-5.0.2.jar">download</a> (77382 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>CM-Desktop-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm_desktop-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>CM desktop plugin (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/readme.html">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/readme.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.cm.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.filechooser 0.0.0<br>
-javax.swing.table 0.0.0<br>
-javax.swing.text 0.0.0<br>
-javax.swing.text.html 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> [2.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.osgi.service.cm.ConfigurationListener",osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))",osgi.service;objectClass:List<String>="org.osgi.service.metatype.MetaTypeService"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:37</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/metatype/cm_desktop</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm_desktop:5.0.2:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-<tr><td><a href="../metatype/metatype-4.0.0.html">metatype-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/Activator.java">org/knopflerfish/bundle/desktop/cm/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/CMDisplayer.java">org/knopflerfish/bundle/desktop/cm/CMDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/ControlPanel.java">org/knopflerfish/bundle/desktop/cm/ControlPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/cm/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/FileFilterImpl.java">org/knopflerfish/bundle/desktop/cm/FileFilterImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMInfo.java">org/knopflerfish/bundle/desktop/cm/JCMInfo.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMProp.java">org/knopflerfish/bundle/desktop/cm/JCMProp.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMService.java">org/knopflerfish/bundle/desktop/cm/JCMService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JLabelled.java">org/knopflerfish/bundle/desktop/cm/JLabelled.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JNumber.java">org/knopflerfish/bundle/desktop/cm/JNumber.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JVector.java">org/knopflerfish/bundle/desktop/cm/JVector.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/PropertiesPanel.java">org/knopflerfish/bundle/desktop/cm/PropertiesPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/SystemMetaTypeInformation.java">org/knopflerfish/bundle/desktop/cm/SystemMetaTypeInformation.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/TargetPanel.java">org/knopflerfish/bundle/desktop/cm/TargetPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/Util.java">org/knopflerfish/bundle/desktop/cm/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/cm_desktop/cm_desktop_all-5.0.2.html b/docs/jars/cm_desktop/cm_desktop_all-5.0.2.html
deleted file mode 100644
index bbd92a2..0000000
--- a/docs/jars/cm_desktop/cm_desktop_all-5.0.2.html
+++ /dev/null
@@ -1,288 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>cm_desktop_all-5.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>cm_desktop_all-5.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/cm_desktop/cm_desktop_all-5.0.2.jar">download</a> (94485 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>CM-Desktop</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.cm_desktop</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>CM desktop plugin</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/readme.html">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/metatype/cm_desktop/readme.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.cm.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.filechooser 0.0.0<br>
-javax.swing.table 0.0.0<br>
-javax.swing.text 0.0.0<br>
-javax.swing.text.html 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> [2.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.osgi.service.cm.ConfigurationListener",osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))",osgi.service;objectClass:List<String>="org.osgi.service.metatype.MetaTypeService"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:37</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/metatype/cm_desktop</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:cm_desktop:5.0.2</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-<tr><td><a href="../metatype/metatype-4.0.0.html">metatype-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/Activator.java">org/knopflerfish/bundle/desktop/cm/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/CMDisplayer.java">org/knopflerfish/bundle/desktop/cm/CMDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/ControlPanel.java">org/knopflerfish/bundle/desktop/cm/ControlPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/cm/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/FileFilterImpl.java">org/knopflerfish/bundle/desktop/cm/FileFilterImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMInfo.java">org/knopflerfish/bundle/desktop/cm/JCMInfo.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMProp.java">org/knopflerfish/bundle/desktop/cm/JCMProp.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JCMService.java">org/knopflerfish/bundle/desktop/cm/JCMService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JLabelled.java">org/knopflerfish/bundle/desktop/cm/JLabelled.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JNumber.java">org/knopflerfish/bundle/desktop/cm/JNumber.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/JVector.java">org/knopflerfish/bundle/desktop/cm/JVector.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/PropertiesPanel.java">org/knopflerfish/bundle/desktop/cm/PropertiesPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/SystemMetaTypeInformation.java">org/knopflerfish/bundle/desktop/cm/SystemMetaTypeInformation.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/TargetPanel.java">org/knopflerfish/bundle/desktop/cm/TargetPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/cm_desktop/src/org/knopflerfish/bundle/desktop/cm/Util.java">org/knopflerfish/bundle/desktop/cm/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/comm-linux/comm-linux_all-3.0.0.html b/docs/jars/comm-linux/comm-linux_all-3.0.0.html
deleted file mode 100644
index dde29df..0000000
--- a/docs/jars/comm-linux/comm-linux_all-3.0.0.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>comm-linux_all-3.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>comm-linux_all-3.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/comm-linux/comm-linux_all-3.0.0.jar">download</a> (119718 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>comm-linux</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.comm-linux</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>3.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Native driver for linux javax.comm using the RXTX library. Note that this bundle is LGPL and contains full source to rxtx</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Piayda/RXTX</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>info.piayda.bundle.comm.linux.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,RXTXcomm.jar,comm.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> 2.0.0<br>
-javax.comm 2.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> 2.0.0<br>
-javax.comm 2.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:16</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/comm-linux</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Piayda/Sun</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-NativeCode</td>
- <td>librxtxParallel.so; librxtxSerial.so ; processor = i386 ; osname = Linux, librxtxParallel.so; librxtxSerial.so ; processor = x86 ; osname = Linux, librxtxParallel.so; librxtxSerial.so ; processor = i386 ; osname = NetBSD</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-linux/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-linux/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:comm-linux:3.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a>, javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a>, javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td>javax.comm</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-linux/src/info/piayda/bundle/comm/linux/Activator.java">info/piayda/bundle/comm/linux/Activator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/comm-win32/comm-win32_all-3.0.0.html b/docs/jars/comm-win32/comm-win32_all-3.0.0.html
deleted file mode 100644
index bf25900..0000000
--- a/docs/jars/comm-win32/comm-win32_all-3.0.0.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>comm-win32_all-3.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>comm-win32_all-3.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/comm-win32/comm-win32_all-3.0.0.jar">download</a> (38820 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>comm-win32</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.comm-win32</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>3.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Native driver for win32 javax.comm using Sun's COMM library</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Sun</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.comm.w32.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,comm.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.comm 2.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.comm 2.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:15</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/comm-win32</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish/Sun</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-NativeCode</td>
- <td>win32com.dll ; processor = x86 ;osname = Windows NT ; osname = Windows 98 ; osname = Windows 95 ; osname = Windows 2000 ; osname = Windows XP ;osname = Windows Vista</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-win32/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-win32/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:comm-win32:3.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td>javax.comm</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/comm-win32/src/org/knopflerfish/bundle/comm/w32/Activator.java">org/knopflerfish/bundle/comm/w32/Activator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/command/command_all-0.2.html b/docs/jars/command/command_all-0.2.html
deleted file mode 100644
index a9f9b37..0000000
--- a/docs/jars/command/command_all-0.2.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>command_all-0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>command_all-0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/command/command_all-0.2.jar">download</a> (35977 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>command</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.command</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Command Service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.command.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/command/command</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:command:0.2</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Activator.java">org/knopflerfish/bundle/command/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProcessorFactory.java">org/knopflerfish/bundle/command/CommandProcessorFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProcessorImpl.java">org/knopflerfish/bundle/command/CommandProcessorImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProviders.java">org/knopflerfish/bundle/command/CommandProviders.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProvidersService.java">org/knopflerfish/bundle/command/CommandProvidersService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProvidersTest.java">org/knopflerfish/bundle/command/CommandProvidersTest.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandSessionImpl.java">org/knopflerfish/bundle/command/CommandSessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/FrameworkConverter.java">org/knopflerfish/bundle/command/FrameworkConverter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/JavaLangConverter.java">org/knopflerfish/bundle/command/JavaLangConverter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Program.java">org/knopflerfish/bundle/command/Program.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Tokenizer.java">org/knopflerfish/bundle/command/Tokenizer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Util.java">org/knopflerfish/bundle/command/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/CommandCommands.java">org/knopflerfish/bundle/command/commands/CommandCommands.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/EchoCmd.java">org/knopflerfish/bundle/command/commands/EchoCmd.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/FrameworkCommands.java">org/knopflerfish/bundle/command/commands/FrameworkCommands.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/CommandProcessor.java">org/osgi/service/command/CommandProcessor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/CommandSession.java">org/osgi/service/command/CommandSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/Converter.java">org/osgi/service/command/Converter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/Function.java">org/osgi/service/command/Function.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/command/command_api-0.2.html b/docs/jars/command/command_api-0.2.html
deleted file mode 100644
index 27d0a3d..0000000
--- a/docs/jars/command/command_api-0.2.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>command_api-0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>command_api-0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/command/command_api-0.2.jar">download</a> (3052 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>command-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.command-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Command Service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/command/command</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:command:0.2:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Activator.java">org/knopflerfish/bundle/command/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProcessorFactory.java">org/knopflerfish/bundle/command/CommandProcessorFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProcessorImpl.java">org/knopflerfish/bundle/command/CommandProcessorImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProviders.java">org/knopflerfish/bundle/command/CommandProviders.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProvidersService.java">org/knopflerfish/bundle/command/CommandProvidersService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandProvidersTest.java">org/knopflerfish/bundle/command/CommandProvidersTest.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/CommandSessionImpl.java">org/knopflerfish/bundle/command/CommandSessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/FrameworkConverter.java">org/knopflerfish/bundle/command/FrameworkConverter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/JavaLangConverter.java">org/knopflerfish/bundle/command/JavaLangConverter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Program.java">org/knopflerfish/bundle/command/Program.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Tokenizer.java">org/knopflerfish/bundle/command/Tokenizer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/Util.java">org/knopflerfish/bundle/command/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/CommandCommands.java">org/knopflerfish/bundle/command/commands/CommandCommands.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/EchoCmd.java">org/knopflerfish/bundle/command/commands/EchoCmd.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/knopflerfish/bundle/command/commands/FrameworkCommands.java">org/knopflerfish/bundle/command/commands/FrameworkCommands.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/CommandProcessor.java">org/osgi/service/command/CommandProcessor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/CommandSession.java">org/osgi/service/command/CommandSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/Converter.java">org/osgi/service/command/Converter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/command/src/org/osgi/service/command/Function.java">org/osgi/service/command/Function.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/commandtty/commandtty-4.0.1.html b/docs/jars/commandtty/commandtty-4.0.1.html
deleted file mode 100644
index edee979..0000000
--- a/docs/jars/commandtty/commandtty-4.0.1.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>commandtty-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>commandtty-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/commandtty/commandtty-4.0.1.jar">download</a> (8047 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>TTY-Command-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.commandtty-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Command line system console (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.commandtty.CommandTty</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:25</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/command/commandtty</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/commandtty/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/commandtty/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:commandtty:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/command/commandtty/src/org/knopflerfish/bundle/commandtty/CommandTty.java">org/knopflerfish/bundle/commandtty/CommandTty.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/commons-logging/commons-logging_all-2.0.0.kf4-001.html b/docs/jars/commons-logging/commons-logging_all-2.0.0.kf4-001.html
deleted file mode 100644
index b31b21c..0000000
--- a/docs/jars/commons-logging/commons-logging_all-2.0.0.kf4-001.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>commons-logging_all-2.0.0.kf4-001.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>commons-logging_all-2.0.0.kf4-001.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/commons-logging/commons-logging_all-2.0.0.kf4-001.jar">download</a> (37649 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Commons-Logging</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.commons-logging</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.0.0.kf4-001</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Apache Commons logging. Publishced under Apache License. See http://www.apache.org/licenses/LICENSE-2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_opt/commons-logging/readme.txt">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_opt/commons-logging/readme.txt</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.commons.logging.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/commons/logging/package-summary.html">org.apache.commons.logging</a> 1.0.3<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> 1.3.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/commons/logging/package-summary.html">org.apache.commons.logging</a> [1.0.3,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:05</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/commons-logging</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish/Apache</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>lib</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:commons-logging:2.0.0.kf4-001</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/commons/logging/package-summary.html">org.apache.commons.logging</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service. [...]
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/commons/logging/package-summary.html">org.apache.commons.logging</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service. [...]
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/Log.java">org/apache/commons/logging/Log.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/LogConfigurationException.java">org/apache/commons/logging/LogConfigurationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/LogFactory.java">org/apache/commons/logging/LogFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/LogSource.java">org/apache/commons/logging/LogSource.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/impl/LogFactoryImpl.java">org/apache/commons/logging/impl/LogFactoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/impl/NoOpLog.java">org/apache/commons/logging/impl/NoOpLog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/apache/commons/logging/impl/SimpleLog.java">org/apache/commons/logging/impl/SimpleLog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/knopflerfish/bundle/commons/logging/Activator.java">org/knopflerfish/bundle/commons/logging/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/knopflerfish/bundle/commons/logging/LogFactoryOSGI.java">org/knopflerfish/bundle/commons/logging/LogFactoryOSGI.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/commons-logging/src/org/knopflerfish/bundle/commons/logging/LogOSGI.java">org/knopflerfish/bundle/commons/logging/LogOSGI.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/component/component_all-5.0.3.html b/docs/jars/component/component_all-5.0.3.html
deleted file mode 100644
index 28dfb30..0000000
--- a/docs/jars/component/component_all-5.0.3.html
+++ /dev/null
@@ -1,343 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>component_all-5.0.3.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>component_all-5.0.3.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/component/component_all-5.0.3.jar">download</a> (78173 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>SCR</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.component</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.3</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Declarative Services SCR</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.component.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> 1.6.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> 1.2.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> [1.2.1,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-org.xmlpull.v1 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.apache.felix.scr.ScrService"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:03</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/component</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:component:5.0.3</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a>, <a target="_top" href="../../javadoc/index.html?o [...]
-<tr><td><a href="../kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td><td>org.xmlpull.v1</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td></tr>
-<tr><td><a href="../scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/Component.java">org/apache/felix/scr/Component.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/Reference.java">org/apache/felix/scr/Reference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/ScrService.java">org/apache/felix/scr/ScrService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Activator.java">org/knopflerfish/bundle/component/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java">org/knopflerfish/bundle/component/Component.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentConfiguration.java">org/knopflerfish/bundle/component/ComponentConfiguration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentContextImpl.java">org/knopflerfish/bundle/component/ComponentContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentDescription.java">org/knopflerfish/bundle/component/ComponentDescription.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentFactoryImpl.java">org/knopflerfish/bundle/component/ComponentFactoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentInstanceImpl.java">org/knopflerfish/bundle/component/ComponentInstanceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentMethod.java">org/knopflerfish/bundle/component/ComponentMethod.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/DelayedComponent.java">org/knopflerfish/bundle/component/DelayedComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/FactoryComponent.java">org/knopflerfish/bundle/component/FactoryComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/IllegalXMLException.java">org/knopflerfish/bundle/component/IllegalXMLException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ImmediateComponent.java">org/knopflerfish/bundle/component/ImmediateComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/PostponedBind.java">org/knopflerfish/bundle/component/PostponedBind.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/PropertyDictionary.java">org/knopflerfish/bundle/component/PropertyDictionary.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Reference.java">org/knopflerfish/bundle/component/Reference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceDescription.java">org/knopflerfish/bundle/component/ReferenceDescription.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java">org/knopflerfish/bundle/component/ReferenceListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/SCR.java">org/knopflerfish/bundle/component/SCR.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ScrServiceImpl.java">org/knopflerfish/bundle/component/ScrServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentConstants.java">org/osgi/service/component/ComponentConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentContext.java">org/osgi/service/component/ComponentContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentException.java">org/osgi/service/component/ComponentException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentFactory.java">org/osgi/service/component/ComponentFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentInstance.java">org/osgi/service/component/ComponentInstance.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/package-info.java">org/osgi/service/component/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/component/component_api-5.0.3.html b/docs/jars/component/component_api-5.0.3.html
deleted file mode 100644
index c3bffcd..0000000
--- a/docs/jars/component/component_api-5.0.3.html
+++ /dev/null
@@ -1,333 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>component_api-5.0.3.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>component_api-5.0.3.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/component/component_api-5.0.3.jar">download</a> (6120 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>SCR-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.component-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.3</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Declarative Services SCR (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> 1.6.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> 1.2.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> [1.2.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:03</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/component</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:component:5.0.3:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td></tr>
-<tr><td><a href="../scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/Component.java">org/apache/felix/scr/Component.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/Reference.java">org/apache/felix/scr/Reference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/apache/felix/scr/ScrService.java">org/apache/felix/scr/ScrService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Activator.java">org/knopflerfish/bundle/component/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Component.java">org/knopflerfish/bundle/component/Component.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentConfiguration.java">org/knopflerfish/bundle/component/ComponentConfiguration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentContextImpl.java">org/knopflerfish/bundle/component/ComponentContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentDescription.java">org/knopflerfish/bundle/component/ComponentDescription.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentFactoryImpl.java">org/knopflerfish/bundle/component/ComponentFactoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentInstanceImpl.java">org/knopflerfish/bundle/component/ComponentInstanceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ComponentMethod.java">org/knopflerfish/bundle/component/ComponentMethod.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/DelayedComponent.java">org/knopflerfish/bundle/component/DelayedComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/FactoryComponent.java">org/knopflerfish/bundle/component/FactoryComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/IllegalXMLException.java">org/knopflerfish/bundle/component/IllegalXMLException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ImmediateComponent.java">org/knopflerfish/bundle/component/ImmediateComponent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/PostponedBind.java">org/knopflerfish/bundle/component/PostponedBind.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/PropertyDictionary.java">org/knopflerfish/bundle/component/PropertyDictionary.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/Reference.java">org/knopflerfish/bundle/component/Reference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceDescription.java">org/knopflerfish/bundle/component/ReferenceDescription.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ReferenceListener.java">org/knopflerfish/bundle/component/ReferenceListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/SCR.java">org/knopflerfish/bundle/component/SCR.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/knopflerfish/bundle/component/ScrServiceImpl.java">org/knopflerfish/bundle/component/ScrServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentConstants.java">org/osgi/service/component/ComponentConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentContext.java">org/osgi/service/component/ComponentContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentException.java">org/osgi/service/component/ComponentException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentFactory.java">org/osgi/service/component/ComponentFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/ComponentInstance.java">org/osgi/service/component/ComponentInstance.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/component/src/org/osgi/service/component/package-info.java">org/osgi/service/component/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/component_annotations/component_annotations_api-1.0.0.html b/docs/jars/component_annotations/component_annotations_api-1.0.0.html
deleted file mode 100644
index d0a2026..0000000
--- a/docs/jars/component_annotations/component_annotations_api-1.0.0.html
+++ /dev/null
@@ -1,233 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>component_annotations_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>component_annotations_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/component_annotations/component_annotations_api-1.0.0.jar">download</a> (7811 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Component Annotations-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.component_annotations-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi specified component annotations (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/annotations/package-summary.html">org.osgi.service.component.annotations</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/annotations/package-summary.html">org.osgi.service.component.annotations</a> [1.2.0,1.3.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:38</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/annotations/component_api</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:component_annotations:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component_annotations/component_annotations_api-1.0.0.html">component_annotations_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/annotations/package-summary.html">org.osgi.service.component.annotations</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component_annotations/component_annotations_api-1.0.0.html">component_annotations_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/component/annotations/package-summary.html">org.osgi.service.component.annotations</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/Activate.java">org/osgi/service/component/annotations/Activate.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/Component.java">org/osgi/service/component/annotations/Component.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/ConfigurationPolicy.java">org/osgi/service/component/annotations/ConfigurationPolicy.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/Deactivate.java">org/osgi/service/component/annotations/Deactivate.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/Modified.java">org/osgi/service/component/annotations/Modified.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/Reference.java">org/osgi/service/component/annotations/Reference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/ReferenceCardinality.java">org/osgi/service/component/annotations/ReferenceCardinality.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/ReferencePolicy.java">org/osgi/service/component/annotations/ReferencePolicy.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/ReferencePolicyOption.java">org/osgi/service/component/annotations/ReferencePolicyOption.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/annotations/component_api/src/org/osgi/service/component/annotations/package-info.java">org/osgi/service/component/annotations/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/connectors/connectors-3.0.0.html b/docs/jars/connectors/connectors-3.0.0.html
deleted file mode 100644
index a231c24..0000000
--- a/docs/jars/connectors/connectors-3.0.0.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>connectors-3.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>connectors-3.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/connectors/connectors-3.0.0.jar">download</a> (17965 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Connection-Factories-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.connectors-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>3.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi IO http, socket and datagram-receive Connectors (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.connectors.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.microedition.io 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:36</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/io/connectors</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:connectors:3.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/Activator.java">org/knopflerfish/bundle/connectors/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/BaseConnectionFactory.java">org/knopflerfish/bundle/connectors/BaseConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramConnectionAdapter.java">org/knopflerfish/bundle/connectors/datagram/DatagramConnectionAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramConnectionFactory.java">org/knopflerfish/bundle/connectors/datagram/DatagramConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramImpl.java">org/knopflerfish/bundle/connectors/datagram/DatagramImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/http/HttpConnectionAdapter.java">org/knopflerfish/bundle/connectors/http/HttpConnectionAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/http/HttpConnectionFactory.java">org/knopflerfish/bundle/connectors/http/HttpConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/ServerSocketConnectionImpl.java">org/knopflerfish/bundle/connectors/socket/ServerSocketConnectionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/SocketConnectionFactory.java">org/knopflerfish/bundle/connectors/socket/SocketConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/SocketConnectionImpl.java">org/knopflerfish/bundle/connectors/socket/SocketConnectionImpl.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/connectors/connectors_all-3.0.0.html b/docs/jars/connectors/connectors_all-3.0.0.html
deleted file mode 100644
index 24aa9ea..0000000
--- a/docs/jars/connectors/connectors_all-3.0.0.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>connectors_all-3.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>connectors_all-3.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/connectors/connectors_all-3.0.0.jar">download</a> (17949 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Connection-Factories</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.connectors</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>3.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi IO http, socket and datagram-receive Connectors</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.connectors.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.microedition.io 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:36</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/io/connectors</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:connectors:3.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/Activator.java">org/knopflerfish/bundle/connectors/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/BaseConnectionFactory.java">org/knopflerfish/bundle/connectors/BaseConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramConnectionAdapter.java">org/knopflerfish/bundle/connectors/datagram/DatagramConnectionAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramConnectionFactory.java">org/knopflerfish/bundle/connectors/datagram/DatagramConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/datagram/DatagramImpl.java">org/knopflerfish/bundle/connectors/datagram/DatagramImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/http/HttpConnectionAdapter.java">org/knopflerfish/bundle/connectors/http/HttpConnectionAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/http/HttpConnectionFactory.java">org/knopflerfish/bundle/connectors/http/HttpConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/ServerSocketConnectionImpl.java">org/knopflerfish/bundle/connectors/socket/ServerSocketConnectionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/SocketConnectionFactory.java">org/knopflerfish/bundle/connectors/socket/SocketConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/connectors/src/org/knopflerfish/bundle/connectors/socket/SocketConnectionImpl.java">org/knopflerfish/bundle/connectors/socket/SocketConnectionImpl.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/console/console-4.0.1.html b/docs/jars/console/console-4.0.1.html
deleted file mode 100644
index 916c228..0000000
--- a/docs/jars/console/console-4.0.1.html
+++ /dev/null
@@ -1,263 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>console-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>console-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/console/console-4.0.1.jar">download</a> (28126 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Console-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.console-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Knopflerfish Console Service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.console.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:10</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/console</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:console:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Activator.java">org/knopflerfish/bundle/console/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Alias.java">org/knopflerfish/bundle/console/Alias.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Command.java">org/knopflerfish/bundle/console/Command.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ConsoleServiceImpl.java">org/knopflerfish/bundle/console/ConsoleServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Pipe.java">org/knopflerfish/bundle/console/Pipe.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ReadThread.java">org/knopflerfish/bundle/console/ReadThread.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionCommandGroup.java">org/knopflerfish/bundle/console/SessionCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionImpl.java">org/knopflerfish/bundle/console/SessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroup.java">org/knopflerfish/service/console/CommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroupAdapter.java">org/knopflerfish/service/console/CommandGroupAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/ConsoleService.java">org/knopflerfish/service/console/ConsoleService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Session.java">org/knopflerfish/service/console/Session.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/SessionListener.java">org/knopflerfish/service/console/SessionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Util.java">org/knopflerfish/service/console/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/console/console_all-4.0.1.html b/docs/jars/console/console_all-4.0.1.html
deleted file mode 100644
index acbcb8e..0000000
--- a/docs/jars/console/console_all-4.0.1.html
+++ /dev/null
@@ -1,282 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>console_all-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>console_all-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/console/console_all-4.0.1.jar">download</a> (41199 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Console</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.console</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Knopflerfish Console Service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.console.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 2.1.2<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:10</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/console</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:console:4.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Activator.java">org/knopflerfish/bundle/console/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Alias.java">org/knopflerfish/bundle/console/Alias.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Command.java">org/knopflerfish/bundle/console/Command.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ConsoleServiceImpl.java">org/knopflerfish/bundle/console/ConsoleServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Pipe.java">org/knopflerfish/bundle/console/Pipe.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ReadThread.java">org/knopflerfish/bundle/console/ReadThread.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionCommandGroup.java">org/knopflerfish/bundle/console/SessionCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionImpl.java">org/knopflerfish/bundle/console/SessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroup.java">org/knopflerfish/service/console/CommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroupAdapter.java">org/knopflerfish/service/console/CommandGroupAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/ConsoleService.java">org/knopflerfish/service/console/ConsoleService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Session.java">org/knopflerfish/service/console/Session.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/SessionListener.java">org/knopflerfish/service/console/SessionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Util.java">org/knopflerfish/service/console/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/console/console_api-4.0.1.html b/docs/jars/console/console_api-4.0.1.html
deleted file mode 100644
index 31c09bf..0000000
--- a/docs/jars/console/console_api-4.0.1.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>console_api-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>console_api-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/console/console_api-4.0.1.jar">download</a> (14067 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Console-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.console-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Knopflerfish Console Service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=console/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 2.1.2<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.2,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:10</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/console</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:console:4.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Activator.java">org/knopflerfish/bundle/console/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Alias.java">org/knopflerfish/bundle/console/Alias.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Command.java">org/knopflerfish/bundle/console/Command.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ConsoleServiceImpl.java">org/knopflerfish/bundle/console/ConsoleServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/Pipe.java">org/knopflerfish/bundle/console/Pipe.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/ReadThread.java">org/knopflerfish/bundle/console/ReadThread.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionCommandGroup.java">org/knopflerfish/bundle/console/SessionCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/bundle/console/SessionImpl.java">org/knopflerfish/bundle/console/SessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroup.java">org/knopflerfish/service/console/CommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/CommandGroupAdapter.java">org/knopflerfish/service/console/CommandGroupAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/ConsoleService.java">org/knopflerfish/service/console/ConsoleService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Session.java">org/knopflerfish/service/console/Session.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/SessionListener.java">org/knopflerfish/service/console/SessionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console/src/org/knopflerfish/service/console/Util.java">org/knopflerfish/service/console/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/console2command/console2command-2.0.0.html b/docs/jars/console2command/console2command-2.0.0.html
deleted file mode 100644
index e4e8aac..0000000
--- a/docs/jars/console2command/console2command-2.0.0.html
+++ /dev/null
@@ -1,208 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>console2command-2.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>console2command-2.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/console2command/console2command-2.0.0.jar">download</a> (6842 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Console2Command-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.console2command-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Wrapper for KF console commands to RFC147 commands (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.console2command.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:18</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/console2command</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console2command/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console2command/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:console2command:2.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../command/command_api-0.2.html">command_api-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console2command/src/org/knopflerfish/bundle/console2command/Activator.java">org/knopflerfish/bundle/console2command/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console2command/src/org/knopflerfish/bundle/console2command/ConsoleWrapper.java">org/knopflerfish/bundle/console2command/ConsoleWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/console2command/src/org/knopflerfish/bundle/console2command/Dispatcher.java">org/knopflerfish/bundle/console2command/Dispatcher.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/consoletcp/consoletcp-5.0.0.html b/docs/jars/consoletcp/consoletcp-5.0.0.html
deleted file mode 100644
index 143c327..0000000
--- a/docs/jars/consoletcp/consoletcp-5.0.0.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>consoletcp-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>consoletcp-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/consoletcp/consoletcp-5.0.0.jar">download</a> (13882 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>TCP-Console-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.consoletcp-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Console Service Server accepting TCP connection. (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.consoletcp.ConsoleTcp</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.cm.ManagedService";service.pid="org.knopflerfish.bundle.consoletcp.ConsoleTcp"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:16</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/consoletcp</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:consoletcp:5.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/src/org/knopflerfish/bundle/consoletcp/ConsoleTcp.java">org/knopflerfish/bundle/consoletcp/ConsoleTcp.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/consoletcp/consoletcp_all-5.0.0.html b/docs/jars/consoletcp/consoletcp_all-5.0.0.html
deleted file mode 100644
index 087226f..0000000
--- a/docs/jars/consoletcp/consoletcp_all-5.0.0.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>consoletcp_all-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>consoletcp_all-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/consoletcp/consoletcp_all-5.0.0.jar">download</a> (13865 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>TCP-Console</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.consoletcp</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Console Service Server accepting TCP connection.</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.consoletcp.ConsoleTcp</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.cm.ManagedService";service.pid="org.knopflerfish.bundle.consoletcp.ConsoleTcp"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:16</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/consoletcp</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:consoletcp:5.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletcp/src/org/knopflerfish/bundle/consoletcp/ConsoleTcp.java">org/knopflerfish/bundle/consoletcp/ConsoleTcp.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/consoletelnet/consoletelnet-4.0.1.html b/docs/jars/consoletelnet/consoletelnet-4.0.1.html
deleted file mode 100644
index ce824de..0000000
--- a/docs/jars/consoletelnet/consoletelnet-4.0.1.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>consoletelnet-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>consoletelnet-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/consoletelnet/consoletelnet-4.0.1.jar">download</a> (33390 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Telnet-Console-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.consoletelnet-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Console service server accepting telnet connections. (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=consoletelnet/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=consoletelnet/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.consoletelnet.TelnetServer</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/consoletelnet</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:consoletelnet:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.userad [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TCC.java">org/knopflerfish/bundle/consoletelnet/TCC.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetCommand.java">org/knopflerfish/bundle/consoletelnet/TelnetCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetCommandEcho.java">org/knopflerfish/bundle/consoletelnet/TelnetCommandEcho.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetCommandStatus.java">org/knopflerfish/bundle/consoletelnet/TelnetCommandStatus.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetCommandSupga.java">org/knopflerfish/bundle/consoletelnet/TelnetCommandSupga.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetConfig.java">org/knopflerfish/bundle/consoletelnet/TelnetConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetInputStream.java">org/knopflerfish/bundle/consoletelnet/TelnetInputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetLogin.java">org/knopflerfish/bundle/consoletelnet/TelnetLogin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetOutputStream.java">org/knopflerfish/bundle/consoletelnet/TelnetOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetPrintWriter.java">org/knopflerfish/bundle/consoletelnet/TelnetPrintWriter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetReader.java">org/knopflerfish/bundle/consoletelnet/TelnetReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetServer.java">org/knopflerfish/bundle/consoletelnet/TelnetServer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetSession.java">org/knopflerfish/bundle/consoletelnet/TelnetSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletelnet/src/org/knopflerfish/bundle/consoletelnet/TelnetStateMachine.java">org/knopflerfish/bundle/consoletelnet/TelnetStateMachine.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/consoletty/consoletty-4.0.1.html b/docs/jars/consoletty/consoletty-4.0.1.html
deleted file mode 100644
index 0255aec..0000000
--- a/docs/jars/consoletty/consoletty-4.0.1.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>consoletty-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>consoletty-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/consoletty/consoletty-4.0.1.jar">download</a> (8230 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>TTY-Console-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.consoletty-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Console Service Command Line Console (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.consoletty.ConsoleTty</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:15</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/console/consoletty</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/bundles/console/consoletty/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/bundles/console/consoletty/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:consoletty:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/console/consoletty/src/org/knopflerfish/bundle/consoletty/ConsoleTty.java">org/knopflerfish/bundle/consoletty/ConsoleTty.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/coordinator/coordinator_api-1.0.0.html b/docs/jars/coordinator/coordinator_api-1.0.0.html
deleted file mode 100644
index 2bae773..0000000
--- a/docs/jars/coordinator/coordinator_api-1.0.0.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>coordinator_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>coordinator_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/coordinator/coordinator_api-1.0.0.jar">download</a> (13214 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Coordinator-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.coordinator-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi specified coordinator service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/coordinator/package-summary.html">org.osgi.service.coordinator</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/coordinator/package-summary.html">org.osgi.service.coordinator</a> [1.0.1,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:47</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/coordinator</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:coordinator:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/coordinator/package-summary.html">org.osgi.service.coordinator</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/coordinator/package-summary.html">org.osgi.service.coordinator</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/Coordination.java">org/osgi/service/coordinator/Coordination.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/CoordinationException.java">org/osgi/service/coordinator/CoordinationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/CoordinationPermission.java">org/osgi/service/coordinator/CoordinationPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/Coordinator.java">org/osgi/service/coordinator/Coordinator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/Participant.java">org/osgi/service/coordinator/Participant.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/coordinator/src/org/osgi/service/coordinator/package-info.java">org/osgi/service/coordinator/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/crimson/crimson-2.1.0.kf4-001.html b/docs/jars/crimson/crimson-2.1.0.kf4-001.html
deleted file mode 100644
index 7a57c73..0000000
--- a/docs/jars/crimson/crimson-2.1.0.kf4-001.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>crimson-2.1.0.kf4-001.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>crimson-2.1.0.kf4-001.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/crimson/crimson-2.1.0.kf4-001.jar">download</a> (196914 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Crimson-XML</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.crimson</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.1.0.kf4-001</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Crimson XML parser</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Apache/Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=crimson/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=crimson/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.osgi.util.xml.XMLParserActivator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,crimson.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.xml.parsers 1.2.0<br>
-org.apache.crimson.jaxp 0.0.0<br>
-org.w3c.dom 2.0.0<br>
-org.xml.sax 2.0.0<br>
-org.xml.sax.ext 1.0.0<br>
-org.xml.sax.helpers 2.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.xml.parsers 0.0.0<br>
-org.apache.crimson.jaxp 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-org.w3c.dom 0.0.0<br>
-org.xml.sax 0.0.0<br>
-org.xml.sax.ext 0.0.0<br>
-org.xml.sax.helpers 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:06</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/xml/crimson</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>lib</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/crimson/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/crimson/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:crimson:2.1.0.kf4-001</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>javax.xml.parsers, org.apache.crimson.jaxp, org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml.parsers, org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>javax.xml.parsers, org.apache.crimson.jaxp, org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>javax.xml.parsers, org.w3c.dom</td></tr>
-<tr><td><a href="../xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td>org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../xml/xml-4.0.0.html">xml-4.0.0</a></td><td>javax.xml.parsers</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/crimson/src/javax/xml/parsers/FactoryFinder.java">javax/xml/parsers/FactoryFinder.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/crimson/src/org/osgi/util/xml/XMLParserActivator.java">org/osgi/util/xml/XMLParserActivator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/deploymentadmin/deploymentadmin_api-4.0.0.html b/docs/jars/deploymentadmin/deploymentadmin_api-4.0.0.html
deleted file mode 100644
index 5336bf3..0000000
--- a/docs/jars/deploymentadmin/deploymentadmin_api-4.0.0.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>deploymentadmin_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>deploymentadmin_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/deploymentadmin/deploymentadmin_api-4.0.0.jar">download</a> (11683 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>deploymentadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.deploymentadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Deployment Admin API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/package-summary.html">org.osgi.service.deploymentadmin</a> 1.1.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/spi/package-summary.html">org.osgi.service.deploymentadmin.spi</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/package-summary.html">org.osgi.service.deploymentadmin</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/spi/package-summary.html">org.osgi.service.deploymentadmin.spi</a> [1.0.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td>*</td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:49</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/deploymentadmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:deploymentadmin:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/package-summary.html">org.osgi.service.deploymentadmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/spi/package-summary.html">org.osgi.service.deploymentadmin.spi</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/package-summary.html">org.osgi.service.deploymentadmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/deploymentadmin/spi/package-summary.html">org.osgi.service.deploymentadmin.spi</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/BundleInfo.java">org/osgi/service/deploymentadmin/BundleInfo.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/DeploymentAdmin.java">org/osgi/service/deploymentadmin/DeploymentAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/DeploymentAdminPermission.java">org/osgi/service/deploymentadmin/DeploymentAdminPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/DeploymentException.java">org/osgi/service/deploymentadmin/DeploymentException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/DeploymentPackage.java">org/osgi/service/deploymentadmin/DeploymentPackage.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/package-info.java">org/osgi/service/deploymentadmin/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/spi/DeploymentCustomizerPermission.java">org/osgi/service/deploymentadmin/spi/DeploymentCustomizerPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/spi/DeploymentSession.java">org/osgi/service/deploymentadmin/spi/DeploymentSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/spi/ResourceProcessor.java">org/osgi/service/deploymentadmin/spi/ResourceProcessor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/spi/ResourceProcessorException.java">org/osgi/service/deploymentadmin/spi/ResourceProcessorException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/deploymentadmin/src/org/osgi/service/deploymentadmin/spi/package-info.java">org/osgi/service/deploymentadmin/spi/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/desktop/desktop-5.0.1.html b/docs/jars/desktop/desktop-5.0.1.html
deleted file mode 100644
index de0932f..0000000
--- a/docs/jars/desktop/desktop-5.0.1.html
+++ /dev/null
@@ -1,825 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>desktop-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>desktop-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/desktop/desktop-5.0.1.jar">download</a> (782279 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Desktop-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.desktop-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Swing framework desktop (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.swing.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>com.apple.eawt 0.0.0<br>
-javax.accessibility 0.0.0<br>
-javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.filechooser 0.0.0<br>
-javax.swing.plaf 0.0.0<br>
-javax.swing.plaf.basic 0.0.0<br>
-javax.swing.plaf.metal 0.0.0<br>
-javax.swing.table 0.0.0<br>
-javax.swing.text 0.0.0<br>
-javax.swing.text.html 0.0.0<br>
-javax.swing.tree 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.2,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Graph,osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Closure,osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Manifest,osgi.service;  objectClas [...]
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/desktop</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td>Copyright (c) 2003-2013, KNOPFLERFISH project. All rights reserved.</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>app.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:desktop:5.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target=" [...]
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../../javadoc/index.html?org/o [...]
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/DateCellRenderer.java">org/knopflerfish/bundle/desktop/event/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java">org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventTableModel.java">org/knopflerfish/bundle/desktop/event/EventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java">org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JDetailFrame.java">org/knopflerfish/bundle/desktop/event/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java">org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventPanel.java">org/knopflerfish/bundle/desktop/event/JEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventTable.java">org/knopflerfish/bundle/desktop/event/JEventTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JSendEventPanel.java">org/knopflerfish/bundle/desktop/event/JSendEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/StringCellRenderer.java">org/knopflerfish/bundle/desktop/event/StringCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableMap.java">org/knopflerfish/bundle/desktop/event/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableSorter.java">org/knopflerfish/bundle/desktop/event/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/Util.java">org/knopflerfish/bundle/desktop/event/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/Colors.java">org/knopflerfish/bundle/desktop/prefs/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java">org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java">org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java">org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java">org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValue.java">org/knopflerfish/bundle/desktop/prefs/JValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java">org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueColor.java">org/knopflerfish/bundle/desktop/prefs/JValueColor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueDouble.java">org/knopflerfish/bundle/desktop/prefs/JValueDouble.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueFactory.java">org/knopflerfish/bundle/desktop/prefs/JValueFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueInteger.java">org/knopflerfish/bundle/desktop/prefs/JValueInteger.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueLong.java">org/knopflerfish/bundle/desktop/prefs/JValueLong.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueString.java">org/knopflerfish/bundle/desktop/prefs/JValueString.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java">org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/TreeUtils.java">org/knopflerfish/bundle/desktop/prefs/TreeUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Activator.java">org/knopflerfish/bundle/desktop/swing/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java">org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Colors.java">org/knopflerfish/bundle/desktop/swing/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Desktop.java">org/knopflerfish/bundle/desktop/swing/Desktop.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java">org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/EventDisplayer.java">org/knopflerfish/bundle/desktop/swing/EventDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java">org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java">org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JBundleHistory.java">org/knopflerfish/bundle/desktop/swing/JBundleHistory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JCardPane.java">org/knopflerfish/bundle/desktop/swing/JCardPane.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JFloatable.java">org/knopflerfish/bundle/desktop/swing/JFloatable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JPackageView.java">org/knopflerfish/bundle/desktop/swing/JPackageView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JServiceView.java">org/knopflerfish/bundle/desktop/swing/JServiceView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraph.java">org/knopflerfish/bundle/desktop/swing/JSoftGraph.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java">org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JTips.java">org/knopflerfish/bundle/desktop/swing/JTips.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JToolbarButton.java">org/knopflerfish/bundle/desktop/swing/JToolbarButton.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LFManager.java">org/knopflerfish/bundle/desktop/swing/LFManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java">org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LogDisplayer.java">org/knopflerfish/bundle/desktop/swing/LogDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java">org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OSXAdapter.java">org/knopflerfish/bundle/desktop/swing/OSXAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java">org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageManager.java">org/knopflerfish/bundle/desktop/swing/PackageManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java">org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SizeSaver.java">org/knopflerfish/bundle/desktop/swing/SizeSaver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java">org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusBar.java">org/knopflerfish/bundle/desktop/swing/StatusBar.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusViewer.java">org/knopflerfish/bundle/desktop/swing/StatusViewer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Strings.java">org/knopflerfish/bundle/desktop/swing/Strings.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableDisplayer.java">org/knopflerfish/bundle/desktop/swing/TableDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableMap.java">org/knopflerfish/bundle/desktop/swing/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableSorter.java">org/knopflerfish/bundle/desktop/swing/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Util.java">org/knopflerfish/bundle/desktop/swing/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Config.java">org/knopflerfish/bundle/desktop/swing/console/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java">org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java">org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Queue.java">org/knopflerfish/bundle/desktop/swing/console/Queue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Strip.java">org/knopflerfish/bundle/desktop/swing/console/Strip.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/SwingIO.java">org/knopflerfish/bundle/desktop/swing/console/SwingIO.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java">org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextReader.java">org/knopflerfish/bundle/desktop/swing/console/TextReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Console.java">org/knopflerfish/bundle/desktop/swing/fwspin/Console.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java">org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java">org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java">org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java">org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Link.java">org/knopflerfish/bundle/desktop/swing/graph/Link.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Node.java">org/knopflerfish/bundle/desktop/swing/graph/Node.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java">org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java">org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java">org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java">org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java">org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JDetailFrame.java">org/knopflerfish/bundle/log/window/impl/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java">org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogPanel.java">org/knopflerfish/bundle/log/window/impl/JLogPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogTable.java">org/knopflerfish/bundle/log/window/impl/JLogTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java">org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogTableModel.java">org/knopflerfish/bundle/log/window/impl/LogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableMap.java">org/knopflerfish/bundle/log/window/impl/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableSorter.java">org/knopflerfish/bundle/log/window/impl/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/Util.java">org/knopflerfish/bundle/log/window/impl/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleFilter.java">org/knopflerfish/service/desktop/BundleFilter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionListener.java">org/knopflerfish/service/desktop/BundleSelectionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionModel.java">org/knopflerfish/service/desktop/BundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java">org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SelectionAware.java">org/knopflerfish/service/desktop/SelectionAware.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SwingBundleDisplayer.java">org/knopflerfish/service/desktop/SwingBundleDisplayer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/desktop/desktop_all-5.0.1.html b/docs/jars/desktop/desktop_all-5.0.1.html
deleted file mode 100644
index 57345d1..0000000
--- a/docs/jars/desktop/desktop_all-5.0.1.html
+++ /dev/null
@@ -1,899 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>desktop_all-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>desktop_all-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/desktop/desktop_all-5.0.1.jar">download</a> (884818 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Desktop</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.desktop</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Swing framework desktop</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.swing.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> 1.6.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 2.1.2<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 2.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> 1.1.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 1.5.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> 1.2.1<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> 1.3.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> 1.3.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> 1.1.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>com.apple.eawt 0.0.0<br>
-javax.accessibility 0.0.0<br>
-javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.filechooser 0.0.0<br>
-javax.swing.plaf 0.0.0<br>
-javax.swing.plaf.basic 0.0.0<br>
-javax.swing.plaf.metal 0.0.0<br>
-javax.swing.table 0.0.0<br>
-javax.swing.text 0.0.0<br>
-javax.swing.text.html 0.0.0<br>
-javax.swing.tree 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.2,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.5.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> [1.2.1,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Graph,osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Closure,osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Manifest,osgi.service;  objectClas [...]
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/desktop</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td>Copyright (c) 2003-2013, KNOPFLERFISH project. All rights reserved.</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>app.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:desktop:5.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target=" [...]
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a>, <a target="_top" href="../../javadoc/ind [...]
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../../javadoc/index.html?org/o [...]
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a>, <a target="_top" href="../../javadoc/index. [...]
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target=" [...]
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" hr [...]
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/index.html [...]
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../j [...]
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/i [...]
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">o [...]
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/DateCellRenderer.java">org/knopflerfish/bundle/desktop/event/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java">org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventTableModel.java">org/knopflerfish/bundle/desktop/event/EventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java">org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JDetailFrame.java">org/knopflerfish/bundle/desktop/event/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java">org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventPanel.java">org/knopflerfish/bundle/desktop/event/JEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventTable.java">org/knopflerfish/bundle/desktop/event/JEventTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JSendEventPanel.java">org/knopflerfish/bundle/desktop/event/JSendEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/StringCellRenderer.java">org/knopflerfish/bundle/desktop/event/StringCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableMap.java">org/knopflerfish/bundle/desktop/event/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableSorter.java">org/knopflerfish/bundle/desktop/event/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/Util.java">org/knopflerfish/bundle/desktop/event/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/Colors.java">org/knopflerfish/bundle/desktop/prefs/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java">org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java">org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java">org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java">org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValue.java">org/knopflerfish/bundle/desktop/prefs/JValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java">org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueColor.java">org/knopflerfish/bundle/desktop/prefs/JValueColor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueDouble.java">org/knopflerfish/bundle/desktop/prefs/JValueDouble.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueFactory.java">org/knopflerfish/bundle/desktop/prefs/JValueFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueInteger.java">org/knopflerfish/bundle/desktop/prefs/JValueInteger.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueLong.java">org/knopflerfish/bundle/desktop/prefs/JValueLong.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueString.java">org/knopflerfish/bundle/desktop/prefs/JValueString.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java">org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/TreeUtils.java">org/knopflerfish/bundle/desktop/prefs/TreeUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Activator.java">org/knopflerfish/bundle/desktop/swing/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java">org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Colors.java">org/knopflerfish/bundle/desktop/swing/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Desktop.java">org/knopflerfish/bundle/desktop/swing/Desktop.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java">org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/EventDisplayer.java">org/knopflerfish/bundle/desktop/swing/EventDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java">org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java">org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JBundleHistory.java">org/knopflerfish/bundle/desktop/swing/JBundleHistory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JCardPane.java">org/knopflerfish/bundle/desktop/swing/JCardPane.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JFloatable.java">org/knopflerfish/bundle/desktop/swing/JFloatable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JPackageView.java">org/knopflerfish/bundle/desktop/swing/JPackageView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JServiceView.java">org/knopflerfish/bundle/desktop/swing/JServiceView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraph.java">org/knopflerfish/bundle/desktop/swing/JSoftGraph.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java">org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JTips.java">org/knopflerfish/bundle/desktop/swing/JTips.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JToolbarButton.java">org/knopflerfish/bundle/desktop/swing/JToolbarButton.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LFManager.java">org/knopflerfish/bundle/desktop/swing/LFManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java">org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LogDisplayer.java">org/knopflerfish/bundle/desktop/swing/LogDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java">org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OSXAdapter.java">org/knopflerfish/bundle/desktop/swing/OSXAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java">org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageManager.java">org/knopflerfish/bundle/desktop/swing/PackageManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java">org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SizeSaver.java">org/knopflerfish/bundle/desktop/swing/SizeSaver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java">org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusBar.java">org/knopflerfish/bundle/desktop/swing/StatusBar.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusViewer.java">org/knopflerfish/bundle/desktop/swing/StatusViewer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Strings.java">org/knopflerfish/bundle/desktop/swing/Strings.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableDisplayer.java">org/knopflerfish/bundle/desktop/swing/TableDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableMap.java">org/knopflerfish/bundle/desktop/swing/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableSorter.java">org/knopflerfish/bundle/desktop/swing/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Util.java">org/knopflerfish/bundle/desktop/swing/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Config.java">org/knopflerfish/bundle/desktop/swing/console/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java">org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java">org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Queue.java">org/knopflerfish/bundle/desktop/swing/console/Queue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Strip.java">org/knopflerfish/bundle/desktop/swing/console/Strip.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/SwingIO.java">org/knopflerfish/bundle/desktop/swing/console/SwingIO.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java">org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextReader.java">org/knopflerfish/bundle/desktop/swing/console/TextReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Console.java">org/knopflerfish/bundle/desktop/swing/fwspin/Console.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java">org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java">org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java">org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java">org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Link.java">org/knopflerfish/bundle/desktop/swing/graph/Link.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Node.java">org/knopflerfish/bundle/desktop/swing/graph/Node.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java">org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java">org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java">org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java">org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java">org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JDetailFrame.java">org/knopflerfish/bundle/log/window/impl/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java">org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogPanel.java">org/knopflerfish/bundle/log/window/impl/JLogPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogTable.java">org/knopflerfish/bundle/log/window/impl/JLogTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java">org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogTableModel.java">org/knopflerfish/bundle/log/window/impl/LogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableMap.java">org/knopflerfish/bundle/log/window/impl/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableSorter.java">org/knopflerfish/bundle/log/window/impl/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/Util.java">org/knopflerfish/bundle/log/window/impl/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleFilter.java">org/knopflerfish/service/desktop/BundleFilter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionListener.java">org/knopflerfish/service/desktop/BundleSelectionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionModel.java">org/knopflerfish/service/desktop/BundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java">org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SelectionAware.java">org/knopflerfish/service/desktop/SelectionAware.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SwingBundleDisplayer.java">org/knopflerfish/service/desktop/SwingBundleDisplayer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/desktop/desktop_api-5.0.1.html b/docs/jars/desktop/desktop_api-5.0.1.html
deleted file mode 100644
index 5f6c837..0000000
--- a/docs/jars/desktop/desktop_api-5.0.1.html
+++ /dev/null
@@ -1,794 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>desktop_api-5.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>desktop_api-5.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/desktop/desktop_api-5.0.1.jar">download</a> (5306 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Desktop-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.desktop-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Swing framework desktop (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=desktop/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 2.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>com.apple.eawt 0.0.0<br>
-javax.swing 0.0.0<br>
-javax.swing.plaf.basic 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> [2.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/desktop</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td>Copyright (c) 2003-2013, KNOPFLERFISH project. All rights reserved.</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>app.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:desktop:5.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/DateCellRenderer.java">org/knopflerfish/bundle/desktop/event/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java">org/knopflerfish/bundle/desktop/event/EventReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/EventTableModel.java">org/knopflerfish/bundle/desktop/event/EventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java">org/knopflerfish/bundle/desktop/event/FilterEventTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JDetailFrame.java">org/knopflerfish/bundle/desktop/event/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java">org/knopflerfish/bundle/desktop/event/JEventEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventPanel.java">org/knopflerfish/bundle/desktop/event/JEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JEventTable.java">org/knopflerfish/bundle/desktop/event/JEventTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/JSendEventPanel.java">org/knopflerfish/bundle/desktop/event/JSendEventPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/StringCellRenderer.java">org/knopflerfish/bundle/desktop/event/StringCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableMap.java">org/knopflerfish/bundle/desktop/event/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/TableSorter.java">org/knopflerfish/bundle/desktop/event/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/event/Util.java">org/knopflerfish/bundle/desktop/event/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/Colors.java">org/knopflerfish/bundle/desktop/prefs/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java">org/knopflerfish/bundle/desktop/prefs/ExtPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java">org/knopflerfish/bundle/desktop/prefs/JPrefsEditor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java">org/knopflerfish/bundle/desktop/prefs/JPrefsPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java">org/knopflerfish/bundle/desktop/prefs/JPrefsTree.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValue.java">org/knopflerfish/bundle/desktop/prefs/JValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java">org/knopflerfish/bundle/desktop/prefs/JValueBoolean.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueColor.java">org/knopflerfish/bundle/desktop/prefs/JValueColor.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueDouble.java">org/knopflerfish/bundle/desktop/prefs/JValueDouble.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueFactory.java">org/knopflerfish/bundle/desktop/prefs/JValueFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueInteger.java">org/knopflerfish/bundle/desktop/prefs/JValueInteger.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueLong.java">org/knopflerfish/bundle/desktop/prefs/JValueLong.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/JValueString.java">org/knopflerfish/bundle/desktop/prefs/JValueString.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java">org/knopflerfish/bundle/desktop/prefs/MountedPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlePreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiBundlesPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java">org/knopflerfish/bundle/desktop/prefs/OSGiUsersPreferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java">org/knopflerfish/bundle/desktop/prefs/PrefsTreeNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/prefs/TreeUtils.java">org/knopflerfish/bundle/desktop/prefs/TreeUtils.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Activator.java">org/knopflerfish/bundle/desktop/swing/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java">org/knopflerfish/bundle/desktop/swing/BundleImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ClosureHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Colors.java">org/knopflerfish/bundle/desktop/swing/Colors.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/swing/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Desktop.java">org/knopflerfish/bundle/desktop/swing/Desktop.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java">org/knopflerfish/bundle/desktop/swing/ErrorMessageDialog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/EventDisplayer.java">org/knopflerfish/bundle/desktop/swing/EventDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java">org/knopflerfish/bundle/desktop/swing/FileFilterImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java">org/knopflerfish/bundle/desktop/swing/GraphDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JBundleHistory.java">org/knopflerfish/bundle/desktop/swing/JBundleHistory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JCardPane.java">org/knopflerfish/bundle/desktop/swing/JCardPane.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JFloatable.java">org/knopflerfish/bundle/desktop/swing/JFloatable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java">org/knopflerfish/bundle/desktop/swing/JHTMLBundleLinkHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JPackageView.java">org/knopflerfish/bundle/desktop/swing/JPackageView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JServiceView.java">org/knopflerfish/bundle/desktop/swing/JServiceView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraph.java">org/knopflerfish/bundle/desktop/swing/JSoftGraph.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java">org/knopflerfish/bundle/desktop/swing/JSoftGraphBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JTips.java">org/knopflerfish/bundle/desktop/swing/JTips.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/JToolbarButton.java">org/knopflerfish/bundle/desktop/swing/JToolbarButton.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishLookAndFeel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java">org/knopflerfish/bundle/desktop/swing/KnopflerfishTheme.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LFManager.java">org/knopflerfish/bundle/desktop/swing/LFManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java">org/knopflerfish/bundle/desktop/swing/LargeIconsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LogDisplayer.java">org/knopflerfish/bundle/desktop/swing/LogDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java">org/knopflerfish/bundle/desktop/swing/LookAndFeelMenu.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ManifestHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OSXAdapter.java">org/knopflerfish/bundle/desktop/swing/OSXAdapter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java">org/knopflerfish/bundle/desktop/swing/OverlayImageIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/PackageHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PackageManager.java">org/knopflerfish/bundle/desktop/swing/PackageManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java">org/knopflerfish/bundle/desktop/swing/PrefsDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/SCRHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/ServiceHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SizeSaver.java">org/knopflerfish/bundle/desktop/swing/SizeSaver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java">org/knopflerfish/bundle/desktop/swing/SpinDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusBar.java">org/knopflerfish/bundle/desktop/swing/StatusBar.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/StatusViewer.java">org/knopflerfish/bundle/desktop/swing/StatusViewer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Strings.java">org/knopflerfish/bundle/desktop/swing/Strings.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableDisplayer.java">org/knopflerfish/bundle/desktop/swing/TableDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableMap.java">org/knopflerfish/bundle/desktop/swing/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/TableSorter.java">org/knopflerfish/bundle/desktop/swing/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/Util.java">org/knopflerfish/bundle/desktop/swing/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java">org/knopflerfish/bundle/desktop/swing/WiringHTMLDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Config.java">org/knopflerfish/bundle/desktop/swing/console/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java">org/knopflerfish/bundle/desktop/swing/console/ConsoleSwing.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java">org/knopflerfish/bundle/desktop/swing/console/PrefixPrintStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Queue.java">org/knopflerfish/bundle/desktop/swing/console/Queue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/Strip.java">org/knopflerfish/bundle/desktop/swing/console/Strip.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/SwingIO.java">org/knopflerfish/bundle/desktop/swing/console/SwingIO.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java">org/knopflerfish/bundle/desktop/swing/console/TextAreaOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/console/TextReader.java">org/knopflerfish/bundle/desktop/swing/console/TextReader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Console.java">org/knopflerfish/bundle/desktop/swing/fwspin/Console.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java">org/knopflerfish/bundle/desktop/swing/fwspin/GameFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java">org/knopflerfish/bundle/desktop/swing/fwspin/Spin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java">org/knopflerfish/bundle/desktop/swing/fwspin/SpinItem.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java">org/knopflerfish/bundle/desktop/swing/graph/BundleServiceNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java">org/knopflerfish/bundle/desktop/swing/graph/DefaultNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java">org/knopflerfish/bundle/desktop/swing/graph/EmptyNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Link.java">org/knopflerfish/bundle/desktop/swing/graph/Link.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/Node.java">org/knopflerfish/bundle/desktop/swing/graph/Node.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java">org/knopflerfish/bundle/desktop/swing/graph/PackageNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java">org/knopflerfish/bundle/desktop/swing/graph/ServiceLink.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java">org/knopflerfish/bundle/log/window/impl/DateCellRenderer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java">org/knopflerfish/bundle/log/window/impl/ExtLogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java">org/knopflerfish/bundle/log/window/impl/FilterLogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JDetailFrame.java">org/knopflerfish/bundle/log/window/impl/JDetailFrame.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java">org/knopflerfish/bundle/log/window/impl/JLogEntryDetail.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogPanel.java">org/knopflerfish/bundle/log/window/impl/JLogPanel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/JLogTable.java">org/knopflerfish/bundle/log/window/impl/JLogTable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java">org/knopflerfish/bundle/log/window/impl/LogReaderDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/LogTableModel.java">org/knopflerfish/bundle/log/window/impl/LogTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableMap.java">org/knopflerfish/bundle/log/window/impl/TableMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/TableSorter.java">org/knopflerfish/bundle/log/window/impl/TableSorter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/bundle/log/window/impl/Util.java">org/knopflerfish/bundle/log/window/impl/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleFilter.java">org/knopflerfish/service/desktop/BundleFilter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionListener.java">org/knopflerfish/service/desktop/BundleSelectionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/BundleSelectionModel.java">org/knopflerfish/service/desktop/BundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java">org/knopflerfish/service/desktop/DefaultBundleSelectionModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SelectionAware.java">org/knopflerfish/service/desktop/SelectionAware.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/desktop/src/org/knopflerfish/service/desktop/SwingBundleDisplayer.java">org/knopflerfish/service/desktop/SwingBundleDisplayer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/desktop_jvm/desktop_jvm-1.0.0.html b/docs/jars/desktop_jvm/desktop_jvm-1.0.0.html
deleted file mode 100644
index 19f79e6..0000000
--- a/docs/jars/desktop_jvm/desktop_jvm-1.0.0.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>desktop_jvm-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>desktop_jvm-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/desktop_jvm/desktop_jvm-1.0.0.jar">download</a> (14486 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>desktop_jvm-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.desktop_jvm-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>JVM info desktop plugin (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.jvminfo.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:31</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/desktop_displayers/desktop_jvm</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:desktop_jvm:1.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/Activator.java">org/knopflerfish/bundle/desktop/jvminfo/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/jvminfo/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/JGraph.java">org/knopflerfish/bundle/desktop/jvminfo/JGraph.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/JVMDisplayer.java">org/knopflerfish/bundle/desktop/jvminfo/JVMDisplayer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/desktop_jvm/desktop_jvm_all-1.0.0.html b/docs/jars/desktop_jvm/desktop_jvm_all-1.0.0.html
deleted file mode 100644
index 16e3fac..0000000
--- a/docs/jars/desktop_jvm/desktop_jvm_all-1.0.0.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>desktop_jvm_all-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>desktop_jvm_all-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/desktop_jvm/desktop_jvm_all-1.0.0.jar">download</a> (14473 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>desktop_jvm</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.desktop_jvm</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>JVM info desktop plugin</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.desktop.jvminfo.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:31</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/desktop_displayers/desktop_jvm</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:desktop_jvm:1.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/Activator.java">org/knopflerfish/bundle/desktop/jvminfo/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/desktop/jvminfo/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/JGraph.java">org/knopflerfish/bundle/desktop/jvminfo/JGraph.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/desktop_displayers/desktop_jvm/src/org/knopflerfish/bundle/desktop/jvminfo/JVMDisplayer.java">org/knopflerfish/bundle/desktop/jvminfo/JVMDisplayer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/device/device-4.0.1.html b/docs/jars/device/device-4.0.1.html
deleted file mode 100644
index da551b0..0000000
--- a/docs/jars/device/device-4.0.1.html
+++ /dev/null
@@ -1,244 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>device-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>device-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/device/device-4.0.1.jar">download</a> (17731 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Device-Manager-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.device-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Device manager (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.device.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.2.0,3.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:27</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/device/device</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:device:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/Activator.java">org/knopflerfish/bundle/device/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/DriverRef.java">org/knopflerfish/bundle/device/DriverRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchImpl.java">org/knopflerfish/bundle/device/MatchImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchValue.java">org/knopflerfish/bundle/device/MatchValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Constants.java">org/osgi/service/device/Constants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Device.java">org/osgi/service/device/Device.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Driver.java">org/osgi/service/device/Driver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverLocator.java">org/osgi/service/device/DriverLocator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverSelector.java">org/osgi/service/device/DriverSelector.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Match.java">org/osgi/service/device/Match.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/package-info.java">org/osgi/service/device/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/device/device_all-4.0.1.html b/docs/jars/device/device_all-4.0.1.html
deleted file mode 100644
index 9c95e6d..0000000
--- a/docs/jars/device/device_all-4.0.1.html
+++ /dev/null
@@ -1,252 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>device_all-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>device_all-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/device/device_all-4.0.1.jar">download</a> (20333 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Device-Manager</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.device</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Device manager</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.device.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.2.0,3.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:27</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/device/device</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:device:4.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/Activator.java">org/knopflerfish/bundle/device/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/DriverRef.java">org/knopflerfish/bundle/device/DriverRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchImpl.java">org/knopflerfish/bundle/device/MatchImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchValue.java">org/knopflerfish/bundle/device/MatchValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Constants.java">org/osgi/service/device/Constants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Device.java">org/osgi/service/device/Device.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Driver.java">org/osgi/service/device/Driver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverLocator.java">org/osgi/service/device/DriverLocator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverSelector.java">org/osgi/service/device/DriverSelector.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Match.java">org/osgi/service/device/Match.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/package-info.java">org/osgi/service/device/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/device/device_api-4.0.1.html b/docs/jars/device/device_api-4.0.1.html
deleted file mode 100644
index 966910b..0000000
--- a/docs/jars/device/device_api-4.0.1.html
+++ /dev/null
@@ -1,247 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>device_api-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>device_api-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/device/device_api-4.0.1.jar">download</a> (3450 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Device-Manager-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.device-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Device manager (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:27</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/device/device</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:device:4.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/Activator.java">org/knopflerfish/bundle/device/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/DriverRef.java">org/knopflerfish/bundle/device/DriverRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchImpl.java">org/knopflerfish/bundle/device/MatchImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/knopflerfish/bundle/device/MatchValue.java">org/knopflerfish/bundle/device/MatchValue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Constants.java">org/osgi/service/device/Constants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Device.java">org/osgi/service/device/Device.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Driver.java">org/osgi/service/device/Driver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverLocator.java">org/osgi/service/device/DriverLocator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/DriverSelector.java">org/osgi/service/device/DriverSelector.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/Match.java">org/osgi/service/device/Match.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/device/device/src/org/osgi/service/device/package-info.java">org/osgi/service/device/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/dirdeployer/dirdeployer_all-4.0.1.html b/docs/jars/dirdeployer/dirdeployer_all-4.0.1.html
deleted file mode 100644
index fe7a2e7..0000000
--- a/docs/jars/dirdeployer/dirdeployer_all-4.0.1.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>dirdeployer_all-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>dirdeployer_all-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/dirdeployer/dirdeployer_all-4.0.1.jar">download</a> (41921 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Directory Deployer</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.dirdeployer</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Monitors a set of file system directory for bundlesand configurations to deploy</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=dirdeployer/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=dirdeployer/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.dirdeployer.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a> [0.0.0,1.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:27</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/dirdeployer</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>example</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:dirdeployer:4.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/ut [...]
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/Activator.java">org/knopflerfish/bundle/dirdeployer/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/Config.java">org/knopflerfish/bundle/dirdeployer/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedBundle.java">org/knopflerfish/bundle/dirdeployer/DeployedBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedCMData.java">org/knopflerfish/bundle/dirdeployer/DeployedCMData.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedFile.java">org/knopflerfish/bundle/dirdeployer/DeployedFile.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DirDeployerImpl.java">org/knopflerfish/bundle/dirdeployer/DirDeployerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/service/dirdeployer/DirDeployerService.java">org/knopflerfish/service/dirdeployer/DirDeployerService.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/dirdeployer/dirdeployer_api-4.0.1.html b/docs/jars/dirdeployer/dirdeployer_api-4.0.1.html
deleted file mode 100644
index a2a846c..0000000
--- a/docs/jars/dirdeployer/dirdeployer_api-4.0.1.html
+++ /dev/null
@@ -1,220 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>dirdeployer_api-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>dirdeployer_api-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/dirdeployer/dirdeployer_api-4.0.1.jar">download</a> (1596 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Directory Deployer-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.dirdeployer-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Monitors a set of file system directory for bundlesand configurations to deploy (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=dirdeployer/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=dirdeployer/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a> [0.0.0,1.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:27</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/dirdeployer</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:dirdeployer:4.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/Activator.java">org/knopflerfish/bundle/dirdeployer/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/Config.java">org/knopflerfish/bundle/dirdeployer/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedBundle.java">org/knopflerfish/bundle/dirdeployer/DeployedBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedCMData.java">org/knopflerfish/bundle/dirdeployer/DeployedCMData.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DeployedFile.java">org/knopflerfish/bundle/dirdeployer/DeployedFile.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/bundle/dirdeployer/DirDeployerImpl.java">org/knopflerfish/bundle/dirdeployer/DirDeployerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/dirdeployer/src/org/knopflerfish/service/dirdeployer/DirDeployerService.java">org/knopflerfish/service/dirdeployer/DirDeployerService.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/dmt/dmt_api-5.0.0.html b/docs/jars/dmt/dmt_api-5.0.0.html
deleted file mode 100644
index 3137fe0..0000000
--- a/docs/jars/dmt/dmt_api-5.0.0.html
+++ /dev/null
@@ -1,336 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>dmt_api-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>dmt_api-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/dmt/dmt_api-5.0.0.jar">download</a> (37681 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>dmt-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.dmt-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>DMT (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/Apache-2.0;link="http://www.apache.org/licenses/LICENSE-2.0";description="Apache License, Version 2.0"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/package-summary.html">org.osgi.service.dmt</a> 2.0.1<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/package-summary.html">org.osgi.service.dmt.notification</a> 2.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/spi/package-summary.html">org.osgi.service.dmt.notification.spi</a> 2.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/security/package-summary.html">org.osgi.service.dmt.security</a> 2.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/spi/package-summary.html">org.osgi.service.dmt.spi</a> 2.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/package-summary.html">org.osgi.service.dmt</a> [2.0.1,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/package-summary.html">org.osgi.service.dmt.notification</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/spi/package-summary.html">org.osgi.service.dmt.notification.spi</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/security/package-summary.html">org.osgi.service.dmt.security</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/spi/package-summary.html">org.osgi.service.dmt.spi</a> [2.0.0,3.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:52</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/dmt</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:dmt:5.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/package-summary.html">org.osgi.service.dmt</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/package-summary.html">org.osgi.service.dmt.notification</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/spi/package-summary.html">org.osgi.service.dmt.notification.spi</a>, <a target=" [...]
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/package-summary.html">org.osgi.service.dmt</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/package-summary.html">org.osgi.service.dmt.notification</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/dmt/notification/spi/package-summary.html">org.osgi.service.dmt.notification.spi</a>, <a target=" [...]
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/Acl.java">org/osgi/service/dmt/Acl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtAdmin.java">org/osgi/service/dmt/DmtAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtConstants.java">org/osgi/service/dmt/DmtConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtData.java">org/osgi/service/dmt/DmtData.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtEvent.java">org/osgi/service/dmt/DmtEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtEventListener.java">org/osgi/service/dmt/DmtEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtException.java">org/osgi/service/dmt/DmtException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtIllegalStateException.java">org/osgi/service/dmt/DmtIllegalStateException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/DmtSession.java">org/osgi/service/dmt/DmtSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/MetaNode.java">org/osgi/service/dmt/MetaNode.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/Uri.java">org/osgi/service/dmt/Uri.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/notification/AlertItem.java">org/osgi/service/dmt/notification/AlertItem.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/notification/NotificationService.java">org/osgi/service/dmt/notification/NotificationService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/notification/package-info.java">org/osgi/service/dmt/notification/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/notification/spi/RemoteAlertSender.java">org/osgi/service/dmt/notification/spi/RemoteAlertSender.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/notification/spi/package-info.java">org/osgi/service/dmt/notification/spi/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/package-info.java">org/osgi/service/dmt/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/security/AlertPermission.java">org/osgi/service/dmt/security/AlertPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/security/DmtPermission.java">org/osgi/service/dmt/security/DmtPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/security/DmtPrincipalPermission.java">org/osgi/service/dmt/security/DmtPrincipalPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/security/package-info.java">org/osgi/service/dmt/security/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/DataPlugin.java">org/osgi/service/dmt/spi/DataPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/ExecPlugin.java">org/osgi/service/dmt/spi/ExecPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/MountPlugin.java">org/osgi/service/dmt/spi/MountPlugin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/MountPoint.java">org/osgi/service/dmt/spi/MountPoint.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/ReadWriteDataSession.java">org/osgi/service/dmt/spi/ReadWriteDataSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/ReadableDataSession.java">org/osgi/service/dmt/spi/ReadableDataSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/TransactionalDataSession.java">org/osgi/service/dmt/spi/TransactionalDataSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/dmt/src/org/osgi/service/dmt/spi/package-info.java">org/osgi/service/dmt/spi/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/event/event_all-4.0.1.html b/docs/jars/event/event_all-4.0.1.html
deleted file mode 100644
index 8713cd4..0000000
--- a/docs/jars/event/event_all-4.0.1.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>event_all-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>event_all-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/event/event_all-4.0.1.jar">download</a> (40706 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Event-Admin</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.event</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Event Admin</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=event/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=event/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.event.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> 1.3.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)                                                (version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/event</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:event:4.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/inde [...]
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/Activator.java">org/knopflerfish/bundle/event/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/ConfigurationListenerImpl.java">org/knopflerfish/bundle/event/ConfigurationListenerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/EventAdminService.java">org/knopflerfish/bundle/event/EventAdminService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/EventHandlerTracker.java">org/knopflerfish/bundle/event/EventHandlerTracker.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/InternalAdminEvent.java">org/knopflerfish/bundle/event/InternalAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/MultiListener.java">org/knopflerfish/bundle/event/MultiListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/QueueHandler.java">org/knopflerfish/bundle/event/QueueHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/TimeoutDeliver.java">org/knopflerfish/bundle/event/TimeoutDeliver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/TrackedEventHandler.java">org/knopflerfish/bundle/event/TrackedEventHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/Event.java">org/osgi/service/event/Event.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventAdmin.java">org/osgi/service/event/EventAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventConstants.java">org/osgi/service/event/EventConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventHandler.java">org/osgi/service/event/EventHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventProperties.java">org/osgi/service/event/EventProperties.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/TopicPermission.java">org/osgi/service/event/TopicPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/package-info.java">org/osgi/service/event/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/event/event_api-4.0.1.html b/docs/jars/event/event_api-4.0.1.html
deleted file mode 100644
index ff2421f..0000000
--- a/docs/jars/event/event_api-4.0.1.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>event_api-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>event_api-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/event/event_api-4.0.1.jar">download</a> (13415 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Event-Admin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.event-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Event Admin (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=event/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=event/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> 1.3.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)                                                (version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/event</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:event:4.0.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/Activator.java">org/knopflerfish/bundle/event/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/ConfigurationListenerImpl.java">org/knopflerfish/bundle/event/ConfigurationListenerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/EventAdminService.java">org/knopflerfish/bundle/event/EventAdminService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/EventHandlerTracker.java">org/knopflerfish/bundle/event/EventHandlerTracker.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/InternalAdminEvent.java">org/knopflerfish/bundle/event/InternalAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/MultiListener.java">org/knopflerfish/bundle/event/MultiListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/QueueHandler.java">org/knopflerfish/bundle/event/QueueHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/TimeoutDeliver.java">org/knopflerfish/bundle/event/TimeoutDeliver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/knopflerfish/bundle/event/TrackedEventHandler.java">org/knopflerfish/bundle/event/TrackedEventHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/Event.java">org/osgi/service/event/Event.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventAdmin.java">org/osgi/service/event/EventAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventConstants.java">org/osgi/service/event/EventConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventHandler.java">org/osgi/service/event/EventHandler.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/EventProperties.java">org/osgi/service/event/EventProperties.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/TopicPermission.java">org/osgi/service/event/TopicPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/event/src/org/osgi/service/event/package-info.java">org/osgi/service/event/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/foreignapplication/foreignapplication_api-4.0.0.html b/docs/jars/foreignapplication/foreignapplication_api-4.0.0.html
deleted file mode 100644
index 035baaa..0000000
--- a/docs/jars/foreignapplication/foreignapplication_api-4.0.0.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>foreignapplication_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>foreignapplication_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/foreignapplication/foreignapplication_api-4.0.0.jar">download</a> (3434 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Foreign application-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.foreignapplication-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Foreign Application Access API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/application/package-summary.html">org.osgi.application</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/application/package-summary.html">org.osgi.application</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:57</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/foreignapplication</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:foreignapplication:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/application/package-summary.html">org.osgi.application</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/application/package-summary.html">org.osgi.application</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/src/org/osgi/application/ApplicationContext.java">org/osgi/application/ApplicationContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/src/org/osgi/application/ApplicationServiceEvent.java">org/osgi/application/ApplicationServiceEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/src/org/osgi/application/ApplicationServiceListener.java">org/osgi/application/ApplicationServiceListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/src/org/osgi/application/Framework.java">org/osgi/application/Framework.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/foreignapplication/src/org/osgi/application/package-info.java">org/osgi/application/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/framework.html b/docs/jars/framework.html
deleted file mode 100644
index 7e26e71..0000000
--- a/docs/jars/framework.html
+++ /dev/null
@@ -1,294 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="style.css" rel="stylesheet" type="text/css">
-  <title>framework.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>framework.jar</h2>
-
-<p>
-<a href="../../osgi/framework.jar">download</a> (620789 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>frameworkbundle</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.framework</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>7.1.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Knopflerfish OSGi framework system bundle</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>"http://www.knopflerfish.org/license.html";description=BSD;link="http://www.knopflerfish.org/license.html"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/current/docs/bundledoc/index.html?docpage=framework/index.html">http://www.knopflerfish.org/releases/current/docs/bundledoc/index.html?docpage=framework/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 1.7.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/bundle/package-summary.html">org.osgi.framework.hooks.bundle</a> 1.1.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/resolver/package-summary.html">org.osgi.framework.hooks.resolver</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/service/package-summary.html">org.osgi.framework.hooks.service</a> 1.1.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/launch/package-summary.html">org.osgi.framework.launch</a> 1.1.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> 1.1.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/service/condpermadmin/package-summary.html">org.osgi.service.condpermadmin</a> 1.1.1<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> 1.2.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/service/permissionadmin/package-summary.html">org.osgi.service.permissionadmin</a> 1.2.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/service/startlevel/package-summary.html">org.osgi.service.startlevel</a> 1.1.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/service/url/package-summary.html">org.osgi.service.url</a> 1.0.0<br>
-<a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> 1.5.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Build Fri June 13 2014, 08:25:43</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/framework/">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/framework/</a></td>
-</tr>
-<tr>
- <td>Implementation-Title</td>
- <td>Knopflerfish OSGi Framework</td>
-</tr>
-<tr>
- <td>Implementation-Vendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Implementation-Version</td>
- <td>7.1.2</td>
-</tr>
-<tr>
- <td>Main-class</td>
- <td>org.knopflerfish.framework.Main</td>
-</tr>
-<tr>
- <td>Specification-Title</td>
- <td>OSGi Framework API</td>
-</tr>
-<tr>
- <td>Specification-Vendor</td>
- <td>Open Service Gateway initiative</td>
-</tr>
-<tr>
- <td>Specification-Version</td>
- <td>1.7</td>
-</tr>
-<tr>
- <td>SplashScreen-Image</td>
- <td>kfsplash.gif</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="classpatcher/classpatcher_all-5.0.0.html">classpatcher_all-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a></td></tr>
-<tr><td><a href="cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="connectors/connectors_all-3.0.0.html">connectors_all-3.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="connectors/connectors-3.0.0.html">connectors-3.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../javadoc/index.h [...]
-<tr><td><a href="desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../javadoc/index.html?org/ [...]
-<tr><td><a href="desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href="../javadoc/i [...]
-<tr><td><a href="event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href=".. [...]
-<tr><td><a href="http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="io/io_all-4.0.0.html">io_all-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="junit_runner/junit_runner_all-4.0.0.html">junit_runner_all-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="metatype/metatype-4.0.0.html">metatype-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-<tr><td><a href="prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-<tr><td><a href="repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../javadoc/index.h [...]
-<tr><td><a href="repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-<tr><td><a href="resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-<tr><td><a href="scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-<tr><td><a href="sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="threadio/threadio-0.2.0.html">threadio-0.2.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a></td></tr>
-<tr><td><a href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="xml/xml-4.0.0.html">xml-4.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-None found
-
-</body>
-</html>
-
-
diff --git a/docs/jars/frameworkcommands/frameworkcommands-4.0.1.html b/docs/jars/frameworkcommands/frameworkcommands-4.0.1.html
deleted file mode 100644
index 3d192ac..0000000
--- a/docs/jars/frameworkcommands/frameworkcommands-4.0.1.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>frameworkcommands-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>frameworkcommands-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/frameworkcommands/frameworkcommands-4.0.1.jar">download</a> (43187 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>FW-Commands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.frameworkcommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Framework commands (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=frameworkcommands/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=frameworkcommands/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.frameworkcommands.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/condpermadmin/package-summary.html">org.osgi.service.condpermadmin</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/permissionadmin/package-summary.html">org.osgi.service.permissionadmin</a> [1.2.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:44</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/frameworkcommands</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:frameworkcommands:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Import-Service</td>
- <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/ConsoleService.html">org.knopflerfish.service.console.ConsoleService</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/LogService.html">org.osgi.service.log.LogService</a> 0.0.0<br>
-</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/se [...]
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/src/org/knopflerfish/bundle/frameworkcommands/Activator.java">org/knopflerfish/bundle/frameworkcommands/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/src/org/knopflerfish/bundle/frameworkcommands/FrameworkCommandGroup.java">org/knopflerfish/bundle/frameworkcommands/FrameworkCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/src/org/knopflerfish/bundle/frameworkcommands/PermissionAdminHelper.java">org/knopflerfish/bundle/frameworkcommands/PermissionAdminHelper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/frameworkcommands/src/org/knopflerfish/bundle/frameworkcommands/PermissionAdminHelperImpl.java">org/knopflerfish/bundle/frameworkcommands/PermissionAdminHelperImpl.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/header.html b/docs/jars/header.html
deleted file mode 100644
index c608d08..0000000
--- a/docs/jars/header.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <link href="../css/knopflerfish.css" rel="stylesheet" type="text/css">
-    <link href="../css/kf_man.css" rel="stylesheet" type="text/css">
-
-    <style type="text/css">
-
-    DIV.left_hdr {
-      width: 225px;
-      height: 100%;
-      background: #000;
-      margin: 0px;
-      padding-top: 10px;
-      padding-left: 15px;
-      color: #fff;
-      float:left;
-      font-weight: bold;
-    }
-
-    DIV.logo_hdr {
-      height: 100%;
-      background: #fb0b0c;
-      margin: 0px 0px 0px 225px;
-      padding-top: 10px;
-      padding-left: 50px;
-    }
-
-    DIV.header_fade {
-      height: 15px;
-      border: 0px;
-      margin: 0px;
-      padding:0px;
-      border-style: none;
-      background-image: url('../images/fadeout_15.png');
-      background-size: 15px;
-      background-repeat: repeat-x;
-      clear:both;
-      overflow: hidden; /* To prevent IE to add an extra 1px at the bottom */
-    }
-
-    BODY  {
-      background: #fff;
-      margin-top:   5px;
-      margin-left:  10px;
-      margin-right: 10px;
-      font-size: 0.8125em;
-    }
-  </style>
-    
-</head>
-
-<body>
-  <div id="header">
-    <div id="header_logo">
-      <a target="_top" href="../index.html" >
-        <img src="../images/kf300_black.png" border="0" alt="knopflerfish logo"/>
-      </a>
-    </div>
-    <div id="header_centerbox">
-      <div class="header_centerinfo_top">
-	Distribution Documentation
-      </div>
-      <div class="header_centerinfo_bottom">
-	Knopflerfish OSGi
-      </div>
-    </div>
-    <div id="header_rightinfo">
-      <div class="header_stylish">
-	Open Source OSGi Service Platform Maintained by
-      </div>
-      <a href="http://www.makewave.com">
-	<img border="0" alt="Makewave" src="../images/makewave_logo.png" border="0" style="margin-top: 4px;">
-      </a>
-    </div>
-    <!-- <div style="clear:both;"></div> -->
-    <div class="header_fade">
-    </div>
-  </div>
-</body>
-</html>
diff --git a/docs/jars/http/http-4.0.5.html b/docs/jars/http/http-4.0.5.html
deleted file mode 100644
index eac317d..0000000
--- a/docs/jars/http/http-4.0.5.html
+++ /dev/null
@@ -1,438 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>http-4.0.5.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>http-4.0.5.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/http/http-4.0.5.jar">download</a> (108383 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>HTTP-Server-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.http-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.5</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>HTTP/HTTPS Server (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.http.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.net.ssl 0.0.0<br>
-javax.servlet [2.5.0,2.6.0)<br>
-javax.servlet.http [2.5.0,2.6.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.2.0,1.3.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:52</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/http/http</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:http:4.0.5:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href [...]
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Activator.java">org/knopflerfish/bundle/http/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Attributes.java">org/knopflerfish/bundle/http/Attributes.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/BodyOutputStream.java">org/knopflerfish/bundle/http/BodyOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/DefaultHttpContext.java">org/knopflerfish/bundle/http/DefaultHttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java">org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HeaderBase.java">org/knopflerfish/bundle/http/HeaderBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfig.java">org/knopflerfish/bundle/http/HttpConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfigWrapper.java">org/knopflerfish/bundle/http/HttpConfigWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpException.java">org/knopflerfish/bundle/http/HttpException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServer.java">org/knopflerfish/bundle/http/HttpServer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServerFactory.java">org/knopflerfish/bundle/http/HttpServerFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceFactory.java">org/knopflerfish/bundle/http/HttpServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceImpl.java">org/knopflerfish/bundle/http/HttpServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionImpl.java">org/knopflerfish/bundle/http/HttpSessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionManager.java">org/knopflerfish/bundle/http/HttpSessionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpUtil.java">org/knopflerfish/bundle/http/HttpUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/LocaleToCharsetMap.java">org/knopflerfish/bundle/http/LocaleToCharsetMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ObjectPool.java">org/knopflerfish/bundle/http/ObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableObject.java">org/knopflerfish/bundle/http/PoolableObject.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableServletWrapper.java">org/knopflerfish/bundle/http/PoolableServletWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registration.java">org/knopflerfish/bundle/http/Registration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registrations.java">org/knopflerfish/bundle/http/Registrations.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Request.java">org/knopflerfish/bundle/http/Request.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestBase.java">org/knopflerfish/bundle/http/RequestBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestDispatcherImpl.java">org/knopflerfish/bundle/http/RequestDispatcherImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java">org/knopflerfish/bundle/http/RequestImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestWrapper.java">org/knopflerfish/bundle/http/RequestWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResourceRegistration.java">org/knopflerfish/bundle/http/ResourceRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Response.java">org/knopflerfish/bundle/http/Response.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseImpl.java">org/knopflerfish/bundle/http/ResponseImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseWrapper.java">org/knopflerfish/bundle/http/ResponseWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletConfigImpl.java">org/knopflerfish/bundle/http/ServletConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextImpl.java">org/knopflerfish/bundle/http/ServletContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextManager.java">org/knopflerfish/bundle/http/ServletContextManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletInputStreamImpl.java">org/knopflerfish/bundle/http/ServletInputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletOutputStreamImpl.java">org/knopflerfish/bundle/http/ServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletPool.java">org/knopflerfish/bundle/http/ServletPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletRegistration.java">org/knopflerfish/bundle/http/ServletRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SimpleObjectPool.java">org/knopflerfish/bundle/http/SimpleObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SocketListener.java">org/knopflerfish/bundle/http/SocketListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Transaction.java">org/knopflerfish/bundle/http/Transaction.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/TransactionManager.java">org/knopflerfish/bundle/http/TransactionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/console/HttpCommandGroup.java">org/knopflerfish/bundle/http/console/HttpCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpContext.java">org/osgi/service/http/HttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpService.java">org/osgi/service/http/HttpService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/NamespaceException.java">org/osgi/service/http/NamespaceException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/package-info.java">org/osgi/service/http/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/http/http_all-4.0.5.html b/docs/jars/http/http_all-4.0.5.html
deleted file mode 100644
index f497f1c..0000000
--- a/docs/jars/http/http_all-4.0.5.html
+++ /dev/null
@@ -1,471 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>http_all-4.0.5.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>http_all-4.0.5.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/http/http_all-4.0.5.jar">download</a> (116642 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>HTTP-Server</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.http</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.5</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>HTTP/HTTPS Server</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.http.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> 1.2.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.net.ssl 0.0.0<br>
-javax.servlet [2.5.0,2.6.0)<br>
-javax.servlet.http [2.5.0,2.6.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.2.0,1.3.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:52</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/http/http</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:http:4.0.5</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href [...]
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Activator.java">org/knopflerfish/bundle/http/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Attributes.java">org/knopflerfish/bundle/http/Attributes.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/BodyOutputStream.java">org/knopflerfish/bundle/http/BodyOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/DefaultHttpContext.java">org/knopflerfish/bundle/http/DefaultHttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java">org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HeaderBase.java">org/knopflerfish/bundle/http/HeaderBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfig.java">org/knopflerfish/bundle/http/HttpConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfigWrapper.java">org/knopflerfish/bundle/http/HttpConfigWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpException.java">org/knopflerfish/bundle/http/HttpException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServer.java">org/knopflerfish/bundle/http/HttpServer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServerFactory.java">org/knopflerfish/bundle/http/HttpServerFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceFactory.java">org/knopflerfish/bundle/http/HttpServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceImpl.java">org/knopflerfish/bundle/http/HttpServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionImpl.java">org/knopflerfish/bundle/http/HttpSessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionManager.java">org/knopflerfish/bundle/http/HttpSessionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpUtil.java">org/knopflerfish/bundle/http/HttpUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/LocaleToCharsetMap.java">org/knopflerfish/bundle/http/LocaleToCharsetMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ObjectPool.java">org/knopflerfish/bundle/http/ObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableObject.java">org/knopflerfish/bundle/http/PoolableObject.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableServletWrapper.java">org/knopflerfish/bundle/http/PoolableServletWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registration.java">org/knopflerfish/bundle/http/Registration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registrations.java">org/knopflerfish/bundle/http/Registrations.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Request.java">org/knopflerfish/bundle/http/Request.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestBase.java">org/knopflerfish/bundle/http/RequestBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestDispatcherImpl.java">org/knopflerfish/bundle/http/RequestDispatcherImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java">org/knopflerfish/bundle/http/RequestImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestWrapper.java">org/knopflerfish/bundle/http/RequestWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResourceRegistration.java">org/knopflerfish/bundle/http/ResourceRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Response.java">org/knopflerfish/bundle/http/Response.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseImpl.java">org/knopflerfish/bundle/http/ResponseImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseWrapper.java">org/knopflerfish/bundle/http/ResponseWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletConfigImpl.java">org/knopflerfish/bundle/http/ServletConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextImpl.java">org/knopflerfish/bundle/http/ServletContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextManager.java">org/knopflerfish/bundle/http/ServletContextManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletInputStreamImpl.java">org/knopflerfish/bundle/http/ServletInputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletOutputStreamImpl.java">org/knopflerfish/bundle/http/ServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletPool.java">org/knopflerfish/bundle/http/ServletPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletRegistration.java">org/knopflerfish/bundle/http/ServletRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SimpleObjectPool.java">org/knopflerfish/bundle/http/SimpleObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SocketListener.java">org/knopflerfish/bundle/http/SocketListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Transaction.java">org/knopflerfish/bundle/http/Transaction.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/TransactionManager.java">org/knopflerfish/bundle/http/TransactionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/console/HttpCommandGroup.java">org/knopflerfish/bundle/http/console/HttpCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpContext.java">org/osgi/service/http/HttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpService.java">org/osgi/service/http/HttpService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/NamespaceException.java">org/osgi/service/http/NamespaceException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/package-info.java">org/osgi/service/http/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/http/http_api-4.0.5.html b/docs/jars/http/http_api-4.0.5.html
deleted file mode 100644
index e60572a..0000000
--- a/docs/jars/http/http_api-4.0.5.html
+++ /dev/null
@@ -1,429 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>http_api-4.0.5.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>http_api-4.0.5.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/http/http_api-4.0.5.jar">download</a> (2992 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>HTTP-Server-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.http-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.5</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>HTTP/HTTPS Server (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=http/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> 1.2.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.net.ssl 0.0.0<br>
-javax.servlet 0.0.0<br>
-javax.servlet.http 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.2.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:52</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/http/http</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:http:4.0.5:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Activator.java">org/knopflerfish/bundle/http/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Attributes.java">org/knopflerfish/bundle/http/Attributes.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/BodyOutputStream.java">org/knopflerfish/bundle/http/BodyOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/DefaultHttpContext.java">org/knopflerfish/bundle/http/DefaultHttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java">org/knopflerfish/bundle/http/GZIPServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HeaderBase.java">org/knopflerfish/bundle/http/HeaderBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfig.java">org/knopflerfish/bundle/http/HttpConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpConfigWrapper.java">org/knopflerfish/bundle/http/HttpConfigWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpException.java">org/knopflerfish/bundle/http/HttpException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServer.java">org/knopflerfish/bundle/http/HttpServer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServerFactory.java">org/knopflerfish/bundle/http/HttpServerFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceFactory.java">org/knopflerfish/bundle/http/HttpServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpServiceImpl.java">org/knopflerfish/bundle/http/HttpServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionImpl.java">org/knopflerfish/bundle/http/HttpSessionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpSessionManager.java">org/knopflerfish/bundle/http/HttpSessionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/HttpUtil.java">org/knopflerfish/bundle/http/HttpUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/LocaleToCharsetMap.java">org/knopflerfish/bundle/http/LocaleToCharsetMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ObjectPool.java">org/knopflerfish/bundle/http/ObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableObject.java">org/knopflerfish/bundle/http/PoolableObject.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/PoolableServletWrapper.java">org/knopflerfish/bundle/http/PoolableServletWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registration.java">org/knopflerfish/bundle/http/Registration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Registrations.java">org/knopflerfish/bundle/http/Registrations.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Request.java">org/knopflerfish/bundle/http/Request.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestBase.java">org/knopflerfish/bundle/http/RequestBase.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestDispatcherImpl.java">org/knopflerfish/bundle/http/RequestDispatcherImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestImpl.java">org/knopflerfish/bundle/http/RequestImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/RequestWrapper.java">org/knopflerfish/bundle/http/RequestWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResourceRegistration.java">org/knopflerfish/bundle/http/ResourceRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Response.java">org/knopflerfish/bundle/http/Response.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseImpl.java">org/knopflerfish/bundle/http/ResponseImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ResponseWrapper.java">org/knopflerfish/bundle/http/ResponseWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletConfigImpl.java">org/knopflerfish/bundle/http/ServletConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextImpl.java">org/knopflerfish/bundle/http/ServletContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletContextManager.java">org/knopflerfish/bundle/http/ServletContextManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletInputStreamImpl.java">org/knopflerfish/bundle/http/ServletInputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletOutputStreamImpl.java">org/knopflerfish/bundle/http/ServletOutputStreamImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletPool.java">org/knopflerfish/bundle/http/ServletPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/ServletRegistration.java">org/knopflerfish/bundle/http/ServletRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SimpleObjectPool.java">org/knopflerfish/bundle/http/SimpleObjectPool.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/SocketListener.java">org/knopflerfish/bundle/http/SocketListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/Transaction.java">org/knopflerfish/bundle/http/Transaction.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/TransactionManager.java">org/knopflerfish/bundle/http/TransactionManager.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/knopflerfish/bundle/http/console/HttpCommandGroup.java">org/knopflerfish/bundle/http/console/HttpCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpContext.java">org/osgi/service/http/HttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/HttpService.java">org/osgi/service/http/HttpService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/NamespaceException.java">org/osgi/service/http/NamespaceException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/http/src/org/osgi/service/http/package-info.java">org/osgi/service/http/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/httpconsole/httpconsole_all-4.0.1.html b/docs/jars/httpconsole/httpconsole_all-4.0.1.html
deleted file mode 100644
index 7d74ec4..0000000
--- a/docs/jars/httpconsole/httpconsole_all-4.0.1.html
+++ /dev/null
@@ -1,312 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>httpconsole_all-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>httpconsole_all-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/httpconsole/httpconsole_all-4.0.1.jar">download</a> (70416 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>httpconsole</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.httpconsole</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=httpconsole/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=httpconsole/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.httpconsole.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.servlet [2.5.0,3.0.0)<br>
-javax.servlet.http [2.5.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)                                                (version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:59</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/http/httpconsole</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:httpconsole:4.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/Activator.java">org/knopflerfish/bundle/httpconsole/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/BundleView.java">org/knopflerfish/bundle/httpconsole/BundleView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/Command.java">org/knopflerfish/bundle/httpconsole/Command.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/ConsoleServlet.java">org/knopflerfish/bundle/httpconsole/ConsoleServlet.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HTMLable.java">org/knopflerfish/bundle/httpconsole/HTMLable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HelpCommand.java">org/knopflerfish/bundle/httpconsole/HelpCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HttpWrapper.java">org/knopflerfish/bundle/httpconsole/HttpWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/IconCommand.java">org/knopflerfish/bundle/httpconsole/IconCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/IconDialogCommand.java">org/knopflerfish/bundle/httpconsole/IconDialogCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/IconView.java">org/knopflerfish/bundle/httpconsole/IconView.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/InfoCommand.java">org/knopflerfish/bundle/httpconsole/InfoCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/InstallFileCommand.java">org/knopflerfish/bundle/httpconsole/InstallFileCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/InstallFileCommand2.java">org/knopflerfish/bundle/httpconsole/InstallFileCommand2.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/InstallURLCommand.java">org/knopflerfish/bundle/httpconsole/InstallURLCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/Login.java">org/knopflerfish/bundle/httpconsole/Login.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/LogoutCommand.java">org/knopflerfish/bundle/httpconsole/LogoutCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/ReloadCommand.java">org/knopflerfish/bundle/httpconsole/ReloadCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/ServiceInfoCommand.java">org/knopflerfish/bundle/httpconsole/ServiceInfoCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/StartCommand.java">org/knopflerfish/bundle/httpconsole/StartCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/StatusCommand.java">org/knopflerfish/bundle/httpconsole/StatusCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/StopCommand.java">org/knopflerfish/bundle/httpconsole/StopCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/UninstallCommand.java">org/knopflerfish/bundle/httpconsole/UninstallCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/UpdateCommand.java">org/knopflerfish/bundle/httpconsole/UpdateCommand.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/Util.java">org/knopflerfish/bundle/httpconsole/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/httproot/httproot-4.0.0.html b/docs/jars/httproot/httproot-4.0.0.html
deleted file mode 100644
index febce84..0000000
--- a/docs/jars/httproot/httproot-4.0.0.html
+++ /dev/null
@@ -1,201 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>httproot-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>httproot-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/httproot/httproot-4.0.0.jar">download</a> (20492 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>HTTP-root-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.httproot-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Demo HTTP Service user that publishes on the root (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.httproot.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.servlet [2.5.0,3.0.0)<br>
-javax.servlet.http [2.5.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:58</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/http/httproot</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>example</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httproot/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httproot/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:httproot:4.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httproot/src/org/knopflerfish/bundle/httproot/Activator.java">org/knopflerfish/bundle/httproot/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/http/httproot/src/org/knopflerfish/bundle/httproot/InfoServlet.java">org/knopflerfish/bundle/httproot/InfoServlet.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/index.html b/docs/jars/index.html
deleted file mode 100644
index 37609a8..0000000
--- a/docs/jars/index.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-    <title>Knopflerfish - Bundle Jar Documentation</title>
-    <script type="text/javascript" language="JavaScript">
-      <!--
-	  targetPage = "" + getPageId(window.location.search);
-
-	  function getPageId ( searchStr ) {
-	    var idStartPos = searchStr.indexOf('bundle=');
-	    if (-1==idStartPos) {
-	      return "main.html";
-	    }
-	    idStartPos += 7;
-	    var idEndPos = searchStr.indexOf('&',idStartPos);
-	    if (-1==idEndPos) {
-	      return searchStr.substr(idStartPos);
-	    } 
-	    return searchStr.substring(idStartPos,idEndPos);
-	  }
-
-	  function loadFrame() {
-	    top.bundle_main.location = top.targetPage;
-	  }
-
-          //-->
-    </script> 
-  </head>
-  <frameset rows="95px,*" onLoad="top.loadFrame()">
-    <frame name="bundle_header" src="header.html"
-           frameborder="0"      scrolling="no"
-           marginwidth="0"      marginheight="0">
-    <frameset cols="240,*">
-      <frame name="bundle_list" src="list.html"
-       frameborder="0"             scrolling="auto"
-       marginwidth="0"             marginheight="0">
-      <frame name="bundle_main" src="main.html"
-       frameborder="0"             scrolling="auto">
-    </frameset>
-  </frameset>
-</html>
-
diff --git a/docs/jars/io/io_all-4.0.0.html b/docs/jars/io/io_all-4.0.0.html
deleted file mode 100644
index ba8f9c1..0000000
--- a/docs/jars/io/io_all-4.0.0.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>io_all-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>io_all-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/io/io_all-4.0.0.jar">download</a> (12863 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>io</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.io</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>IO</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.io.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,javax.microedition.io.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.microedition.io 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.microedition.io [0.0.0,1.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/io/io</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:io:4.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../connectors/connectors_all-3.0.0.html">connectors_all-3.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../connectors/connectors-3.0.0.html">connectors-3.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/knopflerfish/bundle/io/Activator.java">org/knopflerfish/bundle/io/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/knopflerfish/bundle/io/ConnectorServiceImpl.java">org/knopflerfish/bundle/io/ConnectorServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/ConnectionFactory.java">org/osgi/service/io/ConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/ConnectorService.java">org/osgi/service/io/ConnectorService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/package-info.java">org/osgi/service/io/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/io/io_api-4.0.0.html b/docs/jars/io/io_api-4.0.0.html
deleted file mode 100644
index 890ada4..0000000
--- a/docs/jars/io/io_api-4.0.0.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>io_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>io_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/io/io_api-4.0.0.jar">download</a> (2339 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>io-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.io-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>IO (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,javax.microedition.io.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.microedition.io 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.microedition.io [0.0.0,1.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/io/io</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:io:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../connectors/connectors_all-3.0.0.html">connectors_all-3.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../connectors/connectors-3.0.0.html">connectors-3.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_all-4.0.0.html">io_all-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-<tr><td><a href="../io/io_api-4.0.0.html">io_api-4.0.0</a></td><td>javax.microedition.io, <a target="_top" href="../../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/knopflerfish/bundle/io/Activator.java">org/knopflerfish/bundle/io/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/knopflerfish/bundle/io/ConnectorServiceImpl.java">org/knopflerfish/bundle/io/ConnectorServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/ConnectionFactory.java">org/osgi/service/io/ConnectionFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/ConnectorService.java">org/osgi/service/io/ConnectorService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/io/io/src/org/osgi/service/io/package-info.java">org/osgi/service/io/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/jinidriver/jinidriver_all-0.1.0.html b/docs/jars/jinidriver/jinidriver_all-0.1.0.html
deleted file mode 100644
index cae9a9b..0000000
--- a/docs/jars/jinidriver/jinidriver_all-0.1.0.html
+++ /dev/null
@@ -1,277 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>jinidriver_all-0.1.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>jinidriver_all-0.1.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/jinidriver/jinidriver_all-0.1.0.jar">download</a> (204969 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Jini-Driver</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.jinidriver</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.1.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Jini driver (experimental) using Sun's jini impl. jini-core.jar and jini-ext.jar, see http://wwws.sun.com/software/jini/licensing/SCSL3_JiniTSA1.html</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Nico Goeminne</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.jini.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,lib/jini-core.jar,lib/jini-ext.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>net.jini.admin 0.0.0<br>
-net.jini.core.discovery 0.0.0<br>
-net.jini.core.entry 0.0.0<br>
-net.jini.core.event 0.0.0<br>
-net.jini.core.lease 0.0.0<br>
-net.jini.core.lookup 0.0.0<br>
-net.jini.discovery 0.0.0<br>
-net.jini.lease 0.0.0<br>
-net.jini.lookup 0.0.0<br>
-net.jini.lookup.entry 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/jini/package-summary.html">org.osgi.service.jini</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.servlet 0.0.0<br>
-javax.servlet.http 0.0.0<br>
-net.jini.admin 0.0.0<br>
-net.jini.core.discovery 0.0.0<br>
-net.jini.core.entry 0.0.0<br>
-net.jini.core.event 0.0.0<br>
-net.jini.core.lease 0.0.0<br>
-net.jini.core.lookup 0.0.0<br>
-net.jini.discovery 0.0.0<br>
-net.jini.lease 0.0.0<br>
-net.jini.lookup 0.0.0<br>
-net.jini.lookup.entry 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/jini/package-summary.html">org.osgi.service.jini</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td>*</td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:24</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/jini/jinidriver</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:jinidriver:0.1.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td>net.jini.admin, net.jini.core.discovery, net.jini.core.entry, net.jini.core.event, net.jini.core.lease, net.jini.core.lookup, net.jini.discovery, net.jini.lease, net.jini.lookup, net.jini.lookup.entry, <a target="_top" href="../../javadoc/index.html?org/osgi/service/jini/package-summary.html">org.osgi.service.jini</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td>net.jini.admin, net.jini.core.discovery, net.jini.core.entry, net.jini.core.event, net.jini.core.lease, net.jini.core.lookup, net.jini.discovery, net.jini.lease, net.jini.lookup, net.jini.lookup.entry, <a target="_top" href="../../javadoc/index.html?org/osgi/service/jini/package-summary.html">org.osgi.service.jini</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/Activator.java">org/knopflerfish/bundle/jini/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/BundleHttpContext.java">org/knopflerfish/bundle/jini/BundleHttpContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/Debug.java">org/knopflerfish/bundle/jini/Debug.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/JiniDriverImpl.java">org/knopflerfish/bundle/jini/JiniDriverImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/JiniExportedService.java">org/knopflerfish/bundle/jini/JiniExportedService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/JiniExporter.java">org/knopflerfish/bundle/jini/JiniExporter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/JiniServiceFactory.java">org/knopflerfish/bundle/jini/JiniServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/Listener.java">org/knopflerfish/bundle/jini/Listener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/Osgi2Jini.java">org/knopflerfish/bundle/jini/Osgi2Jini.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/RMICodeBaseService.java">org/knopflerfish/bundle/jini/RMICodeBaseService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/knopflerfish/bundle/jini/Util.java">org/knopflerfish/bundle/jini/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/jini/jinidriver/src/org/osgi/service/jini/JiniDriver.java">org/osgi/service/jini/JiniDriver.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/jsdk/jsdk_api-2.5.0.kf3-2.html b/docs/jars/jsdk/jsdk_api-2.5.0.kf3-2.html
deleted file mode 100644
index a35af23..0000000
--- a/docs/jars/jsdk/jsdk_api-2.5.0.kf3-2.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>jsdk_api-2.5.0.kf3-2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>jsdk_api-2.5.0.kf3-2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/jsdk/jsdk_api-2.5.0.kf3-2.jar">download</a> (42999 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>JSDK-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.jsdk-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.5.0.kf3-2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The servlet API classes (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Sun/Apache</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/Apache-2.0;link="http://www.apache.org/licenses/LICENSE-2.0";description="Apache License, Version 2.0"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.servlet 2.5.0<br>
-javax.servlet.http 2.5.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.servlet [2.5.0,3.0.0)<br>
-javax.servlet.http [2.5.0,3.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:46</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/jsdk</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Sun</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:jsdk:2.5.0.kf3-2:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/Filter.java">javax/servlet/Filter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/FilterChain.java">javax/servlet/FilterChain.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/FilterConfig.java">javax/servlet/FilterConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/GenericServlet.java">javax/servlet/GenericServlet.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/RequestDispatcher.java">javax/servlet/RequestDispatcher.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/Servlet.java">javax/servlet/Servlet.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletConfig.java">javax/servlet/ServletConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletContext.java">javax/servlet/ServletContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletContextAttributeEvent.java">javax/servlet/ServletContextAttributeEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletContextAttributeListener.java">javax/servlet/ServletContextAttributeListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletContextEvent.java">javax/servlet/ServletContextEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletContextListener.java">javax/servlet/ServletContextListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletException.java">javax/servlet/ServletException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletInputStream.java">javax/servlet/ServletInputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletOutputStream.java">javax/servlet/ServletOutputStream.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequest.java">javax/servlet/ServletRequest.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequestAttributeEvent.java">javax/servlet/ServletRequestAttributeEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequestAttributeListener.java">javax/servlet/ServletRequestAttributeListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequestEvent.java">javax/servlet/ServletRequestEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequestListener.java">javax/servlet/ServletRequestListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletRequestWrapper.java">javax/servlet/ServletRequestWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletResponse.java">javax/servlet/ServletResponse.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/ServletResponseWrapper.java">javax/servlet/ServletResponseWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/SingleThreadModel.java">javax/servlet/SingleThreadModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/UnavailableException.java">javax/servlet/UnavailableException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/Cookie.java">javax/servlet/http/Cookie.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpServlet.java">javax/servlet/http/HttpServlet.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpServletRequest.java">javax/servlet/http/HttpServletRequest.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpServletRequestWrapper.java">javax/servlet/http/HttpServletRequestWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpServletResponse.java">javax/servlet/http/HttpServletResponse.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpServletResponseWrapper.java">javax/servlet/http/HttpServletResponseWrapper.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSession.java">javax/servlet/http/HttpSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionActivationListener.java">javax/servlet/http/HttpSessionActivationListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionAttributeListener.java">javax/servlet/http/HttpSessionAttributeListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionBindingEvent.java">javax/servlet/http/HttpSessionBindingEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionBindingListener.java">javax/servlet/http/HttpSessionBindingListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionContext.java">javax/servlet/http/HttpSessionContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionEvent.java">javax/servlet/http/HttpSessionEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpSessionListener.java">javax/servlet/http/HttpSessionListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/jsdk/src/javax/servlet/http/HttpUtils.java">javax/servlet/http/HttpUtils.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/junit/junit_all-3.8.1.kf4-001.html b/docs/jars/junit/junit_all-3.8.1.kf4-001.html
deleted file mode 100644
index f7c0a89..0000000
--- a/docs/jars/junit/junit_all-3.8.1.kf4-001.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>junit_all-3.8.1.kf4-001.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>junit_all-3.8.1.kf4-001.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/junit/junit_all-3.8.1.kf4-001.jar">download</a> (146393 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>JUnit</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.junit</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>3.8.1.kf4-001</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>JUnit support</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>JUnit/Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=junit">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=junit</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.junit.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,junit.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>junit.framework 3.8.1<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.servlet 0.0.0<br>
-javax.servlet.http 0.0.0<br>
-javax.swing 0.0.0<br>
-javax.swing.border 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.text 0.0.0<br>
-javax.swing.tree 0.0.0<br>
-javax.xml.parsers 0.0.0<br>
-junit.framework 3.8.1<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-org.w3c.dom 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:08</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/junit/junit</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>JUnit</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>testing</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:junit:3.8.1.kf4-001</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>javax.xml.parsers, org.w3c.dom</td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a></td></tr>
-<tr><td><a href="../jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td>javax.servlet, javax.servlet.http</td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>junit.framework, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a></td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml.parsers, org.w3c.dom</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>junit.framework, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a></td></tr>
-<tr><td><a href="../junit_runner/junit_runner_all-4.0.0.html">junit_runner_all-4.0.0</a></td><td>junit.framework, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/bundle/junit/Activator.java">org/knopflerfish/bundle/junit/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/bundle/junit/HttpExporter.java">org/knopflerfish/bundle/junit/HttpExporter.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/bundle/junit/JUnitCommandGroup.java">org/knopflerfish/bundle/junit/JUnitCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/bundle/junit/JUnitServiceImpl.java">org/knopflerfish/bundle/junit/JUnitServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/bundle/junit/JUnitServlet.java">org/knopflerfish/bundle/junit/JUnitServlet.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/service/junit/JUnitService.java">org/knopflerfish/service/junit/JUnitService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit/src/org/knopflerfish/service/junit/client/JUnitClient.java">org/knopflerfish/service/junit/client/JUnitClient.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/junit_runner/junit_runner_all-4.0.0.html b/docs/jars/junit_runner/junit_runner_all-4.0.0.html
deleted file mode 100644
index 82a568a..0000000
--- a/docs/jars/junit_runner/junit_runner_all-4.0.0.html
+++ /dev/null
@@ -1,190 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>junit_runner_all-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>junit_runner_all-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/junit_runner/junit_runner_all-4.0.0.jar">download</a> (12273 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>JUnitRunner</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.junit_runner</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Grunt, the JUnit test runner. Runs JUnit tests registered in the framework and dumps results to XML files.</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_opt/junit/junit_runner/readme.txt">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles_opt/junit/junit_runner/readme.txt</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.junit_runner.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>junit.framework 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/junit/junit_runner</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>testing</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit_runner/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit_runner/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:junit_runner:4.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>junit.framework, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit_runner/src/org/knopflerfish/bundle/junit_runner/Activator.java">org/knopflerfish/bundle/junit_runner/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/junit/junit_runner/src/org/knopflerfish/bundle/junit_runner/Grunt.java">org/knopflerfish/bundle/junit_runner/Grunt.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/kf_metatype/kf_metatype_all-5.0.2.html b/docs/jars/kf_metatype/kf_metatype_all-5.0.2.html
deleted file mode 100644
index c79f58c..0000000
--- a/docs/jars/kf_metatype/kf_metatype_all-5.0.2.html
+++ /dev/null
@@ -1,263 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>kf_metatype_all-5.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>kf_metatype_all-5.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/kf_metatype/kf_metatype_all-5.0.2.jar">download</a> (123656 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>KF-XML-Metatype</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.kf_metatype</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>XML format support for CM and Metatype</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish,nanoxml</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.metatype.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,nanoxml-2.2.1.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>net.n3.nanoxml 2.2.1<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>net.n3.nanoxml [2.2.1,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-org.xmlpull.v1 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.osgi.service.metatype.MetaTypeService",osgi.service;  objectClass:List<String>="org.knopflerfish.util.metatype.SystemMetatypeProvider",osgi.service;  objectClass:List<String>="org.osgi.service.cm.ManagedService";  service.pid:String="org.knopflerfish.util.metatype.SystemMetatypeProvider",osgi.service;  objectClass:List<String>="org.osgi.service.cm.ManagedService";  service.pid:String="java.system.properties"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/metatype/kf_metatype</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:kf_metatype:5.0.2</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td>net.n3.nanoxml, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-<tr><td><a href="../kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a>, org.xmlpull.v1</td></tr>
-<tr><td><a href="../metatype/metatype-4.0.0.html">metatype-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td>net.n3.nanoxml, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/bundle/metatype/Activator.java">org/knopflerfish/bundle/metatype/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/AD.java">org/knopflerfish/util/metatype/AD.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/AE.java">org/knopflerfish/util/metatype/AE.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/BundleMetaTypeInformationSnapshot.java">org/knopflerfish/util/metatype/BundleMetaTypeInformationSnapshot.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/BundleMetaTypeResource.java">org/knopflerfish/util/metatype/BundleMetaTypeResource.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/KFLegacyMetaTypeParser.java">org/knopflerfish/util/metatype/KFLegacyMetaTypeParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/Loader.java">org/knopflerfish/util/metatype/Loader.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/MTP.java">org/knopflerfish/util/metatype/MTP.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/OCD.java">org/knopflerfish/util/metatype/OCD.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/OsgiMetaTypeXmlParser.java">org/knopflerfish/util/metatype/OsgiMetaTypeXmlParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/kf_metatype/src/org/knopflerfish/util/metatype/SystemMetatypeProvider.java">org/knopflerfish/util/metatype/SystemMetatypeProvider.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/kxml/kxml-2.3.0.kf4-001.html b/docs/jars/kxml/kxml-2.3.0.kf4-001.html
deleted file mode 100644
index b2b7477..0000000
--- a/docs/jars/kxml/kxml-2.3.0.kf4-001.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>kxml-2.3.0.kf4-001.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>kxml-2.3.0.kf4-001.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/kxml/kxml-2.3.0.kf4-001.jar">download</a> (56795 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>kXML 2-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.kxml-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.3.0.kf4-001</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Packing of kXML 2 as a bundle (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>kXML.org  http://kxml.sourceforge.net/</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://kxml.sourceforge.net/</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=kmxl/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=kmxl/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/kdom/package-summary.html">org.kxml2.kdom</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/wap/package-summary.html">org.kxml2.wap</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/wap/syncml/package-summary.html">org.kxml2.wap.syncml</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/wap/wml/package-summary.html">org.kxml2.wap.wml</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/wap/wv/package-summary.html">org.kxml2.wap.wv</a> 0.0.0<br>
-org.xmlpull.v1 1.1.3.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:02</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/xml/kxml</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>lib</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:kxml:2.3.0.kf4-001:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td>org.xmlpull.v1</td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a>, org.xmlpull.v1</td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a>, org.xmlpull.v1</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/io/KXmlParser.java">org/kxml2/io/KXmlParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/io/KXmlSerializer.java">org/kxml2/io/KXmlSerializer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/kdom/Document.java">org/kxml2/kdom/Document.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/kdom/Element.java">org/kxml2/kdom/Element.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/kdom/Node.java">org/kxml2/kdom/Node.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/Wbxml.java">org/kxml2/wap/Wbxml.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/WbxmlParser.java">org/kxml2/wap/WbxmlParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/WbxmlSerializer.java">org/kxml2/wap/WbxmlSerializer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/syncml/SyncML.java">org/kxml2/wap/syncml/SyncML.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/wml/Wml.java">org/kxml2/wap/wml/Wml.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/kxml/src/org/kxml2/wap/wv/WV.java">org/kxml2/wap/wv/WV.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/list.html b/docs/jars/list.html
deleted file mode 100644
index e2582c8..0000000
--- a/docs/jars/list.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<html>
-
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="style.css" rel="stylesheet" type="text/css">
-  <style type="text/css"> 
-      BODY {
-      background: #fff;
-      margin-top:    5px;
-      margin-left:  15px;
-      margin-right: 10px;
-      }
-
-      H2 {
-        color:#802060;
-        font-size:13px;
-        font-weight:bold;
-        margin:6px 0px 6px 0px;	     
-        padding:6px 0px 6px 0px;
-      }
-
-      #bundle_list {
-        margin-left: 8px;
-      }
-
-      #bundle_list A {
-        color: #000;
-        text-decoration: none;
-      }
-	      
-      #bundle_list A:hover {
-        color: #805362;	      
-        text-decoration: underline;
-        font-weight:      bold;
-      }
-  </style>
-</head>
-
-<body>
-<h2>Knopflerfish OSGi 5.1.0 Bundles</h2>
-<a target="_top" href="../index.html">Knopflerfish Documentation</a><br>
-<a target="bundle_main" href="main.html">Bundle Jar Documentation</a><br>
-<a target="bundle_main" href="package_list.html">Bundle Packages</a><br>
-<p></p>
-<div id="bundle_list">
-<a target="bundle_main" href="applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a><br>
-<a target="bundle_main" href="basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a><br>
-<a target="bundle_main" href="basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a><br>
-<a target="bundle_main" href="blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a><br>
-<a target="bundle_main" href="classpatcher/classpatcher_all-5.0.0.html">classpatcher_all-5.0.0</a><br>
-<a target="bundle_main" href="cm/cm-5.0.1.html">cm-5.0.1</a><br>
-<a target="bundle_main" href="cm/cm_all-5.0.1.html">cm_all-5.0.1</a><br>
-<a target="bundle_main" href="cm/cm_api-5.0.1.html">cm_api-5.0.1</a><br>
-<a target="bundle_main" href="cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a><br>
-<a target="bundle_main" href="cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a><br>
-<a target="bundle_main" href="cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a><br>
-<a target="bundle_main" href="comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a><br>
-<a target="bundle_main" href="comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a><br>
-<a target="bundle_main" href="command/command_all-0.2.html">command_all-0.2</a><br>
-<a target="bundle_main" href="command/command_api-0.2.html">command_api-0.2</a><br>
-<a target="bundle_main" href="commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a><br>
-<a target="bundle_main" href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a><br>
-<a target="bundle_main" href="component/component_all-5.0.3.html">component_all-5.0.3</a><br>
-<a target="bundle_main" href="component_annotations/component_annotations_api-1.0.0.html">component_annotations_api-1.0.0</a><br>
-<a target="bundle_main" href="component/component_api-5.0.3.html">component_api-5.0.3</a><br>
-<a target="bundle_main" href="connectors/connectors-3.0.0.html">connectors-3.0.0</a><br>
-<a target="bundle_main" href="connectors/connectors_all-3.0.0.html">connectors_all-3.0.0</a><br>
-<a target="bundle_main" href="console/console-4.0.1.html">console-4.0.1</a><br>
-<a target="bundle_main" href="console2command/console2command-2.0.0.html">console2command-2.0.0</a><br>
-<a target="bundle_main" href="console/console_all-4.0.1.html">console_all-4.0.1</a><br>
-<a target="bundle_main" href="console/console_api-4.0.1.html">console_api-4.0.1</a><br>
-<a target="bundle_main" href="consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a><br>
-<a target="bundle_main" href="consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a><br>
-<a target="bundle_main" href="consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a><br>
-<a target="bundle_main" href="consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a><br>
-<a target="bundle_main" href="coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a><br>
-<a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-<a target="bundle_main" href="deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a><br>
-<a target="bundle_main" href="desktop/desktop-5.0.1.html">desktop-5.0.1</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a><br>
-<a target="bundle_main" href="desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a><br>
-<a target="bundle_main" href="desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a><br>
-<a target="bundle_main" href="device/device-4.0.1.html">device-4.0.1</a><br>
-<a target="bundle_main" href="device/device_all-4.0.1.html">device_all-4.0.1</a><br>
-<a target="bundle_main" href="device/device_api-4.0.1.html">device_api-4.0.1</a><br>
-<a target="bundle_main" href="dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a><br>
-<a target="bundle_main" href="dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a><br>
-<a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-<a target="bundle_main" href="event/event_all-4.0.1.html">event_all-4.0.1</a><br>
-<a target="bundle_main" href="event/event_api-4.0.1.html">event_api-4.0.1</a><br>
-<a target="bundle_main" href="foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a><br>
-<a target="bundle_main" href="framework.html">framework</a><br>
-<a target="bundle_main" href="frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a><br>
-<a target="bundle_main" href="http/http-4.0.5.html">http-4.0.5</a><br>
-<a target="bundle_main" href="http/http_all-4.0.5.html">http_all-4.0.5</a><br>
-<a target="bundle_main" href="http/http_api-4.0.5.html">http_api-4.0.5</a><br>
-<a target="bundle_main" href="httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a><br>
-<a target="bundle_main" href="httproot/httproot-4.0.0.html">httproot-4.0.0</a><br>
-<a target="bundle_main" href="io/io_all-4.0.0.html">io_all-4.0.0</a><br>
-<a target="bundle_main" href="io/io_api-4.0.0.html">io_api-4.0.0</a><br>
-<a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-<a target="bundle_main" href="jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a><br>
-<a target="bundle_main" href="junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a><br>
-<a target="bundle_main" href="junit_runner/junit_runner_all-4.0.0.html">junit_runner_all-4.0.0</a><br>
-<a target="bundle_main" href="kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a><br>
-<a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-<a target="bundle_main" href="log/log-5.0.0.html">log-5.0.0</a><br>
-<a target="bundle_main" href="log/log_all-5.0.0.html">log_all-5.0.0</a><br>
-<a target="bundle_main" href="log/log_api-5.0.0.html">log_api-5.0.0</a><br>
-<a target="bundle_main" href="logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a><br>
-<a target="bundle_main" href="measurement/measurement-4.0.0.html">measurement-4.0.0</a><br>
-<a target="bundle_main" href="metatype/metatype-4.0.0.html">metatype-4.0.0</a><br>
-<a target="bundle_main" href="monitor/monitor_api-4.0.0.html">monitor_api-4.0.0</a><br>
-<a target="bundle_main" href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a><br>
-<a target="bundle_main" href="position/position-4.0.0.html">position-4.0.0</a><br>
-<a target="bundle_main" href="prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a><br>
-<a target="bundle_main" href="prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a><br>
-<a target="bundle_main" href="provisioning/provisioning_api-4.0.0.html">provisioning_api-4.0.0</a><br>
-<a target="bundle_main" href="remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a><br>
-<a target="bundle_main" href="remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a><br>
-<a target="bundle_main" href="repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a><br>
-<a target="bundle_main" href="repository/repository_api-1.0.0.html">repository_api-1.0.0</a><br>
-<a target="bundle_main" href="repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a><br>
-<a target="bundle_main" href="repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a><br>
-<a target="bundle_main" href="repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a><br>
-<a target="bundle_main" href="repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a><br>
-<a target="bundle_main" href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a><br>
-<a target="bundle_main" href="repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a><br>
-<a target="bundle_main" href="resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a><br>
-<a target="bundle_main" href="rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.html">rxtxcomm-linux-arm-2.1.7.1</a><br>
-<a target="bundle_main" href="rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.html">rxtxcomm-linux-x86-2.2.0.pre2</a><br>
-<a target="bundle_main" href="rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a><br>
-<a target="bundle_main" href="scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a><br>
-<a target="bundle_main" href="serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a><br>
-<a target="bundle_main" href="serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a><br>
-<a target="bundle_main" href="serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a><br>
-<a target="bundle_main" href="sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a><br>
-<a target="bundle_main" href="subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a><br>
-<a target="bundle_main" href="threadio/threadio-0.2.0.html">threadio-0.2.0</a><br>
-<a target="bundle_main" href="threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a><br>
-<a target="bundle_main" href="threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a><br>
-<a target="bundle_main" href="trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a><br>
-<a target="bundle_main" href="upnp/upnp_api-4.0.0.html">upnp_api-4.0.0</a><br>
-<a target="bundle_main" href="useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a><br>
-<a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a><br>
-<a target="bundle_main" href="wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a><br>
-<a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-<a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-<a target="bundle_main" href="xml/xml-4.0.0.html">xml-4.0.0</a><br>
-
-</div>
-</body>
-
-</html>
-
diff --git a/docs/jars/log/log-5.0.0.html b/docs/jars/log/log-5.0.0.html
deleted file mode 100644
index 5cab65c..0000000
--- a/docs/jars/log/log-5.0.0.html
+++ /dev/null
@@ -1,287 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>log-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>log-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/log/log-5.0.0.jar">download</a> (34626 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Log Service-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.log-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Knopflerfish OSGi log service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.log.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.osgi.service.cm.ManagedService,                            org.knopflerfish.service.log.LogConfig";  service.pid=org.knopflerfish.bundle.log.LogConfig,osgi.service;  objectClass:List<String>="org.osgi.service.log.LogReaderService",osgi.service;  objectClass:List<String>="org.osgi.service.log.LogService,                            org.knopflerfish.service.log.LogService"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:38</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/log</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi/Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:log:5.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/Activator.java">org/knopflerfish/bundle/log/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/FileLog.java">org/knopflerfish/bundle/log/FileLog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogConfigImpl.java">org/knopflerfish/bundle/log/LogConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogEntryImpl.java">org/knopflerfish/bundle/log/LogEntryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogFrameworkListener.java">org/knopflerfish/bundle/log/LogFrameworkListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceFactory.java">org/knopflerfish/bundle/log/LogReaderServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceImpl.java">org/knopflerfish/bundle/log/LogReaderServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceFactory.java">org/knopflerfish/bundle/log/LogServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceImpl.java">org/knopflerfish/bundle/log/LogServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogConfig.java">org/knopflerfish/service/log/LogConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogRef.java">org/knopflerfish/service/log/LogRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogService.java">org/knopflerfish/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogUtil.java">org/knopflerfish/service/log/LogUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogEntry.java">org/osgi/service/log/LogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogListener.java">org/osgi/service/log/LogListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogReaderService.java">org/osgi/service/log/LogReaderService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogService.java">org/osgi/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/package-info.java">org/osgi/service/log/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/log/log_all-5.0.0.html b/docs/jars/log/log_all-5.0.0.html
deleted file mode 100644
index 71ecfa9..0000000
--- a/docs/jars/log/log_all-5.0.0.html
+++ /dev/null
@@ -1,329 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>log_all-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>log_all-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/log/log_all-5.0.0.jar">download</a> (42745 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Log Service</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.log</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Knopflerfish OSGi log service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.log.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> 1.3.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.osgi.service.cm.ManagedService,                            org.knopflerfish.service.log.LogConfig";  service.pid=org.knopflerfish.bundle.log.LogConfig,osgi.service;  objectClass:List<String>="org.osgi.service.log.LogReaderService",osgi.service;  objectClass:List<String>="org.osgi.service.log.LogService,                            org.knopflerfish.service.log.LogService"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:38</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/log</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi/Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:log:5.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/Activator.java">org/knopflerfish/bundle/log/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/FileLog.java">org/knopflerfish/bundle/log/FileLog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogConfigImpl.java">org/knopflerfish/bundle/log/LogConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogEntryImpl.java">org/knopflerfish/bundle/log/LogEntryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogFrameworkListener.java">org/knopflerfish/bundle/log/LogFrameworkListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceFactory.java">org/knopflerfish/bundle/log/LogReaderServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceImpl.java">org/knopflerfish/bundle/log/LogReaderServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceFactory.java">org/knopflerfish/bundle/log/LogServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceImpl.java">org/knopflerfish/bundle/log/LogServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogConfig.java">org/knopflerfish/service/log/LogConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogRef.java">org/knopflerfish/service/log/LogRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogService.java">org/knopflerfish/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogUtil.java">org/knopflerfish/service/log/LogUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogEntry.java">org/osgi/service/log/LogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogListener.java">org/osgi/service/log/LogListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogReaderService.java">org/osgi/service/log/LogReaderService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogService.java">org/osgi/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/package-info.java">org/osgi/service/log/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/log/log_api-5.0.0.html b/docs/jars/log/log_api-5.0.0.html
deleted file mode 100644
index 175f6f4..0000000
--- a/docs/jars/log/log_api-5.0.0.html
+++ /dev/null
@@ -1,326 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>log_api-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>log_api-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/log/log_api-5.0.0.jar">download</a> (9179 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Log Service-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.log-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Knopflerfish OSGi log service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=log/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> 1.3.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:38</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/log</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi/Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:log:5.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console-4.0.1.html">console-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../device/device-4.0.1.html">device-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/Activator.java">org/knopflerfish/bundle/log/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/FileLog.java">org/knopflerfish/bundle/log/FileLog.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogConfigImpl.java">org/knopflerfish/bundle/log/LogConfigImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogEntryImpl.java">org/knopflerfish/bundle/log/LogEntryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogFrameworkListener.java">org/knopflerfish/bundle/log/LogFrameworkListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceFactory.java">org/knopflerfish/bundle/log/LogReaderServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogReaderServiceImpl.java">org/knopflerfish/bundle/log/LogReaderServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceFactory.java">org/knopflerfish/bundle/log/LogServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/bundle/log/LogServiceImpl.java">org/knopflerfish/bundle/log/LogServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogConfig.java">org/knopflerfish/service/log/LogConfig.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogRef.java">org/knopflerfish/service/log/LogRef.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogService.java">org/knopflerfish/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/knopflerfish/service/log/LogUtil.java">org/knopflerfish/service/log/LogUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogEntry.java">org/osgi/service/log/LogEntry.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogListener.java">org/osgi/service/log/LogListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogReaderService.java">org/osgi/service/log/LogReaderService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/LogService.java">org/osgi/service/log/LogService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/log/src/org/osgi/service/log/package-info.java">org/osgi/service/log/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/logcommands/logcommands-5.0.0.html b/docs/jars/logcommands/logcommands-5.0.0.html
deleted file mode 100644
index 424f5a4..0000000
--- a/docs/jars/logcommands/logcommands-5.0.0.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>logcommands-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>logcommands-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/logcommands/logcommands-5.0.0.jar">download</a> (16772 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>LogCommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.logcommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Provides log commands for the Knopflerfish console (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=logcommands/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=logcommands/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.logcommands.LogCommands</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.knopflerfish.service.console.CommandGroup";  groupName=log,osgi.service;  objectClass:List<String>="org.knopflerfish.service.console.CommandGroup";  groupName=logconfig</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:46</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/logcommands</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/logcommands/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/logcommands/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:logcommands:5.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/logcommands/src/org/knopflerfish/bundle/logcommands/LogCommandGroup.java">org/knopflerfish/bundle/logcommands/LogCommandGroup.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/logcommands/src/org/knopflerfish/bundle/logcommands/LogCommands.java">org/knopflerfish/bundle/logcommands/LogCommands.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/logcommands/src/org/knopflerfish/bundle/logcommands/LogConfigCommandGroup.java">org/knopflerfish/bundle/logcommands/LogConfigCommandGroup.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/main.html b/docs/jars/main.html
deleted file mode 100644
index dd7eae2..0000000
--- a/docs/jars/main.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<html>
-
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link type="text/css" href="../css/knopflerfish.css" rel="stylesheet">
-  <link type="text/css" href="style.css" rel="stylesheet">
-  <title>Knopflerfish - Bundle Jar Documentation</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-  <h1 class="kf">Bundle Jar Documentation</h1>
-
-  <p>This section contains information on all bundle jar files
-  included in this distribution of Knopflerfish.</p>
-
-  <p>Select the bundles from the bundle list to the left to view
-  detailed bundle information, including manifest headers, bundle
-  dependencies and derived javadoc links based on imported and
-  exported packages.</p>
-
-  <p>
-<table>
- <tr><td colspan=2 class="mfheader">Unresolved packages</td></tr>
- <tr><td>xerces-2.10.1.kf5</td>
-  <td>sun.io 0.0.0 <em>optional</em></td></tr>
-
-</table>
-
-  </p>
-
-  <h2 class="filled">Bundle Jars Listing</h2>
-  <p>
-    <table>
-      <tr><td><a target="bundle_main" href="applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a></td><td><td>Application Admin API (API)</td></tr>
-<tr><td><a target="bundle_main" href="basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><td>Basic device driver locator (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><td>Basic device driver locator</td></tr>
-<tr><td><a target="bundle_main" href="blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a></td><td><td>Blueprint Container API (API)</td></tr>
-<tr><td><a target="bundle_main" href="classpatcher/classpatcher_all-5.0.0.html">classpatcher_all-5.0.0</a></td><td><td>Implements a WeavingHook to allow patching of classes at load time using ASM</td></tr>
-<tr><td><a target="bundle_main" href="cm/cm-5.0.1.html">cm-5.0.1</a></td><td><td>Configuration Management Service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><td>Configuration Management Service</td></tr>
-<tr><td><a target="bundle_main" href="cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><td>Configuration Management Service (API)</td></tr>
-<tr><td><a target="bundle_main" href="cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><td>Commands for the CM service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><td>CM desktop plugin (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><td>CM desktop plugin</td></tr>
-<tr><td><a target="bundle_main" href="comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td><td>Native driver for linux javax.comm using the RXTX library. Note that this bundle is LGPL and contains full source to rxtx</td></tr>
-<tr><td><a target="bundle_main" href="comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td><td>Native driver for win32 javax.comm using Sun's COMM library</td></tr>
-<tr><td><a target="bundle_main" href="command/command_all-0.2.html">command_all-0.2</a></td><td><td>Command Service</td></tr>
-<tr><td><a target="bundle_main" href="command/command_api-0.2.html">command_api-0.2</a></td><td><td>Command Service (API)</td></tr>
-<tr><td><a target="bundle_main" href="commandtty/commandtty-4.0.1.html">commandtty-4.0.1</a></td><td><td>Command line system console (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><td>Apache Commons logging. Publishced under Apache License. See http://www.apache.org/licenses/LICENSE-2.0</td></tr>
-<tr><td><a target="bundle_main" href="component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><td>Declarative Services SCR</td></tr>
-<tr><td><a target="bundle_main" href="component_annotations/component_annotations_api-1.0.0.html">component_annotations_api-1.0.0</a></td><td><td>OSGi specified component annotations (API)</td></tr>
-<tr><td><a target="bundle_main" href="component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><td>Declarative Services SCR (API)</td></tr>
-<tr><td><a target="bundle_main" href="connectors/connectors-3.0.0.html">connectors-3.0.0</a></td><td><td>OSGi IO http, socket and datagram-receive Connectors (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="connectors/connectors_all-3.0.0.html">connectors_all-3.0.0</a></td><td><td>OSGi IO http, socket and datagram-receive Connectors</td></tr>
-<tr><td><a target="bundle_main" href="console/console-4.0.1.html">console-4.0.1</a></td><td><td>Knopflerfish Console Service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="console2command/console2command-2.0.0.html">console2command-2.0.0</a></td><td><td>Wrapper for KF console commands to RFC147 commands (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><td>Knopflerfish Console Service</td></tr>
-<tr><td><a target="bundle_main" href="console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><td>Knopflerfish Console Service (API)</td></tr>
-<tr><td><a target="bundle_main" href="consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><td>Console Service Server accepting TCP connection. (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><td>Console Service Server accepting TCP connection.</td></tr>
-<tr><td><a target="bundle_main" href="consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><td>Console service server accepting telnet connections. (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="consoletty/consoletty-4.0.1.html">consoletty-4.0.1</a></td><td><td>Console Service Command Line Console (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a></td><td><td>OSGi specified coordinator service (API)</td></tr>
-<tr><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td><td>The Crimson XML parser</td></tr>
-<tr><td><a target="bundle_main" href="deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a></td><td><td>Deployment Admin API (API)</td></tr>
-<tr><td><a target="bundle_main" href="desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><td>Swing framework desktop (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><td>Swing framework desktop</td></tr>
-<tr><td><a target="bundle_main" href="desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><td>Swing framework desktop (API)</td></tr>
-<tr><td><a target="bundle_main" href="desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><td>JVM info desktop plugin (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><td>JVM info desktop plugin</td></tr>
-<tr><td><a target="bundle_main" href="device/device-4.0.1.html">device-4.0.1</a></td><td><td>Device manager (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><td>Device manager</td></tr>
-<tr><td><a target="bundle_main" href="device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><td>Device manager (API)</td></tr>
-<tr><td><a target="bundle_main" href="dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a></td><td><td>Monitors a set of file system directory for bundlesand configurations to deploy</td></tr>
-<tr><td><a target="bundle_main" href="dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a></td><td><td>Monitors a set of file system directory for bundlesand configurations to deploy (API)</td></tr>
-<tr><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a></td><td><td>DMT (API)</td></tr>
-<tr><td><a target="bundle_main" href="event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><td>Event Admin</td></tr>
-<tr><td><a target="bundle_main" href="event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><td>Event Admin (API)</td></tr>
-<tr><td><a target="bundle_main" href="foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a></td><td><td>Foreign Application Access API (API)</td></tr>
-<tr><td><a target="bundle_main" href="framework.html">framework</a></td><td><td>Knopflerfish OSGi framework system bundle</td></tr>
-<tr><td><a target="bundle_main" href="frameworkcommands/frameworkcommands-4.0.1.html">frameworkcommands-4.0.1</a></td><td><td>Framework commands (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="http/http-4.0.5.html">http-4.0.5</a></td><td><td>HTTP/HTTPS Server (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><td>HTTP/HTTPS Server</td></tr>
-<tr><td><a target="bundle_main" href="http/http_api-4.0.5.html">http_api-4.0.5</a></td><td><td>HTTP/HTTPS Server (API)</td></tr>
-<tr><td><a target="bundle_main" href="httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><td></td></tr>
-<tr><td><a target="bundle_main" href="httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><td>Demo HTTP Service user that publishes on the root (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="io/io_all-4.0.0.html">io_all-4.0.0</a></td><td><td>IO</td></tr>
-<tr><td><a target="bundle_main" href="io/io_api-4.0.0.html">io_api-4.0.0</a></td><td><td>IO (API)</td></tr>
-<tr><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a></td><td><td>Jini driver (experimental) using Sun's jini impl. jini-core.jar and jini-ext.jar, see http://wwws.sun.com/software/jini/licensing/SCSL3_JiniTSA1.html</td></tr>
-<tr><td><a target="bundle_main" href="jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a></td><td><td>The servlet API classes (API)</td></tr>
-<tr><td><a target="bundle_main" href="junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td><td>JUnit support</td></tr>
-<tr><td><a target="bundle_main" href="junit_runner/junit_runner_all-4.0.0.html">junit_runner_all-4.0.0</a></td><td><td>Grunt, the JUnit test runner. Runs JUnit tests registered in the framework and dumps results to XML files.</td></tr>
-<tr><td><a target="bundle_main" href="kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><td>XML format support for CM and Metatype</td></tr>
-<tr><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td><td><td>Packing of kXML 2 as a bundle (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="log/log-5.0.0.html">log-5.0.0</a></td><td><td>The Knopflerfish OSGi log service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><td>The Knopflerfish OSGi log service</td></tr>
-<tr><td><a target="bundle_main" href="log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><td>The Knopflerfish OSGi log service (API)</td></tr>
-<tr><td><a target="bundle_main" href="logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><td>Provides log commands for the Knopflerfish console (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="measurement/measurement-4.0.0.html">measurement-4.0.0</a></td><td><td>Measurement API (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="metatype/metatype-4.0.0.html">metatype-4.0.0</a></td><td><td>Metatype API (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="monitor/monitor_api-4.0.0.html">monitor_api-4.0.0</a></td><td><td>Monitor Admin API (API)</td></tr>
-<tr><td><a target="bundle_main" href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a></td><td><td>OSGi Namespace (API)</td></tr>
-<tr><td><a target="bundle_main" href="position/position-4.0.0.html">position-4.0.0</a></td><td><td>Position API (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><td>Preferences</td></tr>
-<tr><td><a target="bundle_main" href="prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><td>Preferences (API)</td></tr>
-<tr><td><a target="bundle_main" href="provisioning/provisioning_api-4.0.0.html">provisioning_api-4.0.0</a></td><td><td>Initial Provisioning (API)</td></tr>
-<tr><td><a target="bundle_main" href="remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><td>Remote Framework (API)</td></tr>
-<tr><td><a target="bundle_main" href="remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a></td><td><td>OSGi specified remote service admin service (API)</td></tr>
-<tr><td><a target="bundle_main" href="repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a></td><td><td>KF Resource Analyzer Extensions</td></tr>
-<tr><td><a target="bundle_main" href="repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><td>Repository API (API)</td></tr>
-<tr><td><a target="bundle_main" href="repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><td>Knopflerfish desktop plugin visualizing OSGi Repository contents.</td></tr>
-<tr><td><a target="bundle_main" href="repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><td>Xml Backed Repository</td></tr>
-<tr><td><a target="bundle_main" href="repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><td>Xml Backed Repository (API)</td></tr>
-<tr><td><a target="bundle_main" href="repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><td>Repository commands (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><td>Repository Manager</td></tr>
-<tr><td><a target="bundle_main" href="repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><td>Repository Manager (API)</td></tr>
-<tr><td><a target="bundle_main" href="resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><td>Resolver API (API)</td></tr>
-<tr><td><a target="bundle_main" href="rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.html">rxtxcomm-linux-arm-2.1.7.1</a></td><td><td>RXTX comm native driver for Linux/arm_le (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.html">rxtxcomm-linux-x86-2.2.0.pre2</a></td><td><td>RXTX comm native driver for Linux/x86 (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a></td><td><td>RXTX comm java library, requires native driver fragment (API)</td></tr>
-<tr><td><a target="bundle_main" href="scrcommands/scrcommands-4.0.1.html">scrcommands-4.0.1</a></td><td><td>Provides SCR admin commands for the Knopflerfish console (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><td>Serial port device</td></tr>
-<tr><td><a target="bundle_main" href="serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><td>Serial port device (API)</td></tr>
-<tr><td><a target="bundle_main" href="serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a></td><td><td>OSGi specified serviceloader service (API)</td></tr>
-<tr><td><a target="bundle_main" href="sslj2sp/sslj2sp-4.0.0.html">sslj2sp-4.0.0</a></td><td><td>SSL Provider using the Java 2 security architecture. (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a></td><td><td>OSGi specified subsytem service (API)</td></tr>
-<tr><td><a target="bundle_main" href="threadio/threadio-0.2.0.html">threadio-0.2.0</a></td><td><td>ThreadIO Service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><td>ThreadIO Service</td></tr>
-<tr><td><a target="bundle_main" href="threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><td>ThreadIO Service (API)</td></tr>
-<tr><td><a target="bundle_main" href="trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><td>Framework tray icon. Allows basic control of the framework using the windows system tray.</td></tr>
-<tr><td><a target="bundle_main" href="upnp/upnp_api-4.0.0.html">upnp_api-4.0.0</a></td><td><td>UPnP (API)</td></tr>
-<tr><td><a target="bundle_main" href="useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><td>User Administration Service (IMPL)</td></tr>
-<tr><td><a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><td>User Administration Service</td></tr>
-<tr><td><a target="bundle_main" href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><td>User Administration Service (API)</td></tr>
-<tr><td><a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a></td><td><td>Misc utilities (LIB)</td></tr>
-<tr><td><a target="bundle_main" href="wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a></td><td><td>WireAdmin (API)</td></tr>
-<tr><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td><td>The Apache Xalan-Java XML transformer</td></tr>
-<tr><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td><td>The Apache Xerces2 Java XML parser</td></tr>
-<tr><td><a target="bundle_main" href="xml/xml-4.0.0.html">xml-4.0.0</a></td><td><td>XML (LIB)</td></tr>
-
-    </table>
-  </p>
-
-</body>
-</html>
-
diff --git a/docs/jars/measurement/measurement-4.0.0.html b/docs/jars/measurement/measurement-4.0.0.html
deleted file mode 100644
index 049b83b..0000000
--- a/docs/jars/measurement/measurement-4.0.0.html
+++ /dev/null
@@ -1,204 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>measurement-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>measurement-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/measurement/measurement-4.0.0.jar">download</a> (9239 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>measurement-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.measurement-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Measurement API (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a> [1.0.0,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/measurement</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:measurement:4.0.0:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../measurement/measurement-4.0.0.html">measurement-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../measurement/measurement-4.0.0.html">measurement-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a></td></tr>
-<tr><td><a href="../position/position-4.0.0.html">position-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/src/org/osgi/util/measurement/Measurement.java">org/osgi/util/measurement/Measurement.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/src/org/osgi/util/measurement/State.java">org/osgi/util/measurement/State.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/src/org/osgi/util/measurement/Unit.java">org/osgi/util/measurement/Unit.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/measurement/src/org/osgi/util/measurement/package-info.java">org/osgi/util/measurement/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/metatype/metatype-4.0.0.html b/docs/jars/metatype/metatype-4.0.0.html
deleted file mode 100644
index 1fc1657..0000000
--- a/docs/jars/metatype/metatype-4.0.0.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>metatype-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>metatype-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/metatype/metatype-4.0.0.jar">download</a> (5291 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>metatype-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.metatype-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Metatype API (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/metatype/metatype_api</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:metatype:4.0.0:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/AttributeDefinition.java">org/osgi/service/metatype/AttributeDefinition.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/MetaTypeInformation.java">org/osgi/service/metatype/MetaTypeInformation.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/MetaTypeProvider.java">org/osgi/service/metatype/MetaTypeProvider.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/MetaTypeService.java">org/osgi/service/metatype/MetaTypeService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/ObjectClassDefinition.java">org/osgi/service/metatype/ObjectClassDefinition.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/metatype/metatype_api/src/org/osgi/service/metatype/package-info.java">org/osgi/service/metatype/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/monitor/monitor_api-4.0.0.html b/docs/jars/monitor/monitor_api-4.0.0.html
deleted file mode 100644
index 133c15a..0000000
--- a/docs/jars/monitor/monitor_api-4.0.0.html
+++ /dev/null
@@ -1,218 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>monitor_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>monitor_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/monitor/monitor_api-4.0.0.jar">download</a> (9454 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>monitor-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.monitor-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Monitor Admin API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/monitor/package-summary.html">org.osgi.service.monitor</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/monitor/package-summary.html">org.osgi.service.monitor</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:59</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/monitor</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:monitor:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../monitor/monitor_api-4.0.0.html">monitor_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/monitor/package-summary.html">org.osgi.service.monitor</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../monitor/monitor_api-4.0.0.html">monitor_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/monitor/package-summary.html">org.osgi.service.monitor</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/MonitorAdmin.java">org/osgi/service/monitor/MonitorAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/MonitorListener.java">org/osgi/service/monitor/MonitorListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/MonitorPermission.java">org/osgi/service/monitor/MonitorPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/Monitorable.java">org/osgi/service/monitor/Monitorable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/MonitoringJob.java">org/osgi/service/monitor/MonitoringJob.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/StatusVariable.java">org/osgi/service/monitor/StatusVariable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/monitor/src/org/osgi/service/monitor/package-info.java">org/osgi/service/monitor/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/namespace/namespace_api-1.0.0.html b/docs/jars/namespace/namespace_api-1.0.0.html
deleted file mode 100644
index dac8ce9..0000000
--- a/docs/jars/namespace/namespace_api-1.0.0.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>namespace_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>namespace_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/namespace/namespace_api-1.0.0.jar">download</a> (3654 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Namespace-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.namespace-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi Namespace (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/namespace/contract/package-summary.html">org.osgi.namespace.contract</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/namespace/extender/package-summary.html">org.osgi.namespace.extender</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/namespace/service/package-summary.html">org.osgi.namespace.service</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/namespace/contract/package-summary.html">org.osgi.namespace.contract</a> [1.0.0,1.1.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/namespace/extender/package-summary.html">org.osgi.namespace.extender</a> [1.0.0,1.1.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/namespace/service/package-summary.html">org.osgi.namespace.service</a> [1.0.0,1.1.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:25:53</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/namespace</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:namespace:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/namespace/contract/package-summary.html">org.osgi.namespace.contract</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/namespace/extender/package-summary.html">org.osgi.namespace.extender</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/namespace/service/package-summary.html">org.osgi.namespace.service</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/namespace/contract/package-summary.html">org.osgi.namespace.contract</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/namespace/extender/package-summary.html">org.osgi.namespace.extender</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/namespace/service/package-summary.html">org.osgi.namespace.service</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/contract/ContractNamespace.java">org/osgi/namespace/contract/ContractNamespace.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/contract/package-info.java">org/osgi/namespace/contract/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/extender/ExtenderNamespace.java">org/osgi/namespace/extender/ExtenderNamespace.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/extender/package-info.java">org/osgi/namespace/extender/package-info.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/service/ServiceNamespace.java">org/osgi/namespace/service/ServiceNamespace.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/namespace/src/org/osgi/namespace/service/package-info.java">org/osgi/namespace/service/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/package_list.html b/docs/jars/package_list.html
deleted file mode 100644
index 1aab2f2..0000000
--- a/docs/jars/package_list.html
+++ /dev/null
@@ -1,424 +0,0 @@
-<html>
-
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="style.css" rel="stylesheet" type="text/css">
-  <style type="text/css"> 
-      BODY {
-      background: #fff;
-      margin-top:    5px;
-      margin-left:  15px;
-      margin-right: 10px;
-      }
-
-      #package_list {
-        margin-left: 8px;
-      }
-
-      #package_list A {
-        color: #000;
-        text-decoration: none;
-      }
-	      
-      #package_list A:hover {
-        color: #805362;	      
-        text-decoration: underline;
-        font-weight:     bold;
-      }
-  </style>
-  <title>Knopflerfish Bundle Packages</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-  <div id="package_list">
-    <table>
-      <tr><th>Package</th><th>Provider(s)</th></tr>
-      <tr><td><a target="_top" href="../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> 2.0.0</td><td><a target="bundle_main" href="comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> 2.2.0</td><td><a target="bundle_main" href="rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a><br>
-</td></tr>
-<tr><td>javax.comm 2.0.0</td><td><a target="bundle_main" href="comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a><br>
-<a target="bundle_main" href="comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a><br>
-</td></tr>
-<tr><td>javax.microedition.io 0.0.0</td><td><a target="bundle_main" href="io/io_all-4.0.0.html">io_all-4.0.0</a><br>
-<a target="bundle_main" href="io/io_api-4.0.0.html">io_api-4.0.0</a><br>
-</td></tr>
-<tr><td>javax.servlet 2.5.0</td><td><a target="bundle_main" href="jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a><br>
-</td></tr>
-<tr><td>javax.servlet.http 2.5.0</td><td><a target="bundle_main" href="jsdk/jsdk_api-2.5.0.kf3-2.html">jsdk_api-2.5.0.kf3-2</a><br>
-</td></tr>
-<tr><td>javax.xml 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.datatype 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.namespace 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.parsers 1.2.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td>javax.xml.parsers 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.transform 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.transform 1.3.0.selectFirst</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.dom 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.dom 1.3.0.selectFirst</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.sax 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.sax 1.3.0.selectFirst</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.stream 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.transform.stream 1.3.0.selectFirst</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>javax.xml.validation 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>javax.xml.xpath 1.3.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>junit.framework 3.8.1</td><td><a target="bundle_main" href="junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a><br>
-</td></tr>
-<tr><td>net.jini.admin 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.core.discovery 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.core.entry 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.core.event 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.core.lease 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.core.lookup 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.discovery 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.lease 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.lookup 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.jini.lookup.entry 0.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td>net.n3.nanoxml 2.2.1</td><td><a target="bundle_main" href="kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/apache/commons/logging/package-summary.html">org.apache.commons.logging</a> 1.0.3</td><td><a target="bundle_main" href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a><br>
-</td></tr>
-<tr><td>org.apache.crimson.jaxp 0.0.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> 1.6.0</td><td><a target="bundle_main" href="component/component_all-5.0.3.html">component_all-5.0.3</a><br>
-<a target="bundle_main" href="component/component_api-5.0.3.html">component_api-5.0.3</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-</td></tr>
-<tr><td>org.apache.html.dom 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.wml 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.wml.dom 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xalan 0.0.0</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>org.apache.xalan.processor 0.0.0</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.dom 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.dom.events 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.dom3.as 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.jaxp 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.jaxp.datatype 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.jaxp.validation 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.parsers 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.util 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xinclude 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xni 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xni.grammars 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xni.parser 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xpointer 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xs 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xerces.xs.datatypes 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.resolver 1.2.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.resolver.apps 1.2.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.resolver.helpers 1.2.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.resolver.readers 1.2.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.resolver.tools 1.2.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.serialize 0.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xml.serializer 1.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.apache.xpath.jaxp 0.0.0</td><td><a target="bundle_main" href="xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> 2.1.2</td><td><a target="bundle_main" href="console/console_all-4.0.1.html">console_all-4.0.1</a><br>
-<a target="bundle_main" href="console/console_api-4.0.1.html">console_api-4.0.1</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> 2.2.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/dirdeployer/package-summary.html">org.knopflerfish.service.dirdeployer</a> 0.0.0</td><td><a target="bundle_main" href="dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a><br>
-<a target="bundle_main" href="dirdeployer/dirdeployer_api-4.0.1.html">dirdeployer_api-4.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/junit/package-summary.html">org.knopflerfish.service.junit</a> 1.0.0</td><td><a target="bundle_main" href="junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0</td><td><a target="bundle_main" href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="http/http_all-4.0.5.html">http_all-4.0.5</a><br>
-<a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a><br>
-<a target="bundle_main" href="log/log_all-5.0.0.html">log_all-5.0.0</a><br>
-<a target="bundle_main" href="log/log_api-5.0.0.html">log_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> 0.0.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> 1.0.0</td><td><a target="bundle_main" href="repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a><br>
-<a target="bundle_main" href="repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> 1.2.0</td><td><a target="bundle_main" href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a><br>
-<a target="bundle_main" href="repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a> 0.0.0</td><td><a target="bundle_main" href="serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a><br>
-<a target="bundle_main" href="serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> 1.0.0</td><td><a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> 1.0.0</td><td><a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/shared/cm/package-summary.html">org.knopflerfish.shared.cm</a> 1.1.0</td><td><a target="bundle_main" href="cm/cm_all-5.0.1.html">cm_all-5.0.1</a><br>
-<a target="bundle_main" href="cm/cm-5.0.1.html">cm-5.0.1</a><br>
-<a target="bundle_main" href="cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a><br>
-<a target="bundle_main" href="dirdeployer/dirdeployer_all-4.0.1.html">dirdeployer_all-4.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> 1.1.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> 1.0.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/util/metatype/package-summary.html">org.knopflerfish.util.metatype</a> 0.0.0</td><td><a target="bundle_main" href="kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a> 1.0.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a> 1.0.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="util/util-4.1.0.html">util-4.1.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/kdom/package-summary.html">org.kxml2.kdom</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/wap/package-summary.html">org.kxml2.wap</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/wap/syncml/package-summary.html">org.kxml2.wap.syncml</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/wap/wml/package-summary.html">org.kxml2.wap.wml</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/kxml2/wap/wv/package-summary.html">org.kxml2.wap.wv</a> 0.0.0</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/application/package-summary.html">org.osgi.application</a> 1.0.0</td><td><a target="bundle_main" href="foreignapplication/foreignapplication_api-4.0.0.html">foreignapplication_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 1.7.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/bundle/package-summary.html">org.osgi.framework.hooks.bundle</a> 1.1.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/resolver/package-summary.html">org.osgi.framework.hooks.resolver</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/service/package-summary.html">org.osgi.framework.hooks.service</a> 1.1.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/hooks/weaving/package-summary.html">org.osgi.framework.hooks.weaving</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/launch/package-summary.html">org.osgi.framework.launch</a> 1.1.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/namespace/package-summary.html">org.osgi.framework.namespace</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> 1.1.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/namespace/contract/package-summary.html">org.osgi.namespace.contract</a> 1.0.0</td><td><a target="bundle_main" href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/namespace/extender/package-summary.html">org.osgi.namespace.extender</a> 1.0.0</td><td><a target="bundle_main" href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/namespace/service/package-summary.html">org.osgi.namespace.service</a> 1.0.0</td><td><a target="bundle_main" href="namespace/namespace_api-1.0.0.html">namespace_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/application/package-summary.html">org.osgi.service.application</a> 1.1.0</td><td><a target="bundle_main" href="applicationadmin/applicationadmin_api-4.0.0.html">applicationadmin_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/blueprint/container/package-summary.html">org.osgi.service.blueprint.container</a> 1.0.2</td><td><a target="bundle_main" href="blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/blueprint/reflect/package-summary.html">org.osgi.service.blueprint.reflect</a> 1.0.1</td><td><a target="bundle_main" href="blueprint/blueprint_api-5.0.0.html">blueprint_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 1.5.0</td><td><a target="bundle_main" href="cm/cm_all-5.0.1.html">cm_all-5.0.1</a><br>
-<a target="bundle_main" href="cm/cm_api-5.0.1.html">cm_api-5.0.1</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/command/package-summary.html">org.osgi.service.command</a> 1.0.0</td><td><a target="bundle_main" href="command/command_all-0.2.html">command_all-0.2</a><br>
-<a target="bundle_main" href="command/command_api-0.2.html">command_api-0.2</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> 1.2.1</td><td><a target="bundle_main" href="component/component_all-5.0.3.html">component_all-5.0.3</a><br>
-<a target="bundle_main" href="component/component_api-5.0.3.html">component_api-5.0.3</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/component/annotations/package-summary.html">org.osgi.service.component.annotations</a> 1.2.0</td><td><a target="bundle_main" href="component_annotations/component_annotations_api-1.0.0.html">component_annotations_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/condpermadmin/package-summary.html">org.osgi.service.condpermadmin</a> 1.1.1</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/coordinator/package-summary.html">org.osgi.service.coordinator</a> 1.0.1</td><td><a target="bundle_main" href="coordinator/coordinator_api-1.0.0.html">coordinator_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/deploymentadmin/package-summary.html">org.osgi.service.deploymentadmin</a> 1.1.0</td><td><a target="bundle_main" href="deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/deploymentadmin/spi/package-summary.html">org.osgi.service.deploymentadmin.spi</a> 1.0.1</td><td><a target="bundle_main" href="deploymentadmin/deploymentadmin_api-4.0.0.html">deploymentadmin_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> 1.1.0</td><td><a target="bundle_main" href="device/device_all-4.0.1.html">device_all-4.0.1</a><br>
-<a target="bundle_main" href="device/device_api-4.0.1.html">device_api-4.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/dmt/package-summary.html">org.osgi.service.dmt</a> 2.0.1</td><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/dmt/notification/package-summary.html">org.osgi.service.dmt.notification</a> 2.0.0</td><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/dmt/notification/spi/package-summary.html">org.osgi.service.dmt.notification.spi</a> 2.0.0</td><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/dmt/security/package-summary.html">org.osgi.service.dmt.security</a> 2.0.0</td><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/dmt/spi/package-summary.html">org.osgi.service.dmt.spi</a> 2.0.0</td><td><a target="bundle_main" href="dmt/dmt_api-5.0.0.html">dmt_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> 1.3.0</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="event/event_all-4.0.1.html">event_all-4.0.1</a><br>
-<a target="bundle_main" href="event/event_api-4.0.1.html">event_api-4.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/http/package-summary.html">org.osgi.service.http</a> 1.2.1</td><td><a target="bundle_main" href="http/http_all-4.0.5.html">http_all-4.0.5</a><br>
-<a target="bundle_main" href="http/http_api-4.0.5.html">http_api-4.0.5</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/indexer/package-summary.html">org.osgi.service.indexer</a> 1.0.2</td><td><a target="bundle_main" href="repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/io/package-summary.html">org.osgi.service.io</a> 1.0.0</td><td><a target="bundle_main" href="io/io_all-4.0.0.html">io_all-4.0.0</a><br>
-<a target="bundle_main" href="io/io_api-4.0.0.html">io_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/jini/package-summary.html">org.osgi.service.jini</a> 1.0.0</td><td><a target="bundle_main" href="jinidriver/jinidriver_all-0.1.0.html">jinidriver_all-0.1.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> 1.3.0</td><td><a target="bundle_main" href="commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a><br>
-<a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="log/log_all-5.0.0.html">log_all-5.0.0</a><br>
-<a target="bundle_main" href="log/log_api-5.0.0.html">log_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/metatype/package-summary.html">org.osgi.service.metatype</a> 1.2.0</td><td><a target="bundle_main" href="metatype/metatype-4.0.0.html">metatype-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/monitor/package-summary.html">org.osgi.service.monitor</a> 1.0.0</td><td><a target="bundle_main" href="monitor/monitor_api-4.0.0.html">monitor_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/packageadmin/package-summary.html">org.osgi.service.packageadmin</a> 1.2.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/permissionadmin/package-summary.html">org.osgi.service.permissionadmin</a> 1.2.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> 1.1.1</td><td><a target="bundle_main" href="desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a><br>
-<a target="bundle_main" href="prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a><br>
-<a target="bundle_main" href="prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/provisioning/package-summary.html">org.osgi.service.provisioning</a> 1.2.0</td><td><a target="bundle_main" href="provisioning/provisioning_api-4.0.0.html">provisioning_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/remoteserviceadmin/package-summary.html">org.osgi.service.remoteserviceadmin</a> 1.0.1</td><td><a target="bundle_main" href="remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> 1.0.0</td><td><a target="bundle_main" href="repository/repository_api-1.0.0.html">repository_api-1.0.0</a><br>
-<a target="bundle_main" href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a> 1.0.1</td><td><a target="bundle_main" href="repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a><br>
-<a target="bundle_main" href="resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/serviceloader/package-summary.html">org.osgi.service.serviceloader</a> 1.0.0</td><td><a target="bundle_main" href="serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/startlevel/package-summary.html">org.osgi.service.startlevel</a> 1.1.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/subsystem/package-summary.html">org.osgi.service.subsystem</a> 1.0.0</td><td><a target="bundle_main" href="subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> 1.0.0</td><td><a target="bundle_main" href="threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a><br>
-<a target="bundle_main" href="threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/upnp/package-summary.html">org.osgi.service.upnp</a> 1.2.0</td><td><a target="bundle_main" href="upnp/upnp_api-4.0.0.html">upnp_api-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/url/package-summary.html">org.osgi.service.url</a> 1.0.0</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> 1.1.0</td><td><a target="bundle_main" href="useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a><br>
-<a target="bundle_main" href="useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/service/wireadmin/package-summary.html">org.osgi.service.wireadmin</a> 1.0.1</td><td><a target="bundle_main" href="wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a> 1.0.1</td><td><a target="bundle_main" href="measurement/measurement-4.0.0.html">measurement-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/util/position/package-summary.html">org.osgi.util.position</a> 1.0.1</td><td><a target="bundle_main" href="position/position-4.0.0.html">position-4.0.0</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> 1.5.1</td><td><a target="bundle_main" href="framework.html">framework</a><br>
-</td></tr>
-<tr><td><a target="_top" href="../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a> 1.0.1</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-<a target="bundle_main" href="xml/xml-4.0.0.html">xml-4.0.0</a><br>
-</td></tr>
-<tr><td>org.w3c.dom 2.0.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td>org.w3c.dom 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.bootstrap 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.css 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.events 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.html 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.ls 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.ranges 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.stylesheets 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.traversal 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.views 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.w3c.dom.xpath 3.0.0</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.xml.sax 2.0.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td>org.xml.sax 2.0.2</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.xml.sax.ext 1.0.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td>org.xml.sax.ext 2.0.2</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.xml.sax.helpers 2.0.0</td><td><a target="bundle_main" href="crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a><br>
-</td></tr>
-<tr><td>org.xml.sax.helpers 2.0.2</td><td><a target="bundle_main" href="xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a><br>
-</td></tr>
-<tr><td>org.xmlpull.v1 1.1.3.1</td><td><a target="bundle_main" href="kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a><br>
-</td></tr>
-
-    </table>
-  </div>
-</body>
-
-</html>
-
diff --git a/docs/jars/position/position-4.0.0.html b/docs/jars/position/position-4.0.0.html
deleted file mode 100644
index ca68404..0000000
--- a/docs/jars/position/position-4.0.0.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>position-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>position-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/position/position-4.0.0.jar">download</a> (4350 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>position-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.position-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Position API (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/util/position/package-summary.html">org.osgi.util.position</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/position/package-summary.html">org.osgi.util.position</a> [1.0.0,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:15</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/position</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/position/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/position/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:position:4.0.0:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../measurement/measurement-4.0.0.html">measurement-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/measurement/package-summary.html">org.osgi.util.measurement</a></td></tr>
-<tr><td><a href="../position/position-4.0.0.html">position-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/position/package-summary.html">org.osgi.util.position</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../position/position-4.0.0.html">position-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/position/package-summary.html">org.osgi.util.position</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/position/src/org/osgi/util/position/Position.java">org/osgi/util/position/Position.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/position/src/org/osgi/util/position/package-info.java">org/osgi/util/position/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/prefs/prefs_all-4.0.2.html b/docs/jars/prefs/prefs_all-4.0.2.html
deleted file mode 100644
index e380099..0000000
--- a/docs/jars/prefs/prefs_all-4.0.2.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>prefs_all-4.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>prefs_all-4.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/prefs/prefs_all-4.0.2.jar">download</a> (26716 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Prefs</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.prefs</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Preferences</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=prefs/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=prefs/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.prefs.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> 1.1.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> [1.1.0,1.2.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/prefs</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:prefs:4.0.2</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/Activator.java">org/knopflerfish/bundle/prefs/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesImpl.java">org/knopflerfish/bundle/prefs/PreferencesImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesServiceFactory.java">org/knopflerfish/bundle/prefs/PreferencesServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesServiceImpl.java">org/knopflerfish/bundle/prefs/PreferencesServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PrefsStorage.java">org/knopflerfish/bundle/prefs/PrefsStorage.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PrefsStorageFile.java">org/knopflerfish/bundle/prefs/PrefsStorageFile.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/BackingStoreException.java">org/osgi/service/prefs/BackingStoreException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/Preferences.java">org/osgi/service/prefs/Preferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/PreferencesService.java">org/osgi/service/prefs/PreferencesService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/package-info.java">org/osgi/service/prefs/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/prefs/prefs_api-4.0.2.html b/docs/jars/prefs/prefs_api-4.0.2.html
deleted file mode 100644
index 27b7308..0000000
--- a/docs/jars/prefs/prefs_api-4.0.2.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>prefs_api-4.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>prefs_api-4.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/prefs/prefs_api-4.0.2.jar">download</a> (3019 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Prefs-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.prefs-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Preferences (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=prefs/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=prefs/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> 1.1.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a> [1.1.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:32</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/prefs</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:prefs:4.0.2:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-<tr><td><a href="../prefs/prefs_api-4.0.2.html">prefs_api-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/prefs/package-summary.html">org.osgi.service.prefs</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/Activator.java">org/knopflerfish/bundle/prefs/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesImpl.java">org/knopflerfish/bundle/prefs/PreferencesImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesServiceFactory.java">org/knopflerfish/bundle/prefs/PreferencesServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PreferencesServiceImpl.java">org/knopflerfish/bundle/prefs/PreferencesServiceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PrefsStorage.java">org/knopflerfish/bundle/prefs/PrefsStorage.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/knopflerfish/bundle/prefs/PrefsStorageFile.java">org/knopflerfish/bundle/prefs/PrefsStorageFile.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/BackingStoreException.java">org/osgi/service/prefs/BackingStoreException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/Preferences.java">org/osgi/service/prefs/Preferences.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/PreferencesService.java">org/osgi/service/prefs/PreferencesService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/prefs/src/org/osgi/service/prefs/package-info.java">org/osgi/service/prefs/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/provisioning/provisioning_api-4.0.0.html b/docs/jars/provisioning/provisioning_api-4.0.0.html
deleted file mode 100644
index afb33b6..0000000
--- a/docs/jars/provisioning/provisioning_api-4.0.0.html
+++ /dev/null
@@ -1,193 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>provisioning_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>provisioning_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/provisioning/provisioning_api-4.0.0.jar">download</a> (2190 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>provisioning-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.provisioning-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Initial Provisioning (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/provisioning/package-summary.html">org.osgi.service.provisioning</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/provisioning/package-summary.html">org.osgi.service.provisioning</a> [1.2.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:43</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/provisioning</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/provisioning/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/provisioning/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:provisioning:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../provisioning/provisioning_api-4.0.0.html">provisioning_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/provisioning/package-summary.html">org.osgi.service.provisioning</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../provisioning/provisioning_api-4.0.0.html">provisioning_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/provisioning/package-summary.html">org.osgi.service.provisioning</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/provisioning/src/org/osgi/service/provisioning/ProvisioningService.java">org/osgi/service/provisioning/ProvisioningService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/provisioning/src/org/osgi/service/provisioning/package-info.java">org/osgi/service/provisioning/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/remotefw/remotefw_api-4.0.0.html b/docs/jars/remotefw/remotefw_api-4.0.0.html
deleted file mode 100644
index 871f067..0000000
--- a/docs/jars/remotefw/remotefw_api-4.0.0.html
+++ /dev/null
@@ -1,189 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>remotefw_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>remotefw_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/remotefw/remotefw_api-4.0.0.jar">download</a> (1696 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>RemoteFW-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.remotefw-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Remote Framework (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=remotefw/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=remotefw/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a> [0.0.0,1.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:19</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/remotefw</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remotefw/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remotefw/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:remotefw:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-<tr><td><a href="../remotefw/remotefw_api-4.0.0.html">remotefw_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/remotefw/package-summary.html">org.knopflerfish.service.remotefw</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remotefw/src/org/knopflerfish/service/remotefw/RemoteFramework.java">org/knopflerfish/service/remotefw/RemoteFramework.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/remoteserviceadmin/remoteserviceadmin_api-1.0.0.html b/docs/jars/remoteserviceadmin/remoteserviceadmin_api-1.0.0.html
deleted file mode 100644
index 3d62900..0000000
--- a/docs/jars/remoteserviceadmin/remoteserviceadmin_api-1.0.0.html
+++ /dev/null
@@ -1,245 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>remoteserviceadmin_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>remoteserviceadmin_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/remoteserviceadmin/remoteserviceadmin_api-1.0.0.jar">download</a> (20605 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Remote Service Admin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.remoteserviceadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi specified remote service admin service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/remoteserviceadmin/package-summary.html">org.osgi.service.remoteserviceadmin</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/remoteserviceadmin/package-summary.html">org.osgi.service.remoteserviceadmin</a> [1.0.1,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:02</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/remoteserviceadmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:remoteserviceadmin:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/remoteserviceadmin/package-summary.html">org.osgi.service.remoteserviceadmin</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../remoteserviceadmin/remoteserviceadmin_api-1.0.0.html">remoteserviceadmin_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/remoteserviceadmin/package-summary.html">org.osgi.service.remoteserviceadmin</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/EndpointDescription.java">org/osgi/service/remoteserviceadmin/EndpointDescription.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/EndpointListener.java">org/osgi/service/remoteserviceadmin/EndpointListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/EndpointPermission.java">org/osgi/service/remoteserviceadmin/EndpointPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/ExportReference.java">org/osgi/service/remoteserviceadmin/ExportReference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/ExportRegistration.java">org/osgi/service/remoteserviceadmin/ExportRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/ImportReference.java">org/osgi/service/remoteserviceadmin/ImportReference.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/ImportRegistration.java">org/osgi/service/remoteserviceadmin/ImportRegistration.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/RemoteConstants.java">org/osgi/service/remoteserviceadmin/RemoteConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/RemoteServiceAdmin.java">org/osgi/service/remoteserviceadmin/RemoteServiceAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/RemoteServiceAdminEvent.java">org/osgi/service/remoteserviceadmin/RemoteServiceAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/RemoteServiceAdminListener.java">org/osgi/service/remoteserviceadmin/RemoteServiceAdminListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/remoteserviceadmin/src/org/osgi/service/remoteserviceadmin/package-info.java">org/osgi/service/remoteserviceadmin/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repoindex_kf/repoindex_kf_all-1.0.1.html b/docs/jars/repoindex_kf/repoindex_kf_all-1.0.1.html
deleted file mode 100644
index ba8a8f4..0000000
--- a/docs/jars/repoindex_kf/repoindex_kf_all-1.0.1.html
+++ /dev/null
@@ -1,231 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repoindex_kf_all-1.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repoindex_kf_all-1.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repoindex_kf/repoindex_kf_all-1.0.1.jar">download</a> (19638 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>KF Resource Analyzer Extensions</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repository.index</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>KF Resource Analyzer Extensions</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.repository.index.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/indexer/package-summary.html">org.osgi.service.indexer</a> 1.0.2<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/indexer/package-summary.html">org.osgi.service.indexer</a> [1.0.2,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:00</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repoindex_kf</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repoindex_kf:1.0.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/indexer/package-summary.html">org.osgi.service.indexer</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repoindex_kf/repoindex_kf_all-1.0.1.html">repoindex_kf_all-1.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/indexer/package-summary.html">org.osgi.service.indexer</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/Activator.java">org/knopflerfish/bundle/repository/index/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/KnopflerfishExtentions.java">org/knopflerfish/bundle/repository/index/KnopflerfishExtentions.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/knopflerfish/bundle/repository/index/Util.java">org/knopflerfish/bundle/repository/index/Util.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/Builder.java">org/osgi/service/indexer/Builder.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/Capability.java">org/osgi/service/indexer/Capability.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/Namespaces.java">org/osgi/service/indexer/Namespaces.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/Requirement.java">org/osgi/service/indexer/Requirement.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/Resource.java">org/osgi/service/indexer/Resource.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/ResourceAnalyzer.java">org/osgi/service/indexer/ResourceAnalyzer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repoindex_kf/src/org/osgi/service/indexer/ResourceIndexer.java">org/osgi/service/indexer/ResourceIndexer.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repository/repository_api-1.0.0.html b/docs/jars/repository/repository_api-1.0.0.html
deleted file mode 100644
index 4874eab..0000000
--- a/docs/jars/repository/repository_api-1.0.0.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repository_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repository_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repository/repository_api-1.0.0.jar">download</a> (2728 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Repository-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repository-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Repository API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> [1.0.0,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:47</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repository_api</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repository:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api/src/org/osgi/service/repository/ContentNamespace.java">org/osgi/service/repository/ContentNamespace.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api/src/org/osgi/service/repository/Repository.java">org/osgi/service/repository/Repository.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api/src/org/osgi/service/repository/RepositoryContent.java">org/osgi/service/repository/RepositoryContent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_api/src/org/osgi/service/repository/package-info.java">org/osgi/service/repository/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repository_desktop/repository_desktop_all-1.1.1.html b/docs/jars/repository_desktop/repository_desktop_all-1.1.1.html
deleted file mode 100644
index 4e8c574..0000000
--- a/docs/jars/repository_desktop/repository_desktop_all-1.1.1.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repository_desktop_all-1.1.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repository_desktop_all-1.1.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repository_desktop/repository_desktop_all-1.1.1.jar">download</a> (75221 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Repository Desktop</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repository_desktop</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.1.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Knopflerfish desktop plugin visualizing OSGi Repository contents.</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/">http://www.knopflerfish.org/</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.repository_desktop.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.swing 0.0.0<br>
-javax.swing.event 0.0.0<br>
-javax.swing.table 0.0.0<br>
-javax.swing.tree 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a> [2.2.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;  objectClass:List<String>="org.knopflerfish.service.desktop.SwingBundleDisplayer";  org.knopflerfish.service.desktop.displayer.name=Repository</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:59</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repository_desktop</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td>Copyright (c) 2003-2013, KNOPFLERFISH project. All rights reserved.</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repository_desktop:1.1.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a [...]
-<tr><td><a href="../desktop/desktop_api-5.0.1.html">desktop_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/desktop/package-summary.html">org.knopflerfish.service.desktop</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../util/util-4.1.0.html">util-4.1.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/Activator.java">org/knopflerfish/bundle/repository_desktop/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/DefaultSwingBundleDisplayer.java">org/knopflerfish/bundle/repository_desktop/DefaultSwingBundleDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/DownloadableBundleRequirement.java">org/knopflerfish/bundle/repository_desktop/DownloadableBundleRequirement.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtml.java">org/knopflerfish/bundle/repository_desktop/NsToHtml.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlBundle.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlBundle.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlContent.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlContent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlEE.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlEE.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlGeneric.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlGeneric.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlHost.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlHost.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/NsToHtmlPackage.java">org/knopflerfish/bundle/repository_desktop/NsToHtmlPackage.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoriesTableModel.java">org/knopflerfish/bundle/repository_desktop/RepositoriesTableModel.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java">org/knopflerfish/bundle/repository_desktop/RepositoryDisplayer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_desktop/src/org/knopflerfish/bundle/repository_desktop/Util.java">org/knopflerfish/bundle/repository_desktop/Util.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repository_xml/repository_xml_all-1.0.2.html b/docs/jars/repository_xml/repository_xml_all-1.0.2.html
deleted file mode 100644
index 14af942..0000000
--- a/docs/jars/repository_xml/repository_xml_all-1.0.2.html
+++ /dev/null
@@ -1,246 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repository_xml_all-1.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repository_xml_all-1.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repository_xml/repository_xml_all-1.0.2.jar">download</a> (24041 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>repository xml</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repository.xml</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Xml Backed Repository</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.repository.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> 0.0.0<br>
-org.xmlpull.v1 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.Repository",osgi.service;objectClass:List<String>="org.knopflerfish.service.repository.XmlBackedRepositoryFactory"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:50</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repository_xml</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repository_xml:1.0.2</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../kxml/kxml-2.3.0.kf4-001.html">kxml-2.3.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/kxml2/io/package-summary.html">org.kxml2.io</a>, org.xmlpull.v1</td></tr>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/Activator.java">org/knopflerfish/bundle/repository/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/FactoryImpl.java">org/knopflerfish/bundle/repository/FactoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/RepositoryImpl.java">org/knopflerfish/bundle/repository/RepositoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java">org/knopflerfish/bundle/repository/xml/CapabilityImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/Data.java">org/knopflerfish/bundle/repository/xml/Data.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RepositoryXmlParser.java">org/knopflerfish/bundle/repository/xml/RepositoryXmlParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RequirementImpl.java">org/knopflerfish/bundle/repository/xml/RequirementImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/ResourceImpl.java">org/knopflerfish/bundle/repository/xml/ResourceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/service/repository/XmlBackedRepositoryFactory.java">org/knopflerfish/service/repository/XmlBackedRepositoryFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/service/repository/package-info.java">org/knopflerfish/service/repository/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repository_xml/repository_xml_api-1.0.2.html b/docs/jars/repository_xml/repository_xml_api-1.0.2.html
deleted file mode 100644
index 348b667..0000000
--- a/docs/jars/repository_xml/repository_xml_api-1.0.2.html
+++ /dev/null
@@ -1,234 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repository_xml_api-1.0.2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repository_xml_api-1.0.2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repository_xml/repository_xml_api-1.0.2.jar">download</a> (2056 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>repository xml-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repository.xml-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Xml Backed Repository (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.osgi.service.Repository",osgi.service;objectClass:List<String>="org.knopflerfish.service.repository.XmlBackedRepositoryFactory"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:50</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repository_xml</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repository_xml:1.0.2:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/Activator.java">org/knopflerfish/bundle/repository/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/FactoryImpl.java">org/knopflerfish/bundle/repository/FactoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/RepositoryImpl.java">org/knopflerfish/bundle/repository/RepositoryImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/CapabilityImpl.java">org/knopflerfish/bundle/repository/xml/CapabilityImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/Data.java">org/knopflerfish/bundle/repository/xml/Data.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RepositoryXmlParser.java">org/knopflerfish/bundle/repository/xml/RepositoryXmlParser.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/RequirementImpl.java">org/knopflerfish/bundle/repository/xml/RequirementImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/bundle/repository/xml/ResourceImpl.java">org/knopflerfish/bundle/repository/xml/ResourceImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/service/repository/XmlBackedRepositoryFactory.java">org/knopflerfish/service/repository/XmlBackedRepositoryFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repository_xml/src/org/knopflerfish/service/repository/package-info.java">org/knopflerfish/service/repository/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repositorycommands/repositorycommands-1.1.1.html b/docs/jars/repositorycommands/repositorycommands-1.1.1.html
deleted file mode 100644
index 8f96029..0000000
--- a/docs/jars/repositorycommands/repositorycommands-1.1.1.html
+++ /dev/null
@@ -1,202 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repositorycommands-1.1.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repositorycommands-1.1.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repositorycommands/repositorycommands-1.1.1.jar">download</a> (15643 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Repository-Commands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repositorycommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.1.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Repository commands (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=repositorycommands/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=repositorycommands/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.repositorycommands.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.0.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> [1.1.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.knopflerfish.service.console.CommandGroup"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:58</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repositorycommands</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorycommands/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorycommands/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repositorycommands:1.1.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/Activator.java">org/knopflerfish/bundle/repositorycommands/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorycommands/src/org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java">org/knopflerfish/bundle/repositorycommands/RepositoryCommandGroup.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repositorymanager/repositorymanager_all-1.2.0.html b/docs/jars/repositorymanager/repositorymanager_all-1.2.0.html
deleted file mode 100644
index 57389b3..0000000
--- a/docs/jars/repositorymanager/repositorymanager_all-1.2.0.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repositorymanager_all-1.2.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repositorymanager_all-1.2.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repositorymanager/repositorymanager_all-1.2.0.jar">download</a> (24908 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Repository-Manager</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repositorymanager</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Repository Manager</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org/index.html?docpage=repositorycommands/index.html</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.repositorymanager.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.knopflerfish.service.repositorymanager.RepositoryManager"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:53</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repositorymanager</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorymanager/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorymanager/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repositorymanager:1.2.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_api-1.0.2.html">repository_xml_api-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repository/package-summary.html">org.knopflerfish.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summar [...]
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/wiring/package-summary.html">org.osgi.framework.wiring</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summa [...]
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository/repository_api-1.0.0.html">repository_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_xml/repository_xml_all-1.0.2.html">repository_xml_all-1.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/repository/package-summary.html">org.osgi.service.repository</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summar [...]
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Activator.java">org/knopflerfish/bundle/repositorymanager/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Repositories.java">org/knopflerfish/bundle/repositorymanager/Repositories.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryListener.java">org/knopflerfish/bundle/repositorymanager/RepositoryListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java">org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java">org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/BasicRequirement.java">org/knopflerfish/service/repositorymanager/BasicRequirement.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryInfo.java">org/knopflerfish/service/repositorymanager/RepositoryInfo.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java">org/knopflerfish/service/repositorymanager/RepositoryManager.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/repositorymanager/repositorymanager_api-1.2.0.html b/docs/jars/repositorymanager/repositorymanager_api-1.2.0.html
deleted file mode 100644
index 8dc99a7..0000000
--- a/docs/jars/repositorymanager/repositorymanager_api-1.2.0.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>repositorymanager_api-1.2.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>repositorymanager_api-1.2.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/repositorymanager/repositorymanager_api-1.2.0.jar">download</a> (6850 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Repository-Manager-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.repositorymanager-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Repository Manager (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org/index.html?docpage=repositorycommands/index.html</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org">http://www.knopflerfish.org</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td>osgi.service;objectClass:List<String>="org.knopflerfish.service.repositorymanager.RepositoryManager"</td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:53</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/repository/repositorymanager</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorymanager/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repositorymanager/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:repositorymanager:1.2.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../repositorycommands/repositorycommands-1.1.1.html">repositorycommands-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-<tr><td><a href="../repositorymanager/repositorymanager_api-1.2.0.html">repositorymanager_api-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/repositorymanager/package-summary.html">org.knopflerfish.service.repositorymanager</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Activator.java">org/knopflerfish/bundle/repositorymanager/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/Repositories.java">org/knopflerfish/bundle/repositorymanager/Repositories.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryListener.java">org/knopflerfish/bundle/repositorymanager/RepositoryListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java">org/knopflerfish/bundle/repositorymanager/RepositoryManagerImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java">org/knopflerfish/bundle/repositorymanager/ResolveContextImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/BasicRequirement.java">org/knopflerfish/service/repositorymanager/BasicRequirement.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryInfo.java">org/knopflerfish/service/repositorymanager/RepositoryInfo.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/repository/repositorymanager/src/org/knopflerfish/service/repositorymanager/RepositoryManager.java">org/knopflerfish/service/repositorymanager/RepositoryManager.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/resolver/resolver_api-1.0.0.html b/docs/jars/resolver/resolver_api-1.0.0.html
deleted file mode 100644
index d811990..0000000
--- a/docs/jars/resolver/resolver_api-1.0.0.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>resolver_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>resolver_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/resolver/resolver_api-1.0.0.jar">download</a> (3846 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>resolver-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.resolver-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Resolver API (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a> [1.0.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:45</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/resolver/resolver_api</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:resolver:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-<tr><td><a href="../resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../repositorymanager/repositorymanager_all-1.2.0.html">repositorymanager_all-1.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-<tr><td><a href="../resolver/resolver_api-1.0.0.html">resolver_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/resolver/package-summary.html">org.osgi.service.resolver</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/resolver_api/src/org/osgi/service/resolver/HostedCapability.java">org/osgi/service/resolver/HostedCapability.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/resolver_api/src/org/osgi/service/resolver/ResolutionException.java">org/osgi/service/resolver/ResolutionException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/resolver_api/src/org/osgi/service/resolver/ResolveContext.java">org/osgi/service/resolver/ResolveContext.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/resolver_api/src/org/osgi/service/resolver/Resolver.java">org/osgi/service/resolver/Resolver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/resolver/resolver_api/src/org/osgi/service/resolver/package-info.java">org/osgi/service/resolver/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.html b/docs/jars/rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.html
deleted file mode 100644
index 8b08688..0000000
--- a/docs/jars/rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>rxtxcomm-linux-arm-2.1.7.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>rxtxcomm-linux-arm-2.1.7.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/rxtxcomm-linux-arm/rxtxcomm-linux-arm-2.1.7.1.jar">download</a> (167000 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>RXTXcomm-linux-arm-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.rxtxcomm-linux-arm-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.1.7.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>RXTX comm native driver for Linux/arm_le (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Piayda/RXTX</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:21</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/rxtxcomm-linux-arm</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-NativeCode</td>
- <td>librxtxI2C.so; librxtxParallel.so; librxtxRS485.so;librxtxRaw.so; librxtxSerial.so ;osname = Linux ;processor = arm_le; processor = armv4tl</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm-linux-arm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm-linux-arm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:rxtxcomm-linux-arm:2.1.7.1:lib</td>
-</tr>
-<tr>
- <td>Fragment-Host</td>
- <td>org.knopflerfish.bundle.rxtxcomm-API</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-None found
-
-</body>
-</html>
-
-
diff --git a/docs/jars/rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.html b/docs/jars/rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.html
deleted file mode 100644
index e2948e2..0000000
--- a/docs/jars/rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>rxtxcomm-linux-x86-2.2.0.pre2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>rxtxcomm-linux-x86-2.2.0.pre2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/rxtxcomm-linux-x86/rxtxcomm-linux-x86-2.2.0.pre2.jar">download</a> (91325 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>RXTXcomm-linux-x86-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.rxtxcomm-linux-x86-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.2.0.pre2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>RXTX comm native driver for Linux/x86 (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Piayda/RXTX</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:22</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/rxtxcomm-linux-x86</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-NativeCode</td>
- <td>librxtxParallel.so; librxtxSerial.so ;osname = Linux ;processor = x86</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm-linux-arm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm-linux-arm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:rxtxcomm-linux-x86:2.2.0.pre2:lib</td>
-</tr>
-<tr>
- <td>Fragment-Host</td>
- <td>org.knopflerfish.bundle.rxtxcomm-API</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-None found
-
-</body>
-</html>
-
-
diff --git a/docs/jars/rxtxcomm/rxtxcomm_api-2.2.0.pre2.html b/docs/jars/rxtxcomm/rxtxcomm_api-2.2.0.pre2.html
deleted file mode 100644
index 365e205..0000000
--- a/docs/jars/rxtxcomm/rxtxcomm_api-2.2.0.pre2.html
+++ /dev/null
@@ -1,345 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>rxtxcomm_api-2.2.0.pre2.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>rxtxcomm_api-2.2.0.pre2.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/rxtxcomm/rxtxcomm_api-2.2.0.pre2.jar">download</a> (66938 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>RXTXcomm-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.rxtxcomm-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.2.0.pre2</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>RXTX comm java library, requires native driver fragment (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Piayda/RXTX</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> 2.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a> [2.2.0,3.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/rxtxcomm</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:rxtxcomm:2.2.0.pre2:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a></td></tr>
-<tr><td><a href="../rxtxcomm/rxtxcomm_api-2.2.0.pre2.html">rxtxcomm_api-2.2.0.pre2</a></td><td><a target="_top" href="../../javadoc/index.html?gnu/io/package-summary.html">gnu.io</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/CommDriver.java">gnu/io/CommDriver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/CommPort.java">gnu/io/CommPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/CommPortEnumerator.java">gnu/io/CommPortEnumerator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/CommPortIdentifier.java">gnu/io/CommPortIdentifier.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/CommPortOwnershipListener.java">gnu/io/CommPortOwnershipListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/Configure.java">gnu/io/Configure.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/I2C.java">gnu/io/I2C.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/I2CPort.java">gnu/io/I2CPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/I2CPortEvent.java">gnu/io/I2CPortEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/I2CPortEventListener.java">gnu/io/I2CPortEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/LPRPort.java">gnu/io/LPRPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/NoSuchPortException.java">gnu/io/NoSuchPortException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/ParallelPort.java">gnu/io/ParallelPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/ParallelPortEvent.java">gnu/io/ParallelPortEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/ParallelPortEventListener.java">gnu/io/ParallelPortEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/PortInUseException.java">gnu/io/PortInUseException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RS485.java">gnu/io/RS485.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RS485Port.java">gnu/io/RS485Port.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RS485PortEvent.java">gnu/io/RS485PortEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RS485PortEventListener.java">gnu/io/RS485PortEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RXTXCommDriver.java">gnu/io/RXTXCommDriver.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RXTXPort.java">gnu/io/RXTXPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RXTXVersion.java">gnu/io/RXTXVersion.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/Raw.java">gnu/io/Raw.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RawPort.java">gnu/io/RawPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RawPortEvent.java">gnu/io/RawPortEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/RawPortEventListener.java">gnu/io/RawPortEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/SerialPort.java">gnu/io/SerialPort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/SerialPortEvent.java">gnu/io/SerialPortEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/SerialPortEventListener.java">gnu/io/SerialPortEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/UnSupportedLoggerException.java">gnu/io/UnSupportedLoggerException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/UnsupportedCommOperationException.java">gnu/io/UnsupportedCommOperationException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/rxtxcomm/src/gnu/io/Zystem.java">gnu/io/Zystem.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/scrcommands/scrcommands-4.0.1.html b/docs/jars/scrcommands/scrcommands-4.0.1.html
deleted file mode 100644
index a2aac11..0000000
--- a/docs/jars/scrcommands/scrcommands-4.0.1.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>scrcommands-4.0.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>scrcommands-4.0.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/scrcommands/scrcommands-4.0.1.jar">download</a> (14583 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>ScrCommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.scrcommands-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Provides SCR admin commands for the Knopflerfish console (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=scrcommands/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=scrcommands/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a> [2.1.0,3.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a> [1.2.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:37</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/scrcommands</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/scrcommands/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/scrcommands/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:scrcommands:4.0.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-<tr>
- <td>Service-Component</td>
- <td>OSGI-INF/service.xml</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../component/component_all-5.0.3.html">component_all-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../component/component_api-5.0.3.html">component_api-5.0.3</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../console/console_all-4.0.1.html">console_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../console/console_api-4.0.1.html">console_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/apache/felix/scr/package-summary.html">org.apache.felix.scr</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/console/package-summary.html">org.knopflerfish.service.console</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/component/package-summary.html">org.osgi.service.component</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/scrcommands/src/org/knopflerfish/bundle/scrcommands/ScrCommandGroup.java">org/knopflerfish/bundle/scrcommands/ScrCommandGroup.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/serialportdevice/serialportdevice_all-4.0.0.html b/docs/jars/serialportdevice/serialportdevice_all-4.0.0.html
deleted file mode 100644
index 27a5e94..0000000
--- a/docs/jars/serialportdevice/serialportdevice_all-4.0.0.html
+++ /dev/null
@@ -1,224 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>serialportdevice_all-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>serialportdevice_all-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/serialportdevice/serialportdevice_all-4.0.0.jar">download</a> (7658 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>serialportdevice</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.serialportdevice</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Serial port device</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.serial.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.comm 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/serialportdevice</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>device</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:serialportdevice:4.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/Activator.java">org/knopflerfish/bundle/serial/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/Config.java">org/knopflerfish/bundle/serial/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/SPD.java">org/knopflerfish/bundle/serial/SPD.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/service/serial/SerialPortDevice.java">org/knopflerfish/service/serial/SerialPortDevice.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/serialportdevice/serialportdevice_api-4.0.0.html b/docs/jars/serialportdevice/serialportdevice_api-4.0.0.html
deleted file mode 100644
index e8f3add..0000000
--- a/docs/jars/serialportdevice/serialportdevice_api-4.0.0.html
+++ /dev/null
@@ -1,211 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>serialportdevice_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>serialportdevice_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/serialportdevice/serialportdevice_api-4.0.0.jar">download</a> (1738 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>serialportdevice-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.serialportdevice-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Serial port device (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=serial</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.comm 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a> [0.0.0,1.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a> 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:30:11</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles_opt/serial/serialportdevice</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:serialportdevice:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../comm-linux/comm-linux_all-3.0.0.html">comm-linux_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../comm-win32/comm-win32_all-3.0.0.html">comm-win32_all-3.0.0</a></td><td>javax.comm</td></tr>
-<tr><td><a href="../device/device_all-4.0.1.html">device_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../device/device_api-4.0.1.html">device_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/device/package-summary.html">org.osgi.service.device</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_api-4.0.0.html">serialportdevice_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/serial/package-summary.html">org.knopflerfish.service.serial</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/Activator.java">org/knopflerfish/bundle/serial/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/Config.java">org/knopflerfish/bundle/serial/Config.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/bundle/serial/SPD.java">org/knopflerfish/bundle/serial/SPD.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles_opt/serial/serialportdevice/src/org/knopflerfish/service/serial/SerialPortDevice.java">org/knopflerfish/service/serial/SerialPortDevice.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/serviceloader/serviceloader_api-1.0.0.html b/docs/jars/serviceloader/serviceloader_api-1.0.0.html
deleted file mode 100644
index e4b24cb..0000000
--- a/docs/jars/serviceloader/serviceloader_api-1.0.0.html
+++ /dev/null
@@ -1,195 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>serviceloader_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>serviceloader_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/serviceloader/serviceloader_api-1.0.0.jar">download</a> (1977 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Service Loader-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.serviceloader-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi specified serviceloader service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/serviceloader/package-summary.html">org.osgi.service.serviceloader</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/serviceloader/package-summary.html">org.osgi.service.serviceloader</a> [1.0.0,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:05</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/serviceloader</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/serviceloader/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/serviceloader/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:serviceloader:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/serviceloader/package-summary.html">org.osgi.service.serviceloader</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/resource/package-summary.html">org.osgi.resource</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../serviceloader/serviceloader_api-1.0.0.html">serviceloader_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/serviceloader/package-summary.html">org.osgi.service.serviceloader</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/serviceloader/src/org/osgi/service/serviceloader/ServiceLoaderNamespace.java">org/osgi/service/serviceloader/ServiceLoaderNamespace.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/serviceloader/src/org/osgi/service/serviceloader/package-info.java">org/osgi/service/serviceloader/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/sslj2sp/sslj2sp-4.0.0.html b/docs/jars/sslj2sp/sslj2sp-4.0.0.html
deleted file mode 100644
index bbea6ee..0000000
--- a/docs/jars/sslj2sp/sslj2sp-4.0.0.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>sslj2sp-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>sslj2sp-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/sslj2sp/sslj2sp-4.0.0.jar">download</a> (17994 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>sslj2sp-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.sslj2sp-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>SSL Provider using the Java 2 security architecture. (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish/Oscar</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/sslj2sp/readme.txt">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/sslj2sp/readme.txt</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.ssl.j2sp.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.net.ssl 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a> [1.4.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.4))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:51</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/sslj2sp</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>service</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:sslj2sp:4.0.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../cm/cm_api-5.0.1.html">cm_api-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/cm/package-summary.html">org.osgi.service.cm</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/src/org/knopflerfish/bundle/ssl/j2sp/Activator.java">org/knopflerfish/bundle/ssl/j2sp/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/src/org/knopflerfish/bundle/ssl/j2sp/ConstsIf.java">org/knopflerfish/bundle/ssl/j2sp/ConstsIf.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/src/org/knopflerfish/bundle/ssl/j2sp/SslServiceFactory.java">org/knopflerfish/bundle/ssl/j2sp/SslServiceFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/sslj2sp/src/org/knopflerfish/bundle/ssl/j2sp/SslServiceWrapper.java">org/knopflerfish/bundle/ssl/j2sp/SslServiceWrapper.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/subsystem/subsystem_api-1.0.0.html b/docs/jars/subsystem/subsystem_api-1.0.0.html
deleted file mode 100644
index 79ce2b9..0000000
--- a/docs/jars/subsystem/subsystem_api-1.0.0.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>subsystem_api-1.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>subsystem_api-1.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/subsystem/subsystem_api-1.0.0.jar">download</a> (12485 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Subsystem-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.subsystem-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>1.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>OSGi specified subsytem service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/BSD-3-Clause;description="BSD 3-clause";link="http://www.knopflerfish.org/licenses/knopflerfish-1.txt"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/subsystem/package-summary.html">org.osgi.service.subsystem</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.7.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/subsystem/package-summary.html">org.osgi.service.subsystem</a> [1.0.0,1.1.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.5))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:07</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/subsystem</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:subsystem:1.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/subsystem/package-summary.html">org.osgi.service.subsystem</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../subsystem/subsystem_api-1.0.0.html">subsystem_api-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/subsystem/package-summary.html">org.osgi.service.subsystem</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/src/org/osgi/service/subsystem/Subsystem.java">org/osgi/service/subsystem/Subsystem.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/src/org/osgi/service/subsystem/SubsystemConstants.java">org/osgi/service/subsystem/SubsystemConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/src/org/osgi/service/subsystem/SubsystemException.java">org/osgi/service/subsystem/SubsystemException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/src/org/osgi/service/subsystem/SubsystemPermission.java">org/osgi/service/subsystem/SubsystemPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/subsystem/src/org/osgi/service/subsystem/package-info.java">org/osgi/service/subsystem/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/threadio/threadio-0.2.0.html b/docs/jars/threadio/threadio-0.2.0.html
deleted file mode 100644
index 1f4898b..0000000
--- a/docs/jars/threadio/threadio-0.2.0.html
+++ /dev/null
@@ -1,209 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>threadio-0.2.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>threadio-0.2.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/threadio/threadio-0.2.0.jar">download</a> (6211 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>threadio-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.threadio-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>ThreadIO Service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.threadio.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/threadio</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:threadio:0.2.0:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Activator.java">org/knopflerfish/bundle/threadio/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Streams.java">org/knopflerfish/bundle/threadio/Streams.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOFactory.java">org/knopflerfish/bundle/threadio/ThreadIOFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOImpl.java">org/knopflerfish/bundle/threadio/ThreadIOImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/osgi/service/threadio/ThreadIO.java">org/osgi/service/threadio/ThreadIO.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/threadio/threadio_all-0.2.0.html b/docs/jars/threadio/threadio_all-0.2.0.html
deleted file mode 100644
index bd76bbd..0000000
--- a/docs/jars/threadio/threadio_all-0.2.0.html
+++ /dev/null
@@ -1,214 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>threadio_all-0.2.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>threadio_all-0.2.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/threadio/threadio_all-0.2.0.jar">download</a> (7027 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>threadio</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.threadio</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>ThreadIO Service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.threadio.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/threadio</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:threadio:0.2.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio-0.2.0.html">threadio-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Activator.java">org/knopflerfish/bundle/threadio/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Streams.java">org/knopflerfish/bundle/threadio/Streams.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOFactory.java">org/knopflerfish/bundle/threadio/ThreadIOFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOImpl.java">org/knopflerfish/bundle/threadio/ThreadIOImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/osgi/service/threadio/ThreadIO.java">org/osgi/service/threadio/ThreadIO.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/threadio/threadio_api-0.2.0.html b/docs/jars/threadio/threadio_api-0.2.0.html
deleted file mode 100644
index 24eed83..0000000
--- a/docs/jars/threadio/threadio_api-0.2.0.html
+++ /dev/null
@@ -1,212 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>threadio_api-0.2.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>threadio_api-0.2.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/threadio/threadio_api-0.2.0.jar">download</a> (1653 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>threadio-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.threadio-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>0.2.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>ThreadIO Service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:26:17</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/threadio</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:threadio:0.2.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../command/command_all-0.2.html">command_all-0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_all-0.2.0.html">threadio_all-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio_api-0.2.0.html">threadio_api-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-<tr><td><a href="../threadio/threadio-0.2.0.html">threadio-0.2.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/threadio/package-summary.html">org.osgi.service.threadio</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Activator.java">org/knopflerfish/bundle/threadio/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/Streams.java">org/knopflerfish/bundle/threadio/Streams.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOFactory.java">org/knopflerfish/bundle/threadio/ThreadIOFactory.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/knopflerfish/bundle/threadio/ThreadIOImpl.java">org/knopflerfish/bundle/threadio/ThreadIOImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/threadio/src/org/osgi/service/threadio/ThreadIO.java">org/osgi/service/threadio/ThreadIO.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/trayicon_fw/trayicon_fw-4.0.0.html b/docs/jars/trayicon_fw/trayicon_fw-4.0.0.html
deleted file mode 100644
index dab31a0..0000000
--- a/docs/jars/trayicon_fw/trayicon_fw-4.0.0.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>trayicon_fw-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>trayicon_fw-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/trayicon_fw/trayicon_fw-4.0.0.jar">download</a> (13109 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>FW-Tray</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.trayicon_fw</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Framework tray icon. Allows basic control of the framework using the windows system tray.</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/trayicon/trayicon_fw/readme.txt">https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/trayicon/trayicon_fw/readme.txt</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.bundle.trayicons.framework.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a> [1.0.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=1.6))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:39</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/trayicon/trayicon_fw</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>management</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/trayicon/trayicon_fw/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/trayicon/trayicon_fw/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:trayicon_fw:4.0.0</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/framework/startlevel/package-summary.html">org.osgi.framework.startlevel</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-None found
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/trayicon/trayicon_fw/src/org/knopflerfish/bundle/trayicons/framework/Activator.java">org/knopflerfish/bundle/trayicons/framework/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/trayicon/trayicon_fw/src/org/knopflerfish/bundle/trayicons/framework/FrameworkTrayIcon.java">org/knopflerfish/bundle/trayicons/framework/FrameworkTrayIcon.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/upnp/upnp_api-4.0.0.html b/docs/jars/upnp/upnp_api-4.0.0.html
deleted file mode 100644
index 77a457a..0000000
--- a/docs/jars/upnp/upnp_api-4.0.0.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>upnp_api-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>upnp_api-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/upnp/upnp_api-4.0.0.jar">download</a> (5849 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>upnp-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.upnp-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>UPnP (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/upnp/package-summary.html">org.osgi.service.upnp</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/upnp/package-summary.html">org.osgi.service.upnp</a> [1.2.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:29:40</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/upnp</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:upnp:4.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../upnp/upnp_api-4.0.0.html">upnp_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/upnp/package-summary.html">org.osgi.service.upnp</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../upnp/upnp_api-4.0.0.html">upnp_api-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/upnp/package-summary.html">org.osgi.service.upnp</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPAction.java">org/osgi/service/upnp/UPnPAction.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPDevice.java">org/osgi/service/upnp/UPnPDevice.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPEventListener.java">org/osgi/service/upnp/UPnPEventListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPException.java">org/osgi/service/upnp/UPnPException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPIcon.java">org/osgi/service/upnp/UPnPIcon.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPLocalStateVariable.java">org/osgi/service/upnp/UPnPLocalStateVariable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPService.java">org/osgi/service/upnp/UPnPService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/UPnPStateVariable.java">org/osgi/service/upnp/UPnPStateVariable.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/upnp/src/org/osgi/service/upnp/package-info.java">org/osgi/service/upnp/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/useradmin/useradmin-4.1.1.html b/docs/jars/useradmin/useradmin-4.1.1.html
deleted file mode 100644
index 3c576ae..0000000
--- a/docs/jars/useradmin/useradmin-4.1.1.html
+++ /dev/null
@@ -1,381 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>useradmin-4.1.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>useradmin-4.1.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/useradmin/useradmin-4.1.1.jar">download</a> (36390 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>UserAdmin-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.useradmin-IMPL</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.1.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>User Administration Service (IMPL)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.service.um.useradmin.impl.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:56</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/useradmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:useradmin:4.1.1:impl</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.servi [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/IPAMValuationService.java">org/knopflerfish/service/um/ipam/IPAMValuationService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/Levels.java">org/knopflerfish/service/um/ipam/Levels.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndControl.java">org/knopflerfish/service/um/useradmin/BackEndControl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndException.java">org/knopflerfish/service/um/useradmin/BackEndException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/Condition.java">org/knopflerfish/service/um/useradmin/Condition.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/ContextualAuthorization.java">org/knopflerfish/service/um/useradmin/ContextualAuthorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java">org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdSession.java">org/knopflerfish/service/um/useradmin/PasswdSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdUtil.java">org/knopflerfish/service/um/useradmin/PasswdUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/Activator.java">org/knopflerfish/service/um/useradmin/impl/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java">org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java">org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/EventQueue.java">org/knopflerfish/service/um/useradmin/impl/EventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/GroupImpl.java">org/knopflerfish/service/um/useradmin/impl/GroupImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java">org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/RoleImpl.java">org/knopflerfish/service/um/useradmin/impl/RoleImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java">org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UACredentials.java">org/knopflerfish/service/um/useradmin/impl/UACredentials.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UAProperties.java">org/knopflerfish/service/um/useradmin/impl/UAProperties.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java">org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserImpl.java">org/knopflerfish/service/um/useradmin/impl/UserImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Authorization.java">org/osgi/service/useradmin/Authorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Group.java">org/osgi/service/useradmin/Group.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Role.java">org/osgi/service/useradmin/Role.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/User.java">org/osgi/service/useradmin/User.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdmin.java">org/osgi/service/useradmin/UserAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminEvent.java">org/osgi/service/useradmin/UserAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminListener.java">org/osgi/service/useradmin/UserAdminListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminPermission.java">org/osgi/service/useradmin/UserAdminPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/package-info.java">org/osgi/service/useradmin/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/useradmin/useradmin_all-4.1.1.html b/docs/jars/useradmin/useradmin_all-4.1.1.html
deleted file mode 100644
index 6d37ba5..0000000
--- a/docs/jars/useradmin/useradmin_all-4.1.1.html
+++ /dev/null
@@ -1,387 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>useradmin_all-4.1.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>useradmin_all-4.1.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/useradmin/useradmin_all-4.1.1.jar">download</a> (50025 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>UserAdmin</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.useradmin</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.1.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>User Administration Service</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.knopflerfish.service.um.useradmin.impl.Activator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> 1.2.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a> [1.2.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a> [1.3.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,1.2.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a> [1.5.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:56</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/useradmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:useradmin:4.1.1</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../event/event_api-4.0.1.html">event_api-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/event/package-summary.html">org.osgi.service.event</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.servi [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/util/tracker/package-summary.html">org.osgi.util.tracker</a></td></tr>
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/log/package-summary.html">org.osgi.service.log</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator_all-4.0.0.html">basicdriverlocator_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../basicdriverlocator/basicdriverlocator-4.0.0.html">basicdriverlocator-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm_all-5.0.1.html">cm_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm/cm-5.0.1.html">cm-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop_all-5.0.2.html">cm_desktop_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../cm_desktop/cm_desktop-5.0.2.html">cm_desktop-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../commons-logging/commons-logging_all-2.0.0.kf4-001.html">commons-logging_all-2.0.0.kf4-001</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.us [...]
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm_all-1.0.0.html">desktop_jvm_all-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../desktop_jvm/desktop_jvm-1.0.0.html">desktop_jvm-1.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../event/event_all-4.0.1.html">event_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http_all-4.0.5.html">http_all-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../http/http-4.0.5.html">http-4.0.5</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../httproot/httproot-4.0.0.html">httproot-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../logcommands/logcommands-5.0.0.html">logcommands-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../serialportdevice/serialportdevice_all-4.0.0.html">serialportdevice_all-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../trayicon_fw/trayicon_fw-4.0.0.html">trayicon_fw-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.servi [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.us [...]
-<tr><td><a href="../log/log_all-5.0.0.html">log_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log_api-5.0.0.html">log_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-<tr><td><a href="../log/log-5.0.0.html">log-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/log/package-summary.html">org.knopflerfish.service.log</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/IPAMValuationService.java">org/knopflerfish/service/um/ipam/IPAMValuationService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/Levels.java">org/knopflerfish/service/um/ipam/Levels.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndControl.java">org/knopflerfish/service/um/useradmin/BackEndControl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndException.java">org/knopflerfish/service/um/useradmin/BackEndException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/Condition.java">org/knopflerfish/service/um/useradmin/Condition.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/ContextualAuthorization.java">org/knopflerfish/service/um/useradmin/ContextualAuthorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java">org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdSession.java">org/knopflerfish/service/um/useradmin/PasswdSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdUtil.java">org/knopflerfish/service/um/useradmin/PasswdUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/Activator.java">org/knopflerfish/service/um/useradmin/impl/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java">org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java">org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/EventQueue.java">org/knopflerfish/service/um/useradmin/impl/EventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/GroupImpl.java">org/knopflerfish/service/um/useradmin/impl/GroupImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java">org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/RoleImpl.java">org/knopflerfish/service/um/useradmin/impl/RoleImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java">org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UACredentials.java">org/knopflerfish/service/um/useradmin/impl/UACredentials.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UAProperties.java">org/knopflerfish/service/um/useradmin/impl/UAProperties.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java">org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserImpl.java">org/knopflerfish/service/um/useradmin/impl/UserImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Authorization.java">org/osgi/service/useradmin/Authorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Group.java">org/osgi/service/useradmin/Group.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Role.java">org/osgi/service/useradmin/Role.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/User.java">org/osgi/service/useradmin/User.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdmin.java">org/osgi/service/useradmin/UserAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminEvent.java">org/osgi/service/useradmin/UserAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminListener.java">org/osgi/service/useradmin/UserAdminListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminPermission.java">org/osgi/service/useradmin/UserAdminPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/package-info.java">org/osgi/service/useradmin/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/useradmin/useradmin_api-4.1.1.html b/docs/jars/useradmin/useradmin_api-4.1.1.html
deleted file mode 100644
index 22a896f..0000000
--- a/docs/jars/useradmin/useradmin_api-4.1.1.html
+++ /dev/null
@@ -1,349 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>useradmin_api-4.1.1.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>useradmin_api-4.1.1.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/useradmin/useradmin_api-4.1.1.jar">download</a> (15225 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>UserAdmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.useradmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.1.1</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>User Administration Service (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> 1.1.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a> [1.0.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a> [1.1.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:56</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/useradmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-Icon</td>
- <td>icon.png;size=32</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:useradmin:4.1.1:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../consoletcp/consoletcp_all-5.0.0.html">consoletcp_all-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../consoletcp/consoletcp-5.0.0.html">consoletcp-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../consoletelnet/consoletelnet-4.0.1.html">consoletelnet-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.useradmin</a></td></tr>
-<tr><td><a href="../useradmin/useradmin_all-4.1.1.html">useradmin_all-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin_api-4.1.1.html">useradmin_api-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.servic [...]
-<tr><td><a href="../useradmin/useradmin-4.1.1.html">useradmin-4.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/ipam/package-summary.html">org.knopflerfish.service.um.ipam</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/service/um/useradmin/package-summary.html">org.knopflerfish.service.um.useradmin</a>, <a target="_top" href="../../javadoc/index.html?org/osgi/service/useradmin/package-summary.html">org.osgi.service.userad [...]
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/IPAMValuationService.java">org/knopflerfish/service/um/ipam/IPAMValuationService.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/ipam/Levels.java">org/knopflerfish/service/um/ipam/Levels.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndControl.java">org/knopflerfish/service/um/useradmin/BackEndControl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/BackEndException.java">org/knopflerfish/service/um/useradmin/BackEndException.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/Condition.java">org/knopflerfish/service/um/useradmin/Condition.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/ContextualAuthorization.java">org/knopflerfish/service/um/useradmin/ContextualAuthorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java">org/knopflerfish/service/um/useradmin/PasswdAuthenticator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdSession.java">org/knopflerfish/service/um/useradmin/PasswdSession.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/PasswdUtil.java">org/knopflerfish/service/um/useradmin/PasswdUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/Activator.java">org/knopflerfish/service/um/useradmin/impl/Activator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java">org/knopflerfish/service/um/useradmin/impl/AuthorizationImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java">org/knopflerfish/service/um/useradmin/impl/ConditionImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/EventQueue.java">org/knopflerfish/service/um/useradmin/impl/EventQueue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/GroupImpl.java">org/knopflerfish/service/um/useradmin/impl/GroupImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java">org/knopflerfish/service/um/useradmin/impl/LDAPQuery.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/RoleImpl.java">org/knopflerfish/service/um/useradmin/impl/RoleImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java">org/knopflerfish/service/um/useradmin/impl/SendUserAdminEventJob.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UACredentials.java">org/knopflerfish/service/um/useradmin/impl/UACredentials.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UAProperties.java">org/knopflerfish/service/um/useradmin/impl/UAProperties.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java">org/knopflerfish/service/um/useradmin/impl/UserAdminImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/knopflerfish/service/um/useradmin/impl/UserImpl.java">org/knopflerfish/service/um/useradmin/impl/UserImpl.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Authorization.java">org/osgi/service/useradmin/Authorization.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Group.java">org/osgi/service/useradmin/Group.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/Role.java">org/osgi/service/useradmin/Role.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/User.java">org/osgi/service/useradmin/User.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdmin.java">org/osgi/service/useradmin/UserAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminEvent.java">org/osgi/service/useradmin/UserAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminListener.java">org/osgi/service/useradmin/UserAdminListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/UserAdminPermission.java">org/osgi/service/useradmin/UserAdminPermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/useradmin/src/org/osgi/service/useradmin/package-info.java">org/osgi/service/useradmin/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/util/util-4.1.0.html b/docs/jars/util/util-4.1.0.html
deleted file mode 100644
index d251d76..0000000
--- a/docs/jars/util/util-4.1.0.html
+++ /dev/null
@@ -1,297 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>util-4.1.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>util-4.1.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/util/util-4.1.0.jar">download</a> (47278 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>util-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.util-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.1.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>Misc utilities (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a> 1.1.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a> 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/workerthread/package-summary.html">org.knopflerfish.util.workerthread</a> 1.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:25:56</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/util</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>Knopflerfish</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>utility</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:util:4.1.0:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../cm_cmd/cm_cmd-5.0.1.html">cm_cmd-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a></td></tr>
-<tr><td><a href="../desktop/desktop_all-5.0.1.html">desktop_all-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/sort/package-summary.html">org.knopflerfish.util.sort</a>, <a target="_top" href=" [...]
-<tr><td><a href="../desktop/desktop-5.0.1.html">desktop-5.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a>, <a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td></tr>
-<tr><td><a href="../httpconsole/httpconsole_all-4.0.1.html">httpconsole_all-4.0.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../kf_metatype/kf_metatype_all-5.0.2.html">kf_metatype_all-5.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../prefs/prefs_all-4.0.2.html">prefs_all-4.0.2</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/package-summary.html">org.knopflerfish.util</a></td></tr>
-<tr><td><a href="../repository_desktop/repository_desktop_all-1.1.1.html">repository_desktop_all-1.1.1</a></td><td><a target="_top" href="../../javadoc/index.html?org/knopflerfish/util/framework/package-summary.html">org.knopflerfish.util.framework</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Base64.java">org/knopflerfish/util/Base64.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/ByteArray.java">org/knopflerfish/util/ByteArray.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/CacheMap.java">org/knopflerfish/util/CacheMap.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/CachedObject.java">org/knopflerfish/util/CachedObject.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/ClassLoaderUtil.java">org/knopflerfish/util/ClassLoaderUtil.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Compare.java">org/knopflerfish/util/Compare.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Dict.java">org/knopflerfish/util/Dict.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Lists.java">org/knopflerfish/util/Lists.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Queue.java">org/knopflerfish/util/Queue.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Semaphore.java">org/knopflerfish/util/Semaphore.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Text.java">org/knopflerfish/util/Text.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/Timer.java">org/knopflerfish/util/Timer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/framework/Alias.java">org/knopflerfish/util/framework/Alias.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/framework/ExecutableBundleActivator.java">org/knopflerfish/util/framework/ExecutableBundleActivator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/framework/VersionRange.java">org/knopflerfish/util/framework/VersionRange.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/sort/CompareFunc.java">org/knopflerfish/util/sort/CompareFunc.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/sort/QSort.java">org/knopflerfish/util/sort/QSort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/sort/Sort.java">org/knopflerfish/util/sort/Sort.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/workerthread/Job.java">org/knopflerfish/util/workerthread/Job.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/workerthread/RepeatingJob.java">org/knopflerfish/util/workerthread/RepeatingJob.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/util/src/org/knopflerfish/util/workerthread/WorkerThread.java">org/knopflerfish/util/workerthread/WorkerThread.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/wireadmin/wireadmin_api-5.0.0.html b/docs/jars/wireadmin/wireadmin_api-5.0.0.html
deleted file mode 100644
index 00b1edd..0000000
--- a/docs/jars/wireadmin/wireadmin_api-5.0.0.html
+++ /dev/null
@@ -1,240 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>wireadmin_api-5.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>wireadmin_api-5.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/wireadmin/wireadmin_api-5.0.0.jar">download</a> (10209 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>wireadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.wireadmin-API</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>5.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>WireAdmin (API)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td>http://opensource.org/licenses/Apache-2.0;link="http://www.apache.org/licenses/LICENSE-2.0";description="Apache License, Version 2.0"</td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/service/wireadmin/package-summary.html">org.osgi.service.wireadmin</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/service/wireadmin/package-summary.html">org.osgi.service.wireadmin</a> [1.0.1,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:28:24</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/wireadmin</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>API</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:wireadmin:5.0.0:api</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/wireadmin/package-summary.html">org.osgi.service.wireadmin</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../wireadmin/wireadmin_api-5.0.0.html">wireadmin_api-5.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/service/wireadmin/package-summary.html">org.osgi.service.wireadmin</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/BasicEnvelope.java">org/osgi/service/wireadmin/BasicEnvelope.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/Consumer.java">org/osgi/service/wireadmin/Consumer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/Envelope.java">org/osgi/service/wireadmin/Envelope.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/Producer.java">org/osgi/service/wireadmin/Producer.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/Wire.java">org/osgi/service/wireadmin/Wire.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/WireAdmin.java">org/osgi/service/wireadmin/WireAdmin.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/WireAdminEvent.java">org/osgi/service/wireadmin/WireAdminEvent.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/WireAdminListener.java">org/osgi/service/wireadmin/WireAdminListener.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/WireConstants.java">org/osgi/service/wireadmin/WireConstants.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/WirePermission.java">org/osgi/service/wireadmin/WirePermission.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/wireadmin/src/org/osgi/service/wireadmin/package-info.java">org/osgi/service/wireadmin/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/xalan/xalan-2.7.1.kf3_01.html b/docs/jars/xalan/xalan-2.7.1.kf3_01.html
deleted file mode 100644
index 35dc4d5..0000000
--- a/docs/jars/xalan/xalan-2.7.1.kf3_01.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>xalan-2.7.1.kf3_01.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>xalan-2.7.1.kf3_01.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/xalan/xalan-2.7.1.kf3_01.jar">download</a> (1804820 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Xalan</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.xalan</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.7.1.kf3_01</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Apache Xalan-Java XML transformer</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Apache/Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xalan/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xalan/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.osgi.util.xml.XMLTransformerActivator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,xml-apis.jar,xalan.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.xml.transform 1.3.0.selectFirst<br>
-javax.xml.transform.dom 1.3.0.selectFirst<br>
-javax.xml.transform.sax 1.3.0.selectFirst<br>
-javax.xml.transform.stream 1.3.0.selectFirst<br>
-org.apache.xalan 0.0.0<br>
-org.apache.xalan.processor 0.0.0<br>
-org.apache.xpath.jaxp 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.naming 0.0.0<br>
-javax.xml.namespace 1.3.0<br>
-javax.xml.parsers 1.3.0<br>
-javax.xml.transform 1.3.0<br>
-javax.xml.transform.dom 1.3.0<br>
-javax.xml.transform.sax 1.3.0<br>
-javax.xml.transform.stream 1.3.0<br>
-javax.xml.xpath 1.3.0<br>
-org.apache.xalan 0.0.0<br>
-org.apache.xalan.processor 0.0.0<br>
-org.apache.xerces.parsers 0.0.0<br>
-org.apache.xml.serialize 0.0.0<br>
-org.apache.xml.serializer 0.0.0<br>
-org.apache.xpath.jaxp 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-org.w3c.dom 0.0.0<br>
-org.w3c.dom.events 0.0.0<br>
-org.w3c.dom.traversal 0.0.0<br>
-org.w3c.dom.xpath 0.0.0<br>
-org.xml.sax 0.0.0<br>
-org.xml.sax.ext 0.0.0<br>
-org.xml.sax.helpers 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:37</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/xml/xalan</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>lib</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td><a target="_top" href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xalan/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xalan/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:xalan:2.7.1.kf3_01</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td>javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, org.apache.xalan, org.apache.xalan.processor, org.apache.xpath.jaxp</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml.namespace, javax.xml.parsers, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, javax.xml.xpath, org.apache.xerces.parsers, org.apache.xml.serialize, org.apache.xml.serializer, org.w3c.dom, org.w3c.dom.events, org.w3c.dom.traversal, org.w3c.dom.xpath, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td>javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, org.apache.xalan, org.apache.xalan.processor, org.apache.xpath.jaxp</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xalan/src/org/osgi/util/xml/XMLTransformerActivator.java">org/osgi/util/xml/XMLTransformerActivator.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/jars/xerces/xerces-2.10.1.kf5.html b/docs/jars/xerces/xerces-2.10.1.kf5.html
deleted file mode 100644
index 0a4c0f8..0000000
--- a/docs/jars/xerces/xerces-2.10.1.kf5.html
+++ /dev/null
@@ -1,292 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>xerces-2.10.1.kf5.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>xerces-2.10.1.kf5.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/xerces/xerces-2.10.1.kf5.jar">download</a> (1619502 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>Xerces-J</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.xerces</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>2.10.1.kf5</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>The Apache Xerces2 Java XML parser</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Apache/Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xerces/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xerces/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td>org.osgi.util.xml.XMLParserActivator</td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.,xercesImpl.jar,xml-apis.jar,resolver.jar,serializer.jar</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td>javax.xml 1.3.0<br>
-javax.xml.datatype 1.3.0<br>
-javax.xml.namespace 1.3.0<br>
-javax.xml.parsers 1.3.0<br>
-javax.xml.transform 1.3.0<br>
-javax.xml.transform.dom 1.3.0<br>
-javax.xml.transform.sax 1.3.0<br>
-javax.xml.transform.stream 1.3.0<br>
-javax.xml.validation 1.3.0<br>
-javax.xml.xpath 1.3.0<br>
-org.apache.html.dom 0.0.0<br>
-org.apache.wml 0.0.0<br>
-org.apache.wml.dom 0.0.0<br>
-org.apache.xerces.dom 0.0.0<br>
-org.apache.xerces.dom.events 0.0.0<br>
-org.apache.xerces.dom3.as 0.0.0<br>
-org.apache.xerces.jaxp 0.0.0<br>
-org.apache.xerces.jaxp.datatype 0.0.0<br>
-org.apache.xerces.jaxp.validation 0.0.0<br>
-org.apache.xerces.parsers 0.0.0<br>
-org.apache.xerces.util 0.0.0<br>
-org.apache.xerces.xinclude 0.0.0<br>
-org.apache.xerces.xni 0.0.0<br>
-org.apache.xerces.xni.grammars 0.0.0<br>
-org.apache.xerces.xni.parser 0.0.0<br>
-org.apache.xerces.xpointer 0.0.0<br>
-org.apache.xerces.xs 0.0.0<br>
-org.apache.xerces.xs.datatypes 0.0.0<br>
-org.apache.xml.resolver 1.2.0<br>
-org.apache.xml.resolver.apps 1.2.0<br>
-org.apache.xml.resolver.helpers 1.2.0<br>
-org.apache.xml.resolver.readers 1.2.0<br>
-org.apache.xml.resolver.tools 1.2.0<br>
-org.apache.xml.serialize 0.0.0<br>
-org.apache.xml.serializer 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a> 1.0.1<br>
-org.w3c.dom 3.0.0<br>
-org.w3c.dom.bootstrap 3.0.0<br>
-org.w3c.dom.css 3.0.0<br>
-org.w3c.dom.events 3.0.0<br>
-org.w3c.dom.html 3.0.0<br>
-org.w3c.dom.ls 3.0.0<br>
-org.w3c.dom.ranges 3.0.0<br>
-org.w3c.dom.stylesheets 3.0.0<br>
-org.w3c.dom.traversal 3.0.0<br>
-org.w3c.dom.views 3.0.0<br>
-org.w3c.dom.xpath 3.0.0<br>
-org.xml.sax 2.0.2<br>
-org.xml.sax.ext 2.0.2<br>
-org.xml.sax.helpers 2.0.2<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.xml 1.3.0<br>
-javax.xml.datatype 1.3.0<br>
-javax.xml.namespace 1.3.0<br>
-javax.xml.parsers 1.3.0<br>
-javax.xml.transform 1.3.0<br>
-javax.xml.transform.dom 1.3.0<br>
-javax.xml.transform.sax 1.3.0<br>
-javax.xml.transform.stream 1.3.0<br>
-javax.xml.validation 1.3.0<br>
-javax.xml.xpath 1.3.0<br>
-org.apache.html.dom 0.0.0<br>
-org.apache.wml 0.0.0<br>
-org.apache.wml.dom 0.0.0<br>
-org.apache.xerces.dom 0.0.0<br>
-org.apache.xerces.dom.events 0.0.0<br>
-org.apache.xerces.dom3.as 0.0.0<br>
-org.apache.xerces.jaxp 0.0.0<br>
-org.apache.xerces.jaxp.datatype 0.0.0<br>
-org.apache.xerces.jaxp.validation 0.0.0<br>
-org.apache.xerces.parsers 0.0.0<br>
-org.apache.xerces.util 0.0.0<br>
-org.apache.xerces.xinclude 0.0.0<br>
-org.apache.xerces.xni 0.0.0<br>
-org.apache.xerces.xni.grammars 0.0.0<br>
-org.apache.xerces.xni.parser 0.0.0<br>
-org.apache.xerces.xpointer 0.0.0<br>
-org.apache.xerces.xs 0.0.0<br>
-org.apache.xerces.xs.datatypes 0.0.0<br>
-org.apache.xml.resolver 1.2.0<br>
-org.apache.xml.resolver.apps 1.2.0<br>
-org.apache.xml.resolver.helpers 1.2.0<br>
-org.apache.xml.resolver.readers 1.2.0<br>
-org.apache.xml.resolver.tools 1.2.0<br>
-org.apache.xml.serialize [0.0.0,1.0.0)<br>
-org.apache.xml.serializer 1.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a> [1.0.1,2.0.0)<br>
-org.w3c.dom 3.0.0<br>
-org.w3c.dom.bootstrap 3.0.0<br>
-org.w3c.dom.css 3.0.0<br>
-org.w3c.dom.events 3.0.0<br>
-org.w3c.dom.html 3.0.0<br>
-org.w3c.dom.ls 3.0.0<br>
-org.w3c.dom.ranges 3.0.0<br>
-org.w3c.dom.stylesheets 3.0.0<br>
-org.w3c.dom.traversal 3.0.0<br>
-org.w3c.dom.views 3.0.0<br>
-org.w3c.dom.xpath 3.0.0<br>
-org.xml.sax 2.0.2<br>
-org.xml.sax.ext 2.0.2<br>
-org.xml.sax.helpers 2.0.2<br>
-sun.io 0.0.0<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td></td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:10</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/xml/xerces</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>lib</td>
-</tr>
-<tr>
- <td>Bundle-Copyright</td>
- <td><a target="_top" href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a></td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xerces/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xerces/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:xerces:2.10.1.kf5</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td>javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, javax.xml.validation, javax.xml.xpath, org.apache.html.dom, org.apache.wml, org.apache.wml.dom, org.apache.xerces.dom, org.apache.xerces.dom.events, org.apache.xerces.dom3.as, org.apache.xerces.jaxp, org.apache.xerces.jaxp.datatype, org.apac [...]
-<tr><td><a href="../xml/xml-4.0.0.html">xml-4.0.0</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a></td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-<tr><td><b>Unresolved</b></td><td></td></tr>
-<tr><td>sun.io</td><td>0.0.0</td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>javax.xml.parsers, org.w3c.dom, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../junit/junit_all-3.8.1.kf4-001.html">junit_all-3.8.1.kf4-001</a></td><td>javax.xml.parsers, org.w3c.dom</td></tr>
-<tr><td><a href="../xalan/xalan-2.7.1.kf3_01.html">xalan-2.7.1.kf3_01</a></td><td>javax.xml.namespace, javax.xml.parsers, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, javax.xml.xpath, org.apache.xerces.parsers, org.apache.xml.serialize, org.apache.xml.serializer, org.w3c.dom, org.w3c.dom.events, org.w3c.dom.traversal, org.w3c.dom.xpath, org.xml.sax, org.xml.sax.ext, org.xml.sax.helpers</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml, javax.xml.datatype, javax.xml.namespace, javax.xml.parsers, javax.xml.transform, javax.xml.transform.dom, javax.xml.transform.sax, javax.xml.transform.stream, javax.xml.validation, javax.xml.xpath, org.apache.html.dom, org.apache.wml, org.apache.wml.dom, org.apache.xerces.dom, org.apache.xerces.dom.events, org.apache.xerces.dom3.as, org.apache.xerces.jaxp, org.apache.xerces.jaxp.datatype, org.apac [...]
-<tr><td><a href="../xml/xml-4.0.0.html">xml-4.0.0</a></td><td>javax.xml.parsers</td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-None found
-
-</body>
-</html>
-
-
diff --git a/docs/jars/xml/xml-4.0.0.html b/docs/jars/xml/xml-4.0.0.html
deleted file mode 100644
index 5545cda..0000000
--- a/docs/jars/xml/xml-4.0.0.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<html>
-<head>
-  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
-  <link href="../style.css" rel="stylesheet" type="text/css">
-  <title>xml-4.0.0.jar</title>
-  <script type="text/javascript">
-    function windowTitle() {
-      if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title=document.title;
-      }
-    }
-  </script>
-</head>
-
-<body onload="windowTitle();">
-
-<h2>xml-4.0.0.jar</h2>
-
-<p>
-<a href="../../../osgi/jars/xml/xml-4.0.0.jar">download</a> (4789 bytes)
-</p>
-
-<table width="100%">
- <tr>
-  <td class="mfheader" colspan=2>OSGi manifest attributes</td>
- </tr>
-
- <tr>
-  <td>Bundle-Name</td>
-  <td>xml-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-SymbolicName</td>
-  <td>org.knopflerfish.bundle.xml-LIB</td>
- </tr>
- <tr>
-  <td>Bundle-Version</td>
-  <td>4.0.0</td>
- </tr>
- <tr>
-  <td>Bundle-Description</td>
-  <td>XML (LIB)</td>
- </tr>
- <tr>
-  <td>Bundle-Vendor</td>
-  <td>Knopflerfish</td>
- </tr>
- <tr>
-  <td>Bundle-ContactAddress</td>
-  <td>http://www.knopflerfish.org</td>
- </tr>
- <tr>
-  <td>Bundle-License</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-DocURL</td>
-  <td><a target="_top" href="http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xml/index.html">http://www.knopflerfish.org/releases/5.1.0/docs/bundledoc/index.html?docpage=xml/index.html</a></td>
- </tr>
- <tr>
-  <td>Bundle-ManifestVersion</td>
-  <td>2</td>
- </tr>
- <tr>
-  <td>Bundle-Activator</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Bundle-Classpath</td>
-  <td>.</td>
- </tr>
-
- <tr>
-  <td>Export-Package</td>
-  <td><a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a> 1.0.1<br>
-</td>
- </tr>
- <tr>
-  <td>Import-Package</td>
-  <td>javax.xml.parsers 0.0.0<br>
-<a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a> [1.6.0,2.0.0)<br>
-</td>
- </tr>
- <tr>
-  <td>Dynamic-ImportPackage</td>
-  <td></td>
- </tr>
-
- <tr>
-  <td>Provide-Capability</td>
-  <td></td>
- </tr>
- <tr>
-  <td>Require-Capability</td>
-  <td>osgi.ee;filter:="(&(osgi.ee=OSGi/Minimum)(version>=1.2))"</td>
- </tr>
-
-
- <tr>
-  <td  class="mfheader" colspan=2>Other manifest attributes</td>
- </tr>
-
- <tr>
- <td>Build-Date</td>
- <td>Fri June 13 2014, 08:27:00</td>
-</tr>
-<tr>
- <td>Built-From</td>
- <td>/Users/jan/work/release/knopflerfish.org/osgi/bundles/xml/xml</td>
-</tr>
-<tr>
- <td>Bundle-APIVendor</td>
- <td>OSGi</td>
-</tr>
-<tr>
- <td>Bundle-Category</td>
- <td>osgi</td>
-</tr>
-<tr>
- <td>Bundle-SubversionURL</td>
- <td><a target="_top" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xml/">https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xml/</a></td>
-</tr>
-<tr>
- <td>Bundle-UUID</td>
- <td>org.knopflerfish:xml:4.0.0:lib</td>
-</tr>
-<tr>
- <td>Knopflerfish-Version</td>
- <td>5.1.0</td>
-</tr>
-
-
-</table>
-
-
-<h4>Depends on (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that can provide one or more of the
-capabilities that is required in the <tt>osgi.wiring.package</tt>
-namespace. Only one provider of each capability is required.
-
-<p>
-
-The first column is the providing bundle and the second column lists
-the sub-set of its provided packages that are required by this bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../crimson/crimson-2.1.0.kf4-001.html">crimson-2.1.0.kf4-001</a></td><td>javax.xml.parsers</td></tr>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td>javax.xml.parsers</td></tr>
-<tr><td><a href="../framework.html">framework</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/framework/package-summary.html">org.osgi.framework</a></td></tr>
-
-</table>
-
-<h4>Other bundles depending on this bundle (<tt>osgi.wiring.package</tt>)</h4>
-
-This section lists bundles that requires one or more of the
-capabilities that is provided in the namespace
-<tt>osgi.wiring.package</tt> by the current bundle.
-
-<p>
-
-The first column is the requiring bundle and the second column lists
-the sub-set of capabilities that this bundle may provide to the
-requiring bundle.
-
-<p>
-
-<table>
-<tr><td><a href="../xerces/xerces-2.10.1.kf5.html">xerces-2.10.1.kf5</a></td><td><a target="_top" href="../../javadoc/index.html?org/osgi/util/xml/package-summary.html">org.osgi.util.xml</a></td></tr>
-
-</table>
-
-
-<a name="source"></a>
-<h4>Bundle source</h4>
-
-Here are links to the source files of this bundle.
-
-<table> <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xml/src/org/osgi/util/xml/XMLParserActivator.java">org/osgi/util/xml/XMLParserActivator.java<a>
-  </td>
- </tr>
- <tr>
-  <td>
-    <a href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0/osgi/bundles/xml/xml/src/org/osgi/util/xml/package-info.java">org/osgi/util/xml/package-info.java<a>
-  </td>
- </tr>
-</table>
-
-</body>
-</html>
-
-
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/build.xml b/docs/kf_osgi_tutorial/example_source/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/build.xml
rename to docs/kf_osgi_tutorial/example_source/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateservice/build.xml b/docs/kf_osgi_tutorial/example_source/dateservice/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateservice/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateservice/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateservice/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateservice/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateservice/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateservice/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/DateService.java b/docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/DateService.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/DateService.java
rename to docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/DateService.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/DateServiceImpl.java b/docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/DateServiceImpl.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/DateServiceImpl.java
rename to docs/kf_osgi_tutorial/example_source/dateservice/src/org/knopflerfish/tutorial/dateservice/impl/DateServiceImpl.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/build.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/src/org/knopflerfish/tutorial/dateserviceuserbad/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/src/org/knopflerfish/tutorial/dateserviceuserbad/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad/src/org/knopflerfish/tutorial/dateserviceuserbad/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad/src/org/knopflerfish/tutorial/dateserviceuserbad/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/build.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/src/org/knopflerfish/tutorial/dateserviceuserbad2/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/src/org/knopflerfish/tutorial/dateserviceuserbad2/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_bad2/src/org/knopflerfish/tutorial/dateserviceuserbad2/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_bad2/src/org/knopflerfish/tutorial/dateserviceuserbad2/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/build.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/resources/OSGI-INF/component.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/resources/OSGI-INF/component.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/resources/OSGI-INF/component.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/resources/OSGI-INF/component.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/common/ServiceUserThread.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/dateserviceuserdeclarative/impl/Component.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/dateserviceuserdeclarative/impl/Component.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/dateserviceuserdeclarative/impl/Component.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_declarative/src/org/knopflerfish/tutorial/dateserviceuserdeclarative/impl/Component.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/build.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/common/ServiceUserThread.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/dateserviceuserlistener/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/dateserviceuserlistener/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/dateserviceuserlistener/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_listener/src/org/knopflerfish/tutorial/dateserviceuserlistener/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/build.xml b/docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/build.xml
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/manifest.mf b/docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/common/ServiceUserThread.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/common/ServiceUserThread.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/dateserviceusertracker/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/dateserviceusertracker/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/dateserviceusertracker/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/dateserviceuser_tracker/src/org/knopflerfish/tutorial/dateserviceusertracker/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/build.xml b/docs/kf_osgi_tutorial/example_source/simplebundle/build.xml
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/build.xml
rename to docs/kf_osgi_tutorial/example_source/simplebundle/build.xml
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/manifest.mf b/docs/kf_osgi_tutorial/example_source/simplebundle/manifest.mf
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/manifest.mf
rename to docs/kf_osgi_tutorial/example_source/simplebundle/manifest.mf
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/Activator.java b/docs/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/Activator.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/Activator.java
rename to docs/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/Activator.java
diff --git a/docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/HelloWorldThread.java b/docs/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/HelloWorldThread.java
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/HelloWorldThread.java
rename to docs/kf_osgi_tutorial/example_source/simplebundle/src/org/knopflerfish/tutorial/simplebundle/impl/HelloWorldThread.java
diff --git a/docs/tutorials/kf_osgi_tutorial/kf_osgi_tutorial.odt b/docs/kf_osgi_tutorial/kf_osgi_tutorial.odt
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/kf_osgi_tutorial.odt
rename to docs/kf_osgi_tutorial/kf_osgi_tutorial.odt
diff --git a/docs/tutorials/kf_osgi_tutorial/kf_osgi_tutorial.pdf b/docs/kf_osgi_tutorial/kf_osgi_tutorial.pdf
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/kf_osgi_tutorial.pdf
rename to docs/kf_osgi_tutorial/kf_osgi_tutorial.pdf
diff --git a/docs/tutorials/kf_osgi_tutorial/readme.txt b/docs/kf_osgi_tutorial/readme.txt
old mode 100644
new mode 100755
similarity index 100%
rename from docs/tutorials/kf_osgi_tutorial/readme.txt
rename to docs/kf_osgi_tutorial/readme.txt
diff --git a/docs/license.html b/docs/license.html
deleted file mode 100644
index 706b6ae..0000000
--- a/docs/license.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  - BSD 3-style open source license"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Knopflerfish Open Source License"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Knopflerfish Open Source License</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Knopflerfish License</h1>
-The Knopflerfish OSGi service platform is available under a 
-<a href="http://www.opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</a>
-<p>
-A notice with third party licenses is available in a separate <a
-href="../NOTICE.txt">NOTICE.txt</a> file.
-<p>
-
-<h2 class="kf">Knopflerfish License</h2>
-<pre class="shell">
-Copyright (c) 2003-2014, KNOPFLERFISH project
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following
-conditions are met:
-
-- Redistributions of source code must retain the above copyright
-  notice, this list of conditions and the following disclaimer.
-
-- Redistributions in binary form must reproduce the above
-  copyright notice, this list of conditions and the following
-  disclaimer in the documentation and/or other materials
-  provided with the distribution.
-
-- Neither the name of the KNOPFLERFISH project nor the names of its
-  contributors may be used to endorse or promote products derived
-  from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
-FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-OF THE POSSIBILITY OF SUCH DAMAGE.
-
-</pre>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/release_notes.html b/docs/release_notes.html
deleted file mode 100644
index 10bd597..0000000
--- a/docs/release_notes.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Release notes for this release of Knopflerfish OSGi, version 5.1.0 - "/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Release Notes"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Release Notes</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<!-- The first line in this file is used by the desktop to check -->
-<!-- for new releases, i.e., do not change its format.           -->
-<!-- It must contain the word "Knopflerfish" followed by a space -->
-<!-- and then the version followed by another space.             -->
-
-<h1 class="kf">Release Notes Knopflerfish 5.1.0 (OSGi R5)</h1>
-<p>
-
-  Maintenance release of Knopflerfish 5 available from
-  http://www.knopflerfish.org/releases/5.1.0. Released 2014-06-13.
-
-</p>
-<p>
-
-  Knopflerfish 5 is an implementation of the "OSGi Service Platform
-  Release 5". It contains all services specified in the "Core
-  Specification" and most of the non Enterprise Edition related
-  services specified in the "Compendium Specification".
-
-</p>
-
-<p>
-
-  The Release Notes include all new features & changes for
-  Knopflerfish 5.1.0 compared to the release of Knopflerfish
-  5.0.0.
-
-</p>
-
-<h2 class="filled">Knopflerfish Framework - OSGi Core Specification</h2>
-<div class="release_notes">
-
-  <div class="note_group">
-    <div class="note_name">Framework 7.1.2</div>
-    <div class="note_item">
-    Fixed framework restart problem introduced in 7.1.0.
-    </div>
-    <div class="note_item">
-    Relaxed "org.knopflerfish.framework.validator.date" parsing, so that
-    it tries short US locale pattern if default locale parsing fails.
-    </div>
-
-    <div class="note_name">Framework 7.1.1</div>
-    <div class="note_item">
-    Fixed exception when doing BundleWiring.listResources on root directory.
-    </div>
-
-    <div class="note_name">Framework 7.1.0</div>
-    <div class="note_item">
-    Added new URL protocol "fwresource" to access resources from the framework
-    classloader.
-    </div>
-    <div class="note_item">
-    The start class org.knopflerfish.framework.Main now tries to load xargs as a
-    framework resource if the file is not found. This means that we together
-    with the new fwresource protocol can create a single jar that contains the
-    framework, all jars and xargs files that needs to start a complete application.
-    </div>
-    <div class="note_item">
-    Added property "org.knopflerfish.framework.readonly", that puts framework
-    in a read only mode. This means that framework will not write any files
-    in "fwdir". This means that if we are running with the default "file"
-    bundle storage then new bundles must be installed as a referenced file URL.
-    This also implies that no data storage will be available to bundles.
-    </div>
-
-    <div class="note_name">Framework 7.0.2</div>
-    <div class="note_item">
-    Fixed bug that caused IndexOutOfBoundsException when updating large
-    collections of ConditionalPermissionInfos using ConditionalPermissionUpdate.
-    </div>
-    <div class="note_item">
-    Added property "org.knopflerfish.framework.validator.date" to framework
-    for testing certification validation with different dates.
-    </div>
-  </div>
-
-</div>
-
-
-<h2 class="filled">OSGi Compendium Specification</h2>
-<div class="release_notes">
-
-  <div class="note_group">
-    <div class="note_name">UserAdmin 4.1.1</div>
-    <div class="note_item">
-    Now contains and imports/exports org.knopflerfish.service.log
-    in order to be self-contained.
-    </div>
-    <div class="note_item">
-      Changed to use the OSGi defined Bundle-Icon instead of
-      Application-Icon.
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">KF-XML-Metatype 5.0.1</div>
-    <div class="note_item">
-    Fixed bug in handling of designate-element that could cause
-    configurations to be created, deleted or overwritten
-    unintentionally.
-    Refactored handling of standardized OSGi metatype xml and
-    legacy proprietary meta type xml into separate classes.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">CM 5.0.1</div>
-    <div class="note_item">
-    Improved the persistent storage of CM data,
-    made it more robust and fault resilient. 
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">HTTP-Server 4.0.5</div>
-    <div class="note_item">
-    Fixed another bug in the handling of chunked transfer encoding in the
-    Request implementation. The last chunk (with size 0) is not followed
-    by any chunk-data and thus there is no CRLF to consume.
-    </div>
-
-    <div class="note_name">HTTP-Server 4.0.4</div>
-    <div class="note_item">
-    Fixed another bug in the handling of chunked transfer encoding in the
-    Request implementation. A chunk contianing a charter followed by a
-    new line char was not correctly un-chunked.
-    </div>
-
-    <div class="note_name">HTTP-Server 4.0.3</div>
-    <div class="note_item">
-    Fixed a bug in the handling of chunked transfer encoding in the
-    Request implementation. An extra CR-LF was incorrectly added to
-    the end of the decoded data, causing problems when transfering
-    binary data like a zip-file.
-    </div>
-  </div>  
-  
-  <div class="note_group">
-    <div class="note_name">Prefs 4.0.2</div>
-    <div class="note_item">
-      Added bundle icon.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">Repository XML 1.0.2</div>
-    <div class="note_item">
-    Fixed a bug in RequirementImpl and did some clean up.
-    </div>
-
-    <div class="note_name">Repository XML 1.0.1</div>
-    <div class="note_item">
-    Fixed a bug in CapabilityImpl.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">SCR(component) 5.0.3</div>
-    <div class="note_item">
-    Fixed missed factory component check in previous version. This miss caused
-    following error:<p/>
-    java.lang.IllegalStateException: Internal error! Factory component only created with newInstance
-    </div>
-
-    <div class="note_name">SCR(component) 5.0.2</div>
-    <div class="note_item">
-    Fixed a bug that caused factory components to be falsely created or
-    missed being created when we use target filters.
-    </div>
-
-    <div class="note_name">SCR(component) 5.0.1</div>
-    <div class="note_item">
-    Fixed a bug that caused problems when adding a CM configuration with
-    a target filter to an unsatisfied component.
-    </div>
-  </div>
-  
-</div>
-
-<h2 class="filled">Knopflerfish Services</h2>
-<div class="release_notes">
-
-   <div class="note_group">
-    <div class="note_name">CM Desktop 5.0.2</div>
-    <div class="note_item">
-    Add requirement for the Meta Type Service.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">KF Resource Analyzer Extensions 1.0.1</div>
-    <div class="note_item">
-    Added proper handling of Bundle-License according to osgi.identity
-    namepsace.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Commands 1.1.1</div>
-    <div class="note_item">
-    Bug fixes and some refactorings.
-    </div>
-
-    <div class="note_name">Repository Commands 1.1.0</div>
-    <div class="note_item">
-    Added [-r] flag to install command that tries to automatically find and
-    install dependencies along with the specified bundle by using new
-    methods in Repository Manager.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Desktop 1.1.1</div>
-    <div class="note_item">
-    The dialogue now gives information about exactly what will be installed when asking if a
-    Resolver should be used.
-    </div>
-
-    <div class="note_name">Repository Desktop 1.1.0</div>
-    <div class="note_item">
-    Added support for new methods in Repository Manager to use a Resolver
-    service when available.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Manager 1.2.0</div>
-    <div class="note_item">
-    Added install and resolverAvailable methods to RepositoryManager interface.
-    Embedded Resolver and Repository APIs.
-    </div>
-
-    <div class="note_name">Repository Manager 1.1.0</div>
-    <div class="note_item">
-    Added support for Resolver services and added RepositoryManager.findResolution method.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">KF-XML-Metatype 5.0.2</div>
-    <div class="note_item">
-    Only build an "all" variant. This makes it possible to correctly install
-    CM-Desktop using the Repository Desktop with the Felix resolver.
-    </div>
-  </div>
-
-</div>
-
-
-<h2 class="filled">Misc, start scripts, build system etc </h2>
-<div class="release_notes">
-
-   <div class="note_group">
-    <div class="note_name">init.xargs</div>
-    <div class="note_item">Added commented out line to install Resolver
-    reference implementation.
-    </div>
-  </div>
-
-</div>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/testing.html b/docs/testing.html
deleted file mode 100644
index 0d349b7..0000000
--- a/docs/testing.html
+++ /dev/null
@@ -1,150 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Testing Knopflerfish OSGi"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Testing"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Testing</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Testing Knopflerfish</h1>
-
-<p>
-  Knopflerfish includes a Junit based test suite that tests the
-  framework and bundles. Developers can use this test suite to test and
-  verify Knopflerfish on specific target environments, e.g. some
-  combination of processor, operating system, and JVM. 
-</p>
-
-<p>
-  The easiest way to run the test suite is to run one of the two
-  test suite targets from the top level ant build file located in
-  the <tt>osgi</tt> directory. E.g.
-  <pre class="shell">
-> cd osgi
-> ant run-kf-tests
-  </pre>
-</p>
-
-The two test targets available are:
-<div class="kf">
-  <dl>
-    <dt> run-kf-tests</dt>
-    <dd>Builds then executes the KF test suite.</dd>
-    <dt>run-kf-tests-secure</dt>
-    <dd>Builds then executes the KF test suite with security enabled.</dd>
-  </dl>
-</div>
-
-<p>
-A developer may add new test bundles to the test suite, or defined
-their own stand-alone test suites. The bundle documentation for the 
-<a href="bundledoc/index.html?docpage=junit/index.html">
-  JUnit bundle
-</a>
-describes this in detail.
-</p>
-
-<p>
-  Please note that passing the Knopflerfish test suite is no claim for
-  OSGi compliance. It is a Knopflerfish specific test suite only.
-</p>
-  
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/tutorials.html b/docs/tutorials.html
deleted file mode 100644
index aa894b5..0000000
--- a/docs/tutorials.html
+++ /dev/null
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The tutorials shipped with KF"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Tutorials"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Tutorials</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Knopflerfish OSGi Tutorials</h1>
-
-<p>
-  This page contains links to tutorials and guides on how to use OSGi frameworks 
-  and the KF OSGi distribution.
-</p>
-
-<dl class="kf">
-  <dt><a href="tutorials/kf_osgi_tutorial/kf_osgi_tutorial.pdf">OSGi tutorial v2</a></dt>
-  <dd>A Step by Step Introduction to OSGi Programming Based on the 
-    Knopflerfish OSGi Framework. 
-    <p>
-      The tutorial includes examples src code located at<br>
-      <code>docs/tutorials/kf_osgi_tutorial/example_source</code>
-    </p>
-  </dd>
-  <dt>
-    <a href="osgi_service_tutorial.html"> The OSGi Service Tutorial</a>
-  </dt>
-  <dd> The complete survival guide for handling OSGi services</dd>
-
-  <dt>
-    <a href="osgi_with_security.html">Running Knopflerfish OSGi with Security</a>
-  </dt>
-  <dd>
-    A very short tutorial to get started with OSGi security and
-    permissions using Knopflerfish.
-  </dd>
-  
-  <dt>
-    <a href="android_dalvik_tutorial.html">Running Knopflerfish on Android / Dalvik</a>
-  </dt>
-  <dd>
-    An introduction on how to run Knopflerfish on Android / Dalvik
-  </dd>
-
-</dl>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/fish16x16.gif b/fish16x16.gif
deleted file mode 100644
index 1e3f70e..0000000
Binary files a/fish16x16.gif and /dev/null differ
diff --git a/fish200x300.gif b/fish200x300.gif
deleted file mode 100644
index d98ae8e..0000000
Binary files a/fish200x300.gif and /dev/null differ
diff --git a/fish32x32.gif b/fish32x32.gif
deleted file mode 100644
index 684295f..0000000
Binary files a/fish32x32.gif and /dev/null differ
diff --git a/htdocs/build.xml b/htdocs/build.xml
new file mode 100644
index 0000000..ca7f4b4
--- /dev/null
+++ b/htdocs/build.xml
@@ -0,0 +1,203 @@
+<?xml version="1.0"?>
+
+<project name="htdocs" default="all">
+
+  <!-- Helper that creates an HTML document from any file by wrapping -->
+  <!-- it with a pre-element surrounded by appropriate headings.      -->
+  <target name="txt2html">
+    <loadfile property="main" srcfile="${fromfile}"/>
+
+    <echo message="create ${tofile}"/>
+    <copy file="${formatted.html}" tofile="${tofile}" overwrite="true"/>
+    <replace file="${tofile}">
+	<replacefilter token="$(MAIN)" value="${main}"/>
+    </replace>
+  </target>
+
+  <target name="bundle_tasks">
+    <ant target="bundle_tasks" dir=".."/>
+  </target>
+
+  <target name="all"
+	  description="Creates html docs for distribution of a release">
+    <!-- Set default values for all props used in the htdocs target. -->
+    <property name="htdocs.out"     location="../out/htdocs"/>
+
+    <property name="htdocs.dir"     location="."/>
+    <property name="htdocs.ht.dir"  location="${htdocs.dir}/html_templates"/>
+    <property name="htdocs.hs.dir"  location="${htdocs.dir}/html_src"/>
+
+    <property name="template.html"  location="${htdocs.ht.dir}/template.html"/>
+    <property name="formatted.html" location="${htdocs.ht.dir}/formatted.html"/>
+    <property name="license.html"   location="${htdocs.hs.dir}/license.html"/>
+
+    <property name="LICENSE.txt"    location="${distrib.dir}/LICENSE.txt"/>
+
+    <property name="htdocs.distname" value="Knopflerfish OSGi, version ${version} - "/>
+    <property name="base.url"
+	      value="http://www.knopflerfish.org/releases"/>
+
+    <!-- Properties used by the makehtml task. -->
+    <property name="htdocs.link.enabled.class" value="navigation_enabled"/>
+    <property name="htdocs.link.disabled.class" value="navigation_disabled"/>
+    <property name="JAVADOC"
+              value="${base.url}/${version}/docs/javadoc"/>
+    <property name="css_navigation_enabled"     value="navigation_enabled"/>
+    <property name="css_navigation_disabled"    value="navigation_disabled"/>
+    <property name="navigation_pages"           value="INDEX PROG ECLIPSE LICENSE INSTALLING RUNNING BUILDING TESTING PROG COMP DESKTOP UBICORE CHANGELOG GIT TUTORIALS"/>
+
+    <property name="release_notes.in.md.file"		location="${knopflerfish.dir}/release_notes.in.md"/>
+    <property name="release_notes.distrib.md.file"      location="${distrib.dir}/release_notes.md"/>
+    <property name="release_notes.distrib.html.file"    location="${distrib.dir}/release_notes.html"/>
+    <property name="release_notes.tmp.html.file"	location="${distrib.tmp.dir}/release_notes.html"/>
+
+    <antcall target="htdocs"/>
+ </target>
+
+ <target name="htdocs" depends="bundle_tasks">
+   <loadfile property="htdocs.license.content" srcFile="${LICENSE.txt}"/>
+   <copy file="${license.html}"
+         tofile="${distrib.out.dir}/license.html">
+     <filterset begintoken="@" endtoken="@">
+       <filter token="LICENSE.txt" value="${htdocs.license.content}"/>
+     </filterset>
+   </copy>
+
+   <makehtml description=""
+             title=""
+             template="${htdocs.ht.dir}/blank"
+             outdir="${distrib.dir}"
+             tofile="release_notes.md"
+             fromfile="${release_notes.in.md.file}"
+             disable=""/>
+
+   <md2html fromfile="${release_notes.distrib.md.file}"
+	    tofile="${release_notes.tmp.html.file}"/>
+   
+   <makehtml title="${htdocs.distname} Open Source OSGi Serivce Platform"
+             description="The ${htdocs.distname} is an Open Source OSGi Service Platform designed to be compliant with the OSGi R5 specifications"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="index.html"
+             fromfile="${htdocs.dir}/html_src/index_main.html"
+             disable="INDEX"/>
+
+   <makehtml title="${htdocs.distname} Develop OSGi bundles"
+             description="Information, tips and recommendations for developing OSGi bundles"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="programming.html"
+             fromfile="${htdocs.dir}/html_src/programming_main.html"
+             disable="PROG"/>
+
+    <makehtml title="${htdocs.distname} Knopflerfish Open Source License"
+              description="${htdocs.distname} - BSD 3-style open source license"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="license.html"
+              fromfile="${distrib.out.dir}/license.html"
+              disable="LICENSE"/>
+
+    <!-- Standalone HTML version used by the desktop in its update check. -->
+    <!-- Ensure that the text "Knopflerfish <VERSION>" is present on -->
+    <!-- a singel line. -->
+    <makehtml description="Release notes for ${htdocs.distname}"
+              title="${htdocs.distname} Release Notes"
+              template="${htdocs.ht.dir}/release_notes.html"
+              outdir="${distrib.dir}"
+              tofile="release_notes.html"
+              fromfile="${release_notes.tmp.html.file}"
+              disable="CHANGELOG"/>
+    <!-- Version for the local documentation site. -->
+    <makehtml title="${htdocs.distname} Release Notes"
+              description="Release notes for this release of ${htdocs.distname}"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="release_notes.html"
+              fromfile="${release_notes.tmp.html.file}"
+              disable="CHANGELOG"/>
+
+    <makehtml title="${htdocs.distname} What is included in the Knopflerfish distribution"
+              description="The contents of the ${htdocs.distname} distribution"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="components.html"
+              fromfile="${htdocs.dir}/html_src/components_main.html"
+              disable="COMP"/>
+
+   <makehtml title="${htdocs.distname} Installing Knopflerfish"
+             description="Installing Knopflerfish OSGi"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="installing.html"
+             fromfile="${htdocs.dir}/html_src/installing.html"
+             disable="INSTALLING"/>
+
+   <makehtml title="${htdocs.distname} Running Knopflerfish"
+             description="Running Knopflerfish OSGi"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="running.html"
+             fromfile="${htdocs.dir}/html_src/running.html"
+             disable="RUNNING"/>
+
+   <makehtml title="${htdocs.distname} Building"
+             description="Building Knopflerfish OSGi"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="building.html"
+             fromfile="${htdocs.dir}/html_src/building.html"
+             disable="BUILDING"/>
+
+   <makehtml title="${htdocs.distname} Testing"
+             description="Testing Knopflerfish OSGi"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="testing.html"
+             fromfile="${htdocs.dir}/html_src/testing.html"
+             disable="TESTING"/>
+
+   <makehtml title="${htdocs.distname} the famous KF Desktop bundle, visualizing the OSGi service platform"
+             description="The Knopflerfish OSGi Desktop"
+             template="${template.html}"
+             outdir="${htdocs.out}"
+             tofile="desktop.html"
+             fromfile="${htdocs.dir}/html_src/desktop_main.html"
+             disable="DESKTOP"/>
+
+    <makehtml title="${htdocs.distname} Tutorials"
+              description="The tutorials shipped with KF"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="tutorials.html"
+              fromfile="${htdocs.dir}/html_src/tutorials.html"
+	      disable="TUTORIALS"/>
+
+    <makehtml title="${htdocs.distname} OSGi Service Tutorial"
+              description="The OSGi Service Tutorial"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="osgi_service_tutorial.html"
+              fromfile="${htdocs.dir}/html_src/osgi_service_tutorial.html"
+	      disable="TUTORIALS"/>
+
+    <makehtml title="${htdocs.distname} OSGi with Security"
+              description="Running OSGi with Security"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="osgi_with_security.html"
+              fromfile="${htdocs.dir}/html_src/osgi_with_security.html"
+	      disable="TUTORIALS"/>
+
+    <makehtml title="${htdocs.distname} running on Android / Dalvik"
+              description="Tutorial for running KF on Android / Dalvik"
+              template="${template.html}"
+              outdir="${htdocs.out}"
+              tofile="android_dalvik_tutorial.html"
+              fromfile="${htdocs.dir}/html_src/android_dalvik_tutorial.html"
+	      disable="TUTORIALS"/>
+
+    <echo message="${htdocs.out}"/>
+ </target>
+
+</project>
diff --git a/docs/css/kf_man.css b/htdocs/css/kf_man.css
similarity index 100%
rename from docs/css/kf_man.css
rename to htdocs/css/kf_man.css
diff --git a/docs/css/knopflerfish.css b/htdocs/css/knopflerfish.css
similarity index 90%
rename from docs/css/knopflerfish.css
rename to htdocs/css/knopflerfish.css
index 22c40d2..002dc23 100644
--- a/docs/css/knopflerfish.css
+++ b/htdocs/css/knopflerfish.css
@@ -183,7 +183,7 @@ H1, H1.kf {
     color: #444444;
 }
 
-H2, H2.kf, H2.filled  {
+H2, H2.kf, H2.filled, h2.release_notes  {
     font-family: Helvetica Neue; Helvetics, Lucida Grande, Verdana, Arial, Helvetica, sans-serif;
     font-size:	1.6em;
     font-weight:bold;
@@ -193,7 +193,7 @@ H2, H2.kf, H2.filled  {
     margin: 0.8em 0 0.2em 0;
 }
 
-H2.filled  {
+H2.filled, h2.release_notes  {
     background-image: url('../images/shortfadeout_20px.png');
     border-style: solid;
     border-color:	#ccc;
@@ -202,18 +202,6 @@ H2.filled  {
     padding:	3px 0px 3px 6px;
 }
     
-/*
-H2 {
-    font-family: Verdana, Arial, Helvetica, sans-serif;
-    font-size:18px;
-    font-weight:bold;
-    border-style: solid;
-    border-color: #802060;
-    border-width: 0px 0px 2px 0px;
-    padding-bottom: 2px;
-}
-*/
-
 H3  {
  font-family:  Lucida Grande, Tahoma, Verdana, Arial, Helvetica, sans-serif;
  font-size:1.1em;
@@ -434,6 +422,7 @@ tt {
 }
 
 .note_name {
+    margin: 1.5em 0 0.5em 0;
     font-weight: bold;
     color:#333333;
 }
@@ -446,4 +435,23 @@ tt {
 p {
     margin-top: 0.5em;
     margin-bottom: 0.5em;
-}
\ No newline at end of file
+}
+
+div.newkf6:after {
+    content: " N";
+    background: #cccccc;
+    display:block;
+}
+
+table.kf td.newkf6 {
+    /* background-color: #f5f3ee; */
+    /* color: #4a96ad; */
+}
+
+td.R6-new:after {
+    content: "N";
+}
+
+td.R6-upd:after {
+    content: "U";
+}
diff --git a/docs/jars/style.css b/htdocs/css/plain.css
similarity index 51%
rename from docs/jars/style.css
rename to htdocs/css/plain.css
index 05f36a5..f8d3ad0 100644
--- a/docs/jars/style.css
+++ b/htdocs/css/plain.css
@@ -1,205 +1,296 @@
-BODY  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:11px;
- color:000000;
- text-align:left;
- font-weight:normal;
- background:#fff;
-}
-
-
-
-
-TD  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- text-align:left;
- vertical-align:top;
- font-size:11px;
-}
-
-TD A  {
- color:000000;
- text-decoration:none
- font-size:11px;
-}
-
-.mfheader  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- text-align:left;
- vertical-align:top;
- font-size:11px;
- font-weight:bold;
- /* background:   #805362; */
- color: #fff;
- padding-top:         4px;
- padding-bottom:      4px;
- /* text-align: center; */
-    border-style: solid;
-    border-color: #999999;
-    background-color: #dedede;
-    border-width: 1px;
-    color: #444444;
-    padding-left: 10px;
-
-}
-
-TH  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:11px;
- color:000000;
- text-align:left;
- vertical-align:top;
- font-weight:bold
-}
-
-TD A  {
- color:000000;
- text-decoration:none
- font-size:11px;
-}
-
-PRE {
- font-family: Courier New, Courier;
- font-size:11px;
- color:000000;
- text-align:left;
- font-weight:normal;
-}
-
-
-H1  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:19px;
- font-weight:bold;
- /* background: #dddddd; */
-}
-
-
-H3  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:13px;
- font-weight:bold;
- background:	#805362;
- color:		#fff;
- padding:	2px 0px 2px 3px;
-}
-
-H4  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:11px;
- font-weight:bold;
- background:	#805362;
- color:		#fff;
- padding:	2px 0px 2px 10px;
-    border-style: solid;
-    border-color: #999999;
-    background-color: #dedede;
-    border-width: 1px;
-    color: #444444;
-}
-
-H5  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:9px;
- font-weight:bold;
- background:	#805362;
- color:		#fff;
- padding:	2px 0px 2px 3px;
-}
-
-H6  {
- font-family: Verdana, Arial, Helvetica, sans-serif;
- font-size:7px;
- font-weight:bold
-}
-
-TD.menu {
- color: #ffffff;
- font-size:9px;
- font-weight:bold;
- text-align:left;
-}
-
-A.top {
-  float: right;
-  text-decoration:  none;
-  font-weight:      bold;
-}
-
-A, A:visited, A:selected, A:active {
- color:000000;
- text-decoration:  none;
- font-weight:      bold;
-}
-
-A:hover {
- text-decoration:  underline;
-}
-
-li.A:visited, li.A:selected, li.A:active {
- text-decoration:  none;
- font-weight:      bold;
-}
-
-li.A:hover {
- text-decoration:  underline;
-}
-
-.small  {
- font-size:9px;
-}
-
-.medium  {
- font-size:13px;
-}
-
-.big  {
- font-size:17px;
-}
-
-.ghosted  {
-  color: #888888;
-}
-
-.framed  {
- border-type: solid;
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- background:#eeeeee;
- border-color:#000000;
- padding-left: 2;
- padding-top: 2;
- padding-bottom: 2;
- padding-right: 2;
- text-decoration:none;
- font-size: 11px;
-}
-
-.boxed  {
- border-type: solid;
- border-top: 1px solid;
- border-left: 1px solid;
- border-bottom: 1px solid;
- border-right: 1px solid;
- background:#E7DBAD;
- border-color:#000000;
- padding-left: 2;
- padding-top: 1;
- padding-bottom: 2;
- padding-right: 2;
- text-decoration:none;
- float: left;
-}
-
-dt {
- font-weight:bold;
-  margin-bottom: 5px;
-}
-
-dd {
-  margin-bottom: 5px;
-}
-
-
+
+
+BODY  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color:000000;
+ text-align:left;
+ font-weight:normal;
+ background:#ffffff;
+
+ margin-top: 10px;
+}
+
+.story {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color:000000;
+ padding-left: 10px;
+ background-color: #eeeeee;
+}
+
+.anfang:first-letter {
+ font-size:27px;
+}
+
+
+
+TD  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ text-align:left;
+ vertical-align:top;
+ font-size:11px;
+}
+
+TD.tableheader  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ text-align:left;
+ vertical-align:top;
+ font-size:11px;
+ font-weight:bold;
+ background: #eeeeee;
+}
+
+TD.bottomfish  {
+}
+
+TH  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color:000000;
+ text-align:left;
+ vertical-align:top;
+ font-weight:bold
+}
+
+TD A  {
+ color:#000077;
+ text-decoration:none;
+ font-size:11px;
+}
+
+TD A:visited  {
+ color:#000033;
+}
+
+PRE {
+ font-family: Courier New, Courier;
+ font-size:11px;
+ color:000000;
+ text-align:left;
+ font-weight:normal;
+}
+
+
+H1  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:19px;
+ font-weight:bold
+}
+
+H2  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:15px;
+ font-weight:bold
+}
+
+H3  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:13px;
+ font-weight:bold
+}
+
+H4  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ font-weight:bold
+}
+
+H5  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:9px;
+ font-weight:bold
+}
+
+H6  {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:7px;
+ font-weight:bold
+}
+
+TD.menu {
+ color: #ffffff;
+ font-size:9px;
+ font-weight:bold;
+ text-align:left;
+}
+
+A.top {
+  float: right;
+  text-decoration:  none;
+  font-weight:      bold;
+}
+
+A.navigation_enabled, A.navigation_enabled:selected, A.navigation_enabled:active {
+ text-decoration:  none;
+ font-weight:      normal;
+}
+
+A.navigation_enabled:visited {
+ text-decoration:  none;
+ font-weight:      normal;
+ color:            #000000;
+}
+
+A.navigation_enabled:hover {
+ text-decoration:  underline;
+}
+
+A.navigation_disabled, A.navigation_disabled:selected, A.navigation_disabled:active {
+ text-decoration:  none;
+ font-weight:      bold;
+}
+
+A.navigation_disabled:visited {
+ text-decoration:  none;
+ font-weight:      bold;
+ color:            #000000;
+}
+
+A.navigation_disabled:hover {
+ text-decoration:  none;
+}
+
+
+A, A:visited, A:selected, A:active {
+ text-decoration:  none;
+ font-weight:      bold;
+}
+
+A:hover {
+ text-decoration:  underline;
+}
+
+li.A:visited, li.A:selected, li.A:active {
+ text-decoration:  none;
+ font-weight:      bold;
+}
+
+li.A:hover {
+ text-decoration:  underline;
+}
+
+.small  {
+ font-size:9px;
+}
+
+.medium  {
+ font-size:13px;
+}
+
+.big  {
+ font-size:17px;
+}
+
+.pageheader {
+ background-color: #ffffff;
+ border-left:    solid 10px #dddddd;
+}
+
+table.bodytable {
+}
+
+.mainblock {
+ background-color: #ffffff;
+ border-left:   solid 10px #dddddd;
+}
+
+.kfbox {
+ background-color: #ffffff;
+ border-left:   solid 1px #cccccc;
+ border-top:    solid 1px #cccccc;
+ border-bottom: solid 1px #8888aa;
+ border-right:  solid 1px #8888aa;
+}
+
+
+.compactinput {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color: #000000;
+ font-weight:normal
+ border-width: 1px;
+ border: 1px;
+ border-style:solid;
+}
+
+.verycompactinput {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color: #000000;
+ font-weight:normal
+ border-width: 0px;
+ border: 0px;
+ border-style:solid;
+}
+
+.compactbutton {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size:11px;
+ color: #000000;
+ font-weight:normal
+ border-width: 0px;
+ border: 0px;
+ border-style:solid;
+}
+
+
+.ghosted  {
+  color: #888888;
+}
+
+.framed  {
+ border-type: solid;
+ border-top: 1px solid;
+ border-left: 1px solid;
+ border-bottom: 1px solid;
+ border-right: 1px solid;
+ background:#eeeeee;
+ border-color:#000000;
+ padding-left: 2;
+ padding-top: 2;
+ padding-bottom: 2;
+ padding-right: 2;
+ text-decoration:none;
+ font-size: 11px;
+}
+
+.boxed  {
+ border-type: solid;
+ border-top: 1px solid;
+ border-left: 1px solid;
+ border-bottom: 1px solid;
+ border-right: 1px solid;
+ background:#E7DBAD;
+ border-color:#000000;
+ padding-left: 2;
+ padding-top: 1;
+ padding-bottom: 2;
+ padding-right: 2;
+ text-decoration:none;
+ float: left;
+}
+
+dt {
+ font-weight:bold;
+  margin-bottom: 5px;
+}
+
+dd {
+  margin-bottom: 5px;
+}
+
+.mail {
+ font-style:italic;
+}
+
+table.yellow {
+ border-type: solid;
+ border-top: 5px solid;
+ border-left: 5px solid;
+ border-bottom: 5px solid;
+ border-right: 5px solid;
+ border-color:#EDF597;
+}
+
+
diff --git a/docs/bundledoc/cm/cm_data.dtd b/htdocs/dtd/cm_data.dtd
similarity index 99%
rename from docs/bundledoc/cm/cm_data.dtd
rename to htdocs/dtd/cm_data.dtd
index 8f3bea0..de9fd9d 100644
--- a/docs/bundledoc/cm/cm_data.dtd
+++ b/htdocs/dtd/cm_data.dtd
@@ -2,7 +2,7 @@
 <!-- Configuration Management, i.e. PIDs and their name value pairs -->
 <!-- Copyright Gatespace AB 2001 -->
 <!-- The public ID of this DTD is '-//Gatespace//DTD cm_data 0.1//EN' -->
-<!-- $Revision: 1.6 $ -->
+<!-- $Revision: 1.1.1.1 $ -->
 
 
 <!ENTITY  % TYPE "(String|Integer|Long|Float|Double|Byte|Short|BigInteger|BigDecimal|Character|Boolean)">
diff --git a/htdocs/dtd/config.dtd b/htdocs/dtd/config.dtd
new file mode 100644
index 0000000..ce7e3fa
--- /dev/null
+++ b/htdocs/dtd/config.dtd
@@ -0,0 +1,53 @@
+<!-- $Revision: 1.1.1.1 $ -->
+<!--* DTD for bundle configuration data  v0.1.2 *-->
+<!--* Copyright Gatespace AB 2001 *-->
+
+<!ENTITY  % TYPE "(String|Integer|Long|Float|Double|Byte|Short|BigInteger|BigDecimal|Character|Boolean)">
+<!ENTITY  % PRIMITIVE "(long|int|short|char|byte|double|float|boolean)">
+
+<!ELEMENT cfg (managedService|managedServiceFactory)*>
+<!ATTLIST cfg 
+          version  CDATA #REQUIRED
+          >
+
+<!ELEMENT managedService (property)* >
+<!ATTLIST managedService
+          pid    CDATA #REQUIRED
+          descr  CDATA #IMPLIED
+          >
+
+<!ELEMENT managedServiceFactory (property)* >
+<!ATTLIST managedServiceFactory
+          pid    CDATA #REQUIRED
+          descr  CDATA #IMPLIED
+          >
+
+<!ELEMENT property (description,(value|vector|array),helptext*) >
+<!ATTLIST property
+          name CDATA #REQUIRED
+          >
+
+<!ELEMENT value EMPTY >
+<!ATTLIST value
+          type %TYPE; #REQUIRED
+          name    CDATA #IMPLIED
+          default CDATA #IMPLIED
+          >
+
+<!ELEMENT primitiveValue EMPTY >
+<!ATTLIST primitiveValue
+          type %PRIMITIVE; #REQUIRED
+          name    CDATA #IMPLIED
+          default CDATA #IMPLIED
+          >
+
+<!ELEMENT vector (value|vector|array)*>
+
+<!ELEMENT array (value|primitiveValue|vector|array)*>
+<!ATTLIST array
+          length CDATA #IMPLIED
+          >
+
+
+<!ELEMENT description (#PCDATA)>
+<!ELEMENT helptext (#PCDATA)>
diff --git a/htdocs/error/401.shtml b/htdocs/error/401.shtml
new file mode 100644
index 0000000..f1256b1
--- /dev/null
+++ b/htdocs/error/401.shtml
@@ -0,0 +1,22 @@
+<html>
+<head>
+<title>401 Unauthorized</title>
+
+<LINK href="/error/style.css" rel="stylesheet" type="text/css">
+
+</head>
+<body>
+
+<h2>401 Unauthorized</h2>
+
+<div class="message">
+The server could not verify that you are authorized to access
+the URL <b>"<!--#echo var="REDIRECT_URL" -->"</b>.
+You either supplied the wrong credentials (e.g., bad password), or your
+browser doesn't understand how to supply the credentials required.
+</div>
+
+<!--#include file="error_bottom.html" -->
+
+</body>
+</html>
\ No newline at end of file
diff --git a/htdocs/error/403.shtml b/htdocs/error/403.shtml
new file mode 100644
index 0000000..af555bc
--- /dev/null
+++ b/htdocs/error/403.shtml
@@ -0,0 +1,20 @@
+<html>
+<head>
+<title>403 Forbidden</title>
+
+<LINK href="/error/style.css" rel="stylesheet" type="text/css">
+
+</head>
+<body>
+
+<h2>403 Forbidden</h2>
+
+<div class="message">
+You don't have permission to access the requested document 
+<b><!--#echo var="REDIRECT_URL" --></b>
+</div>
+
+<!--#include file="error_bottom.html" -->
+
+</body>
+</html>
\ No newline at end of file
diff --git a/htdocs/error/404.shtml b/htdocs/error/404.shtml
new file mode 100644
index 0000000..5804bbb
--- /dev/null
+++ b/htdocs/error/404.shtml
@@ -0,0 +1,21 @@
+<html>
+<head>
+<title>404 Not Found</title>
+
+<LINK href="/error/style.css" rel="stylesheet" type="text/css">
+
+</head>
+<body>
+
+<h2>404 Document Not Found</h2>
+
+<div class="message">
+The requested URL 
+<b><!--#echo var="REDIRECT_URL" --></b>
+was not found on this server.
+</div>
+
+<!--#include file="error_bottom.html" -->
+
+</body>
+</html>
\ No newline at end of file
diff --git a/htdocs/error/error_bottom.html b/htdocs/error/error_bottom.html
new file mode 100644
index 0000000..e3f33d6
--- /dev/null
+++ b/htdocs/error/error_bottom.html
@@ -0,0 +1,8 @@
+<div class="contact">
+<span style="float:left;">
+ info at knopflerfish.org
+</span>
+<span style="float:right;">
+<a href="http://www.knopflerfish.org/">www.knopflerfish.org</a>
+</span>
+</div>
diff --git a/htdocs/error/style.css b/htdocs/error/style.css
new file mode 100644
index 0000000..871d418
--- /dev/null
+++ b/htdocs/error/style.css
@@ -0,0 +1,42 @@
+
+BODY  {
+ font-family:  Verdana, Arial, Helvetica, sans-serif;
+ font-size:    11px;
+ color:        000000;
+ text-align:   left;
+ font-weight:  normal;
+ background:   #ffffff;
+ margin-top:   10px;
+}
+
+.message  {
+ font-size:    13px;
+ text-align:   left;
+ font-weight:  normal;
+
+ margin-left:   30px;
+ padding:   10px 10px 10px 10px;
+ width:         50%;
+
+ background:          #eeeeee;
+ border-color:        #dddddd #dddddd #dddddd #dddddd;
+ border-style:        solid;
+ border-left-width:   1px;
+ border-right-width:  1px;
+ border-top-width:    1px;
+ border-bottom-width: 1px;
+}
+
+.contact  {
+ font-size:    11px;
+ text-align:   left;
+ font-weight:  normal;
+ margin-top:   30px;
+ border-color:        #dddddd #dddddd #dddddd #dddddd;
+ border-style:        solid;
+ border-left-width:   0px;
+ border-right-width:  0px;
+ border-top-width:    1px;
+ border-bottom-width: 0px;
+}
+
diff --git a/htdocs/favicon.gif b/htdocs/favicon.gif
new file mode 100644
index 0000000..316bdd3
Binary files /dev/null and b/htdocs/favicon.gif differ
diff --git a/htdocs/favicon.ico b/htdocs/favicon.ico
new file mode 100644
index 0000000..10658d6
Binary files /dev/null and b/htdocs/favicon.ico differ
diff --git a/htdocs/framelink/index.html b/htdocs/framelink/index.html
new file mode 100644
index 0000000..68add90
--- /dev/null
+++ b/htdocs/framelink/index.html
@@ -0,0 +1,3 @@
+<frameset rows="*">
+  <frame src="http://www.wistrand.com/knopflerfish.org">
+</frameset>
diff --git a/docs/android_dalvik_tutorial.html b/htdocs/html_src/android_dalvik_tutorial.html
similarity index 56%
rename from docs/android_dalvik_tutorial.html
rename to htdocs/html_src/android_dalvik_tutorial.html
index a7535bc..8dbec9c 100644
--- a/docs/android_dalvik_tutorial.html
+++ b/htdocs/html_src/android_dalvik_tutorial.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Tutorial for running KF on Android / Dalvik"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  running on Android / Dalvik"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  running on Android / Dalvik</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Knopflerfish Android / Dalvik Tutorial</h1>
+<h1 class="kf">Knopflerfish Android / Dalvik Tutorial</h1>
 
 <h2 class="kf">Contents</h2>
 <ol>
@@ -282,13 +185,3 @@
 </p>
 
 
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/htdocs/html_src/building.html b/htdocs/html_src/building.html
new file mode 100644
index 0000000..3708033
--- /dev/null
+++ b/htdocs/html_src/building.html
@@ -0,0 +1,132 @@
+<h1 class="kf">Building Knopflerfish</h1>
+
+Knopflerfish includes an ant based build system for building a
+complete Knopflerfish distribution as well as building <a
+href="programming.html">individual bundles</a>. Ant 1.9.3 or later is
+required, available from <a
+href="http://ant.apache.org/">ant.apache.org</a>
+
+<p>
+Knopflerfish can be built either by 
+ <a href="http://www.knopflerfish.org/git_info.html">
+   checking out the entire source code
+</a>,
+or by (re)building an installed distribution.
+</p>
+
+<p>
+ The top level build file is located in the <code>osgi</code>
+ directory. The default target is to build the framework and all
+ bundles in the bundles directory.
+</p>
+
+<p>
+Invoking ant with the -p option will display the possible targets.
+</p>
+
+<pre class="shell">
+$ ant -p
+Buildfile: build.xml
+
+Main targets:
+
+ all                  Builds the framework and all bundles including optional and test bundles
+ bundle_doc           Builds bundle specific docs
+ bundle_tasks         Builds and defines the Knopflerfish bundle tasks
+ clean                Removes all generated files and directories.
+ clean_local          Remove all bundles built by this build-file but keep all other bundles
+                      in the jars sub-directory.
+ default              Builds the framework and bundles in bundles-directory
+ define_bundle_tasks  Defines the Knopflerfish bundle tasks
+ javadoc              Create javadoc for all exported packages
+ rebuild              Cleans then build build all
+ run                  (Re)start the framework.
+ run-init             Initial start with default set of bundles.
+ run-kf-tests         Builds then executes the KF testsuite.
+ run-kf-tests-secure  Builds then executes the KF testsuite with security enabled.
+ run-secure           (Re)start framework with security enabled.
+ run-secure-init      Initial start with security enabled and default set of bundles.
+Default target: default
+$ 
+</pre>
+
+<p>
+To add and build additional bundles see the <a
+href="programming.html">programming</a> section.
+</p>
+
+<h2 class="kf">Building a compact Knopflerfish framework</h2>
+
+You can build a compact version of the framework called
+<code>framework_compact.jar</code>. To build this you need to download
+<a href="http://proguard.sourceforge.net/">Proguard 5.2</a>.
+Install the proguard.jar file into ${KF_ROOT}/ant/lib and build
+the framework with the property <code>compact</code> set to
+<code>true</code>.
+<p>
+This a version with a reduced memory footprint. This version has
+no security and certificate support compiled into it. This is only
+supposed to be used for running and not to compile against. So you
+also need to compile the normal <code>framework.jar</code> to be able
+to build bundles.
+</p>
+<pre class="shell">
+$ ant -Dcompact=true -f framework/build.xml 
+Buildfile: /Users/jan/workspace_osgi/kf_osgi/osgi/framework/build.xml
+
+compile:
+
+compile_full:
+
+compile_compact:
+
+chkBundleTaskSrc:
+
+chkBundleTasksBuild:
+
+build_bundle_tasks:
+
+define_bundle_tasks:
+
+bundle_tasks:
+
+genexports:
+   [delete] Deleting: /Users/jan/workspace_osgi/kf_osgi/osgi/framework/resources/exports
+
+jar:
+   [delete] Deleting: /Users/jan/workspace_osgi/kf_osgi/osgi/framework/resources/version
+   [delete] Deleting: /Users/jan/workspace_osgi/kf_osgi/osgi/framework/resources/tstamp
+
+writerelease:
+
+jar_file_full:
+
+jar_file_compact:
+      [jar] Building jar: /Users/jan/workspace_osgi/kf_osgi/osgi/framework_compact.jar
+
+proguard_compact:
+     [move] Moving 1 file to /Users/jan/workspace_osgi/kf_osgi/osgi
+ [proguard] ProGuard, version 5.2
+ [proguard] Reading program jar [/Users/jan/workspace_osgi/kf_osgi/osgi/framework_compact.jar.tmp.jar]
+ [proguard] Reading library jar [/Users/jan/workspace_osgi/kf_osgi/osgi/ee/ee.minimum.jar]
+ [proguard] Preparing output jar [/Users/jan/workspace_osgi/kf_osgi/osgi/framework_compact.jar]
+ [proguard]   Copying resources from program jar [/Users/jan/workspace_osgi/kf_osgi/osgi/framework_compact.jar.tmp.jar]
+   [delete] Deleting: /Users/jan/workspace_osgi/kf_osgi/osgi/framework_compact.jar.tmp.jar
+
+add_dex:
+
+source.jar:
+
+save_javadoc_data:
+
+javadoc.jar:
+
+all:
+
+BUILD SUCCESSFUL
+Total time: 14 seconds
+$ ls -l framework*jar
+-rw-r--r--  1 jan  staff  617250 16 Okt 10:44 framework.jar
+-rw-r--r--  1 jan  staff  323070 16 Okt 10:44 framework_compact.jar
+$ 
+</pre>
diff --git a/docs/components.html b/htdocs/html_src/components_main.html
similarity index 50%
rename from docs/components.html
rename to htdocs/html_src/components_main.html
index cb1b41b..4c9ad59 100644
--- a/docs/components.html
+++ b/htdocs/html_src/components_main.html
@@ -1,112 +1,18 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<h1>About Knopflerfish 6 - an OSGi R6 distribution</h1>
 
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
 
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The contents of the Knopflerfish OSGi, version 5.1.0 -  distribution"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  What is included in the Knopflerfish distribution"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  What is included in the Knopflerfish distribution</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1>About Knopflerfish 5 - an OSGi R5 distribution</h1>
-
-Knopflerfish 5 (KF5) is designed to be implemented according to
-the <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">
-OSGi R5 specifications</a>.  The distribution includes the
+Knopflerfish 6 (KF6) is the next  major release of
+Knopflerfish. KF6 is an implementation of the <a
+href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">
+OSGi R6 specifications</a>.  The distribution includes the
 following components:
 
 <ul>
-  <li>Knopflerfish OSGi framework - OSGi R5 Core Specification
+
+  <li>Knopflerfish OSGi framework - OSGi R6 Core Specification
       implementation</li>
 
-  <li>Knopflerfish OSGi bundles - OSGi R5 Service Compendium
+  <li>Knopflerfish OSGi bundles - OSGi R6 Service Compendium
       implementation</li>
 
   <li>Knopflerfish components & extras - Knopflerfish bundles and
@@ -114,82 +20,56 @@ following components:
 
 </ul>
 
-<h2 class="kf">Knopflerfish 5 OSGi Framework - OSGi R5 Core</h2>
+<h2 class="kf">Knopflerfish 6 OSGi Framework - OSGi R6 Core</h2>
 
 <p>
-  The Knopflerfish 5 OSGi framework is implemented in accordance
-  with the OSGi R5 specification.  
+  The Knopflerfish 6 OSGi framework and related Services is implemented in accordance
+  with the OSGi R6 specification. 
 </p>
 <p>
   The numbering for the OSGi defined components
   refer to the OSGi specification chapter numbering.
-  The Changes column indicates if the service / API has been updated
-  in R5 compared to R4v4.3  of the Core specification, in which case
-  the new specification chapter version is stated.
+</p>
+<p>
+  Version refer the version of the particular specification in the OSGi Core Specification
+</p><p>
+  The R6 column indicates of the specification chapter is N(ew) or U(pdated) in R6. If blank there were
+  no changes compared to R5.
 </p>
 <p>
   <table class="kf">
     <tr> <th colspan="5">Core Specification -  Knopflerfish OSGi framework</th></tr>
     <tr>
       <td class="subhead">Section</td>
-      <td class="subhead">Changes</td>  
+      <td class="subhead">Version</td>  
+      <td class="subhead">R6</td>  
       <td class="subhead">Status</td>  
-      <td class="subhead">R5</td>  
       <td class="subhead">Description</td>
     </tr>
     <tr>
-      <td class="nowrap">2. Security Layer</td>
-      <td class="nowrap">NA</td>
+      <td class="nowrap">2-5 OSGi Core Framework</td>
+      <td class="nowrap"> 1.8  </td>
+      <td class="nowrap"> U </td>
       <td class="nowrap"> Done  </td>
-      <td class="nowrap"> Full  </td>
-      <td> The OSGi Security Layer based on the Java2 security mechanism.
-      </td>
-    </tr>
-    <tr>
-      <td class="nowrap">3. Module Layer</td>
-      <td class="nowrap">NA</td>
-      <td> Done </td>
-      <td> Full </td>
-      <td>
-	The OSGi solution for Java modularization, a.k.a. OSGi bundles.
-      </td>
-    </tr>
-   
-    <tr>
-      <td>4. Life Cycle Layer </td>
-      <td class="nowrap">NA</td>
-      <td> Done </td>
-      <td> Full </td>
-      <td> Function to control the security and life cycle operations of bundles
+      <td> The OSGi Core Framework.
       </td>
     </tr>
 
     <tr>
-      <td> 5. Service Layer </td>
-      <td class="nowrap">NA</td>
-      <td> Done </td>
-      <td> Full </td>
-      <td> The Service Layer provides a publish, find and bind model
-           trough the service registry.
-    </tr>
-
-    <tr> <th colspan="5">Core Specification - Knopflerfish Framework API:s</th></tr>
-
-    <tr>
-      <td class="nowrap"> <div class="newkf4">6. Resource API </div></td>
-      <td class="nowrap">New</td>
+      <td class="nowrap"> 6. Resource API </div></td>
+      <td class="nowrap"> 1.0  </td>
+      <td class="nowrap">  </td>
       <td class="nowrap"> Done </td>
-      <td> Full
       <td> 
 	An API for the generic Requirement-Capability model.
       </td>
     </tr>
 
     <tr>
-      <td class="nowrap"> 7. Bundle Wiring API </td>
-      <td class="nowrap">1.1</td>
+      <td class="nowrap"> 7. Bundle Wiring API </div></td>
+      <td class="nowrap"> 1.2  </td>
+      <td class="nowrap"> U </td>
       <td class="nowrap"> Done </td>
-      <td> Full
       <td> 
 	An API that provides access to the internal Framework package
         sharing mechanism. This API replaces the Package Admin Service
@@ -199,9 +79,9 @@ following components:
 
     <tr>
       <td class="nowrap"> 8. Framework Namespaces </td>
-      <td class="nowrap">New</td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap"> U </td>
       <td class="nowrap"> Done </td>
-      <td> Full
       <td> 
         A namespace definition for the generic Requirement-Capability model.
       </td>
@@ -209,9 +89,9 @@ following components:
 
     <tr>
       <td class="nowrap"> 9. Start Level API </td>
-      <td class="nowrap">No</td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td class="nowrap"> Done </td>
-      <td> Full
       <td> 
         An API to control the relative starting and stopping order of
         bundles in an OSGi Service Platform. This API replaces the
@@ -219,110 +99,167 @@ following components:
       </td>
     </tr>
 
-    
+    <tr> <th colspan="5">Core Specification - Knopflerfish Framework API:s</th></tr>
     <tr>
-      <td class="nowrap"> 10. Framework API </td>
-      <td class="nowrap">1.7</td>
+      <td class="nowrap"> 10.1 Framework API </td>
+      <td class="nowrap"> 1.8 </td>
+      <td class="nowrap">  U </td>
       <td class="nowrap"> Done </td>
-      <td> Full
       <td> 
         The core API for bundles to interact with the OSGi Framework.
       </td>
     </tr>
+    <tr>
+      <td class="nowrap"> 10.2 Launch Package </td>
+      <td class="nowrap"> 1.2 </td>
+      <td class="nowrap"> U </td>
+      <td class="nowrap"> Done </td>
+      <td> 
+	API for launching OSGi frameworks
+      </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 10.3 Resource Package </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
+      <td class="nowrap"> Stable </td>
+      <td> 
+	API for Requirements and Capabilities
+      </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 10.4 Wiring Package </td>
+      <td class="nowrap"> 1.2 </td>
+      <td class="nowrap, R6-upd"> </td>
+      <td class="nowrap"> Done </td>
+      <td> 
+        API for wiring Requirements with capabilities
+      </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 10.5 Startlevel Package </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
+      <td class="nowrap"> Stable </td>
+      <td> 
+	Definitions of namespaces used by Requirements
+      </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 10.6 Namespace Package </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap, R6-upd"> </td>
+      <td class="nowrap"> Done </td>
+      <td> 
+        Namespace.
+      </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 10.7 Versioning Annotations </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap, R6-new"> </td>
+      <td class="nowrap"> Done </td>
+      <td> 
+        Definitions of annotations for versioning
+      </td>
+    </tr>
 
     <tr> <th colspan="5">Core Specification - Knopflerfish Framework Services</th></tr>
-
     <tr>
       <td class="nowrap"> 50. Conditional Permission Admin </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td> 
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap"> </td>
+      <td> Stable </td> 
       <td> Essentially a security policy and permission system for
       OSGi bundles. Supersedes Permission Admin</td>
     </tr>
-
     <tr>
       <td class="nowrap"> 51. Permission Admin </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td> 
+      <td class="nowrap"> 1.2 </td>
+      <td class="nowrap">  </td>
+      <td> Stable </td> 
       <td> A permission system for bundles</td>
-   </tr>
-
+    </tr>
     <tr>
       <td class="nowrap"> 52. URL Handler </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
+      <td> Stable </td>
       <td> A mechanism to extend the Java run-time with new URL
       schemes and content handlers through bundles </td>
     </tr>
-
     <tr>
       <td class="nowrap"> 53. Resolver Hooks </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td>
+      <td class="nowrap"> 1.0 </td>
+      <td>  </td>
+      <td> Stable</td>
       <td> A set of mechanisms for close interaction with the module
-      layer resolving of bundle requirements and capabilities. 	</td>
+	layer resolving of bundle requirements and capabilities. 
+      </td>
     </tr>
     <tr>
       <td class="nowrap"> 54. Bundle Hooks </td>
-      <td class="nowrap">1.1</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
+      <td> Stable </td>
       <td> A set of mechanisms for controlling visibility of bundles
-      for other bundles. </td>
+      for other bundles. New feature in v4.3 </td>
     </tr>
     <tr>
       <td class="nowrap"> 55. Service Hooks </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
+      <td> Stable </td>
       <td> A set of mechanisms for close interaction with the Service
       Registry. </td>
     </tr>
     <tr>
-      <td class="nowrap"> 56. Weaving Hooks </td>
-      <td class="nowrap">No</td>
-      <td class="nowrap"> Done </td>
-      <td> Full </td>
+      <td class="nowrap"> 56. Weaving Hook Service </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap"> U </td>
+      <td> Done </td>
       <td> A set of mechanisms for doing byte code weaving of classes
-      loaded by a Bundle Class Loader.  </td>
+      loaded by a Bundle Class Loader. </td>
+    </tr>
+    <tr>
+      <td class="nowrap"> 57. Data Transfer Objects </td> 
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap"> N </td>
+      <td> Full </td>
+      <td> Defines Data Transfer Objects for OSGi in general and well as specific
+	Data Transfer Objects for the Core specification. New feature in R6. </td>
     </tr>
     <tr>
       <td> 701. Tracker Specification</td>
-      <td class="nowrap">No</td>
-      <td> Done </td>
-      <td> Full</td>
-      <td> Utility for Bundle and Service tracking</td>
+      <td class="nowrap"> 1.5 </td>
+      <td>  </td>
+      <td> Stable </td>
+      <td> Utility for Bundle and Service tracking. </td>
     </tr>
   </table>
 </p>
 <br>
 
 
-<h2 class="kf">Knopflerfish 5 OSGi Bundles - OSGi R5 Compendium Services</h2>
+<h2 class="kf">Knopflerfish 6 OSGi Bundles - OSGi R6 Compendium Services</h2>
 
 <p>
-  The Knopflerfish 5 OSGi Compendium Services are implemented in
-  accordance with the OSGi R5 specification. 
+  The Knopflerfish 6 OSGi Compendium Servers are implemented in
+  accordance with the OSGi R6 specification.
 </p>
 <p>
-  Some of the OSGi Compendium Services are only available
-  in the commercial 
-  <a href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">
-    Knopflerfish Pro 5</a> 
-  version provided by <a href="http://www.makewave.com">Makewave.</a>
-  These services are clearly marked in the table below,
+  <a href="http://www.makewave.com">Makewave</a> also provides a Knopflerfish Pro version and certain Compendium services are only available in Knopflerfish Pro. 
+  They are clearly marked in the table below.
 </p>
 
 <p>
   The numbering for the OSGi defined components refer to the OSGi
-  specification chapter numbering. The Changes column indicates if the
-  service / API has been updated in R5 compared to R4v4.3 of the
-  Compendium specification, in which case the new specification
-  chapter version is stated.
+  specification chapter numbering.
+</p>
+<p>
+  Version refer the version of the particular specification in the OSGi Core Specification
+</p><p>
+  The R6 column indicates of the specification chapter is N(ew) or U(pdated)
 </p>
 
 <p>
@@ -333,25 +270,25 @@ following components:
 
     <tr>
       <td class="subhead">Specification</td>
-      <td class="subhead">Updates</td>  
+      <td class="subhead">Version</td>  
+      <td class="subhead">R6</td>  
       <td class="subhead">Status</td>  
-      <td class="subhead nowrap">R5</td>  
       <td class="subhead nowrap">Description</td>
     </tr>
 
     <tr>
       <td> 101. Log </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> A message logger for the OSGi Service Platform. </td>
     </tr>
 
     <tr>
       <td> 102. HTTP </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> 
 	HTTP server for the OSGi Service Platform. Supports both
         static HTML pages, as well as Servlets serving dynamic content
@@ -360,9 +297,9 @@ following components:
 
     <tr>
       <td> 103. Device Access </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> 
 	The Device Access specification supports the coordination of
         automatic detection and attachment of existing devices on an
@@ -372,17 +309,17 @@ following components:
     
     <tr>
       <td class="nowrap"> 104. Configuration Admin </td>
-      <td> 1.5 </td>
+      <td class="nowrap"> 1.5 </td>
+      <td class="nowrap">  </td>
       <td> Done </td>
-      <td> Full</td>
       <td> Service for setting configuration information of OSGi bundles</td>
     </tr>
     
     <tr>
       <td> 105. Meta Type </td>
-      <td> No </td>
-      <td> Done</td>
-      <td> Full</td>
+      <td class="nowrap"> 1.3 </td>
+      <td class="nowrap"> U </td>
+      <td> Done  </td>
       <td> Service that allow bundle developers to describe attribute
            types in a computer readable form using so-called meta- data.
       </td>
@@ -390,9 +327,9 @@ following components:
 
     <tr>
       <td> 106. Preferences </td>
-      <td> No </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
       <td> Stable</td>
-      <td> Full</td>
       <td> 
       	Service that provides easy to use persistent storage of bundle
 	data. typically user preference.  Knopflerfish Pro includes an
@@ -403,9 +340,9 @@ following components:
 
     <tr>
       <td> 107. User Admin </td>
-      <td> No </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
       <td> Stable</td>
-      <td> Full</td>
       <td> 
 	Service that a bundle can use for Authentication and Authorization.
       </td>
@@ -413,9 +350,9 @@ following components:
 
     <tr>
       <td class="kfpro"> 108. Wire Admin</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro</td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro"> 
 	Wiring of OSGi services inside an OSGi Service Platform. KF Pro only
       </td>
@@ -423,9 +360,9 @@ following components:
 
     <tr>
       <td> 109. IO Connector </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td>
 	A connector service that adopts the Java 2 ME
         javax.microedition.io for OSGi
@@ -434,121 +371,129 @@ following components:
 
     <tr>
       <td class="kfpro"> 110. Initial Provisioning </td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.2 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro</td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro"> Defines how to initially install the
       management agent in an OSGi Service Platform. KF Pro only</td>
     </tr>
 
     <tr>
       <td class="kfpro"> 111. UPnP Device Service </td>
-      <td class="kfpro"> No </td>
-      <td class="kfpro"> Done KF Pro</td>
-      <td class="kfpro"> Full</td>
+      <td class="nowrap"> 1.2 </td>
+      <td class="nowrap">  </td>
+      <td class="kfpro"> Stable KF Pro</td>
       <td class="kfpro"> Service for interaction with UPnP devices and
-	Control Points. KF Pro only</td>
+      Control Points. KF Pro only</td>
     </tr>
 
     <tr>
       <td> 112. Declarative Services </td>
-      <td> No </td>
+      <td class="nowrap"> 1.3 </td>
+      <td class="nowrap">  U </td>
       <td> Done </td>
-      <td> Full</td>
       <td> Service that defines a declarative model for publishing,
-      finding and binding to OSGi services </td>
+	finding and binding to OSGi services </td>
     </tr>
 
     <tr>
       <td> 113. Event Admin </td>
-      <td> No </td>
+      <td class="nowrap"> 1.3 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> 
 	Provides an inter-bundle communication mechanism by sending events. 
       </td>
     </tr>
     <tr>
       <td class="kfpro">114. Deployment Admin</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro">The Deployment Admin and Device Management
-      Tree (DMT) bundle</td>
+	Tree (DMT) bundle</td>
     <tr>
       <td class="kfpro">115. Auto Configuration</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro">The auto-configuration resource plug-in for
-      the deployment admin service.</td>
+	the deployment admin service.</td>
     </tr>
     <tr>
       <td class="kfpro">116. Application Admin</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro">The Application Admin Service</td>
     </tr>
     <tr>
       <td class="kfpro">117. DMT Admin</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 2.0 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro">The Device Management Tree (DMT) Admin bundle.</td>
     </tr>
     <tr>
       <td class="kfpro">119. Monitor Admin</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro"> The Monitor Admin Service. KF Pro only</td>	 
     </tr>
     <tr>
       <td class="kfpro">120. Foreign Application Access</td>
-      <td class="kfpro"> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td class="kfpro"> Stable KF Pro </td>
-      <td class="kfpro"> Full</td>
       <td class="kfpro">A midlet container for Application Admin</td>
     </tr>
     <tr>
       <td> 132. Repository </td>
-      <td> New </td>
-      <td> In Progress </td>
-      <td> New</td>
-      <td> Repository is a service to search and retrieve general
-           resources, e.g. OSGi bundles</td>
+      <td class="nowrap"> 1.1 </td>
+      <td class="nowrap"> U </td>
+      <td> Done </td>
+      <td> Repository is a service to search and retrieve general resources, e.g. OSGi bundles</td>
     </tr>
     <tr>
       <td> 702. XML Parser Service </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> Standardized XML Parser utility</td>
     </tr>
     <tr>
       <td> 703. Position </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> Utility for handling geographic positions</td>
     </tr>
 
     <tr>
       <td> 704. Measurement and State </td>
-      <td> No </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap">  </td>
       <td> Stable </td>
-      <td> Full</td>
       <td> 
 	A utility that provides a consistent way of handling a
 	diverse range of measurements for bundle developers</td>
     </tr>
+    <tr>
+      <td> 705. Promise </td>
+      <td class="nowrap"> 1.0 </td>
+      <td class="nowrap"> N </td>
+      <td> Done </td>
+      <td> 
+	Utility for simplifying asynchronous programming.
+      </td>
+    </tr>
   </table>
 </p>
 
 <br>
 
-<h2 class="kf">Knopflerfish 5 Components - Bundles and Utilities </h2>
+<h2 class="kf">Knopflerfish 6 Components - Bundles and Utilities </h2>
 
 The Knopflerfish distribution includes a set of Knopflerfish specific
 bundles and Utilities. Some of the components include, or are based on
@@ -571,27 +516,27 @@ component / project.
     <tr>
       <td> Desktop </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	The desktop is a graphical tool for managing a running framework. The
 	desktop can be extended using plug-ins. Support added for new
-        OSGi R5 features.
+        OSGi R6 features.
       </td>
     </tr>
 
     <tr>
-      <td> Log Utilities </td>
-      <td> Stable </td>
-      <td> NA</td>
+      <td>Log Utilities </td>
+      <td>Stable </td>
+      <td>NA</td>
       <td> 
 	Utility classes for easier logging.
       </td>
     </tr>
     
     <tr>
-      <td> Misc utilities </td>
-      <td> Stable </td>
-      <td> NA</td>
+      <td>Misc utilities </td>
+      <td>Stable </td>
+      <td>NA</td>
       <td> 
 	Misc utility classes for text, job and IO handling.
       </td>
@@ -599,7 +544,7 @@ component / project.
     <tr>
       <td> Console </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	The Console service provides means for command-based tools to 
 	publish their commands. Any bundle can provide commands.
@@ -609,7 +554,7 @@ component / project.
     <tr>
       <td> TTY Console </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	Console using stdin/stdout
       </td>
@@ -617,7 +562,7 @@ component / project.
     <tr>
       <td> Telnet Console </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	Console using telnet
       </td>
@@ -625,7 +570,7 @@ component / project.
     <tr>
       <td> Console - Framework Commands </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> Commands for handling the core Knopflerfish OSGi
            framework. 
       </td>
@@ -633,40 +578,20 @@ component / project.
     <tr>
       <td> Console - Log Commands </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	Commands for handling the OSGi log
       </td>
     </tr>
     <tr>
-      <td> Console - CM Commands </td>
+      <td> Console -CM Commands </td>
       <td> Stable </td>
-      <td> NA</td>
+      <td>NA</td>
       <td> 
 	Command for handling the Configuration Management data
       </td>
     </tr>
     <tr>
-      <td> Console - SCR Commands </td>
-      <td> Stable </td>
-      <td> NA</td>
-      <td> 
-	Command for handling and examining Declarative Services
-        components.
-      </td>
-    </tr>
-    <tr>
-      <td> Class Patcher </td>
-      <td> Stable </td>
-      <td> NA</td>
-      <td> 
-        This bundle contains the support for class patching using ASM
-        that was previously implemented in the framework. It is
-        implemented as a Weaving Hooks. The configuration properties
-        remain the same in order to be backward compatible.
-      </td>
-    </tr>
-    <tr>
       <th colspan="4">Knopflerfish Extras & Wrapper Components</td>
     </tr>
     <tr>
@@ -706,13 +631,3 @@ component / project.
   </table>
 </p>
 
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/htdocs/html_src/desktop_main.html b/htdocs/html_src/desktop_main.html
new file mode 100644
index 0000000..acbfa95
--- /dev/null
+++ b/htdocs/html_src/desktop_main.html
@@ -0,0 +1,131 @@
+<h1 class="kf">The Knopflerfish Desktop</h1>
+
+<div style="align:float;"><a href="images/desktop_info_manifest.gif"><img align=right src="images/desktop_info_manifest_200.png" border=0></a>
+</div>
+
+<p>
+The Knopflerfish OSGi Desktop displays a graphical overview of the OSGi
+framework. Most common operations as install, start, stop and update can
+be performed on bundles using the desktop. Additionally, bundle and service
+detail information is shown, and an experimental "Save deploy archive" is
+included.
+</p>
+
+<p>
+The desktop is a standard OSGi bundle, using Swing. The desktop is primarily
+designed to manage a locally running framework.
+</p>
+
+<p>
+The desktop can be customized using plugin services, see <a href="releases/$(VERSION)/javadoc/org/knopflerfish/service/desktop/SwingBundleDisplayer.html">SwingBundleDisplayer</a> for details.
+</p>
+
+<p>
+The Desktop bundle can be found in
+<pre>
+  knopflerfish/osgi/bundles/desktop
+</pre>
+
+<p>
+When started, it creates a window with four main areas:
+<dl>
+  <dt>Toolbar
+  <dd>The top toolbar provides quick access to common operations
+    as start/stop/update bundles.
+  <dt>Bundle view
+  <dd>The center bundle view area display all installed bundles
+    and their states. By clicking on bundles in this are,
+    detail information is displayed in the <b>Bundle detail area</b>
+    Four different views a supported internally (new can be installed):
+    <ul>
+      <li><a href="#view_icons">Icons</a> - each bundle is displayed as an icon.
+      <li><a href="#view_details">Details</a> - each bundle is displayed as a table row.
+      <li><a href="#view_spin">Spin</a> - each bundle is displayed in a really cool graphics view.
+      <li><a href="#view_timeline">Time line</a> - each bundle event is displayed in a zoomable time line view.
+    </ul>
+  <dt>Bundle detail area
+  <dd>The rightmost bundle detail area shows detailed
+    information on selected bundles such as:
+   <ul>
+    <li>manifest
+    <li>bundle closure
+    <li>imported/exported services
+    <li>imported/exported packages
+    <li>bundle logs.<br>
+   </ul>
+   New detail pages can be installed run-time using plug-ins.
+
+  <dt>Framework console
+  <dd>The bottom console area allows interaction with the
+    text console. This console acts exactly as the <tt>consoltty</tt> bundle, but does not require a shell or DOS window to run.
+</dl>
+
+
+<a name="#view_icons"></a>
+<h4>Icon view</h4>
+To view the installed bundles as icons, select
+<pre>
+View -> Large Icons
+</pre>
+<img src="images/desktop_icons.gif" border=1 align="left">
+
+<table>
+  <tr>
+    <td><img src="images/bundle_installed.gif"></td>
+    <td>Bundle which has a BundleActivator</td>
+  </tr>
+  <tr>
+    <td><img src="images/bundle_active.gif"></td>
+    <td>Active bundle</td>
+  </tr>
+  <tr>
+    <td><img src="images/lib_installed.gif"></td>
+    <td>"Library" bundle which has no BundleActivator</td>
+  </tr>
+</table>
+
+<br clear="all"/>
+
+<p>
+Bundles can be selected by clicking.
+</p>
+
+<a name="#view_details"></a>
+<h4>Detail list view</h4>
+To view the installed bundles as a detailed list, select
+<pre>
+View -> Details
+</pre>
+<img src="images/desktop_details.gif" border=1>
+<p>
+Bundles can be selected by clicking.
+</p>
+
+
+<a name="#view_spin"></a>
+<h4>Detail spin view</h4>
+To view the installed bundles as graphics, select
+<pre>
+View -> Spin
+</pre>
+<img src="images/desktop_spin.gif" border=1>
+<p>
+Dependencies between bundles and services are shown as connecting
+lines. Not how the console bundle depends on three other bundles
+in the image above.
+<p>
+Bundles can be selected by clicking.
+</p>
+
+<a name="#view_timeline"></a>
+<h4>Detail spin view</h4>
+To view the installed bundles as a time line, select
+<pre>
+View -> Time line
+</pre>
+<img src="images/desktop_timeline.gif" border=1>
+<p>
+Each bundle has a horizontal line, with bundle events marked for each bundle
+<p>
+Bundles can be selected by clicking.
+</p>
diff --git a/htdocs/html_src/index_main.html b/htdocs/html_src/index_main.html
new file mode 100644
index 0000000..60a3fbd
--- /dev/null
+++ b/htdocs/html_src/index_main.html
@@ -0,0 +1,59 @@
+<a name="about_knopflerfish"></a>
+<h1 class="kf">Knopflerfish version $(VERSION) </h1>
+
+This is the documentation for version $(VERSION) of Knopflerfish - OSGi Service Platform. 
+<p>
+Knopflerfish 6 (KF6) is the first release of
+Knopflerfish which is implemented according to the <a
+href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">
+OSGi R6 specifications</a>.
+</p>
+
+<p>
+  The <a href="components.html">Contents</a> section
+  provides a summary of what is included in the release.
+</p>
+
+<p>
+  The <a href="release_notes.html">Release Notes</a> has the full
+  summary of all changes.
+</p>
+
+<h2 class="kf">About Knopflerfish</h2>
+<a href="http://www.makewave.com">Makewave</a>
+is the maintainer and sponsor of the 
+<a href="http://www.knopflerfish.org">Knopflerfish project</a> and has
+several developers assigned to develop and maintain the Knopflerfish
+OSGi distribution.  
+</p>
+<p>
+The Knopflerfish project's goal is to develop and distribute
+easy to use open source code, build tools and applications, related to
+the OSGi framework. See 
+<a href="http://www.knopflerfish.org/charter_se.html">charter</a>
+for details. 
+</p>
+
+<a name="about_osgi"></a>
+<h2 class="kf">The OSGi Service Platform</h2>
+The <a href="http://www.osgi.org">OSGi Alliance</a>
+specifies the <b>OSGi Service Platform</b>,
+an industry standard Java application platform, allowing multiple
+applications, to securely run in a 
+single JVM. These programs can share resources as data, functionality
+and threads.
+<p>
+  Knopflerfish OSGi is an implementation of the OSGi Specifications.
+</p>
+<p>
+Applications areas for OSGi ranges from use as a service platform on
+embedded devices, to plugin mechanisms for larger programs.
+The initial goal of OSGi was the embedded market, but other uses
+are certainly possible.
+</p>
+
+<p>
+For more information on the OSGi Alliance, see
+<a href="http://www.osgi.org">http://www.osgi.org</a>
+</p>
+
diff --git a/htdocs/html_src/installing.html b/htdocs/html_src/installing.html
new file mode 100644
index 0000000..fe01d26
--- /dev/null
+++ b/htdocs/html_src/installing.html
@@ -0,0 +1,70 @@
+<h1 class="kf">Installing Knopflerfish</h1>
+
+<h2 class="kf">Installation instructions for the complete framework</h2>
+
+<p>
+You need at least <a
+href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java
+SE 6</a> to install the framework.
+</p>
+
+The Knopflerfish OSGi framework should be installed by simply
+running the distribution jar file, either by double-clicking on the
+distribution file, or by the command:
+<pre class="shell">
+    > java -jar knopflerfish_osgi_sdk_<i><version></i>.jar
+</pre>
+
+This will open an installation wizard for selection installation
+directory and which components to install.
+<div class="kf">
+ <dl>
+   <dt>OSGi framework runtime files</dt>
+   <dd>The execution environment, including the Knopflerfish OSGi framework and bundles</dd>
+   <dt>Java sources and build environment</dt>
+   <dd>
+     Installs all java source code files and a 
+     <a href="building.html">
+       build system</a> for rebuilding Knopflerfish locally form the supplied source files.
+   </dd>
+   <dt>Knopflerfish Documentation</dt>
+   <dd>The Knopflerfish user and developer documentation.</dd>
+ </dl>
+</div>
+<img src="images/install_options.png">
+
+<p>
+If you don't need the wizard, installation can also be done in batch
+mode, by entering the command:
+
+<pre class="shell">
+    > java -jar knopflerfish_osgi_sdk_<i><version></i>.jar -batch -silent
+</pre>
+
+...or by simply unpacking the jar file manually.
+
+(WinZip is also capable of unpacking .jar files)
+
+<p>
+After successfully installing Knopflerfish you may move on to 
+<a href="running.html">
+  starting the framework.</a>
+
+<a name="download"></a>
+<h2 class="kf">Installation instructions for the tiny, remotely loading framework</h2>
+
+<ol>
+ <li>Unzip the distribution zip file
+ <li>Execute <tt>framework_compact.jar</tt>
+<pre class="shell">
+    > cd knopflerfish.org/osgi
+    > java -jar framework_compact.jar
+</pre>
+
+</ol>
+All bundles defined in <tt>remote-init.xargs</tt> will be loaded over the 
+net. 
+
+<p>
+Please see the <a href="running.html"> next section</a> for setting and configuring Knopflerfish run time options using <tt>.xargs</tt> files.
+</p>
diff --git a/htdocs/html_src/license.html b/htdocs/html_src/license.html
new file mode 100644
index 0000000..5c4d87e
--- /dev/null
+++ b/htdocs/html_src/license.html
@@ -0,0 +1,12 @@
+<h1 class="kf">Knopflerfish License</h1>
+The Knopflerfish OSGi service platform is available under a 
+<a href="http://www.opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</a>
+<p>
+A notice with third party licenses is available in a separate <a
+href="../NOTICE.txt">NOTICE.txt</a> file.
+<p>
+
+<h2 class="kf">Knopflerfish License</h2>
+<pre class="shell">
+ at LICENSE.txt@
+</pre>
diff --git a/docs/osgi_service_tutorial.html b/htdocs/html_src/osgi_service_tutorial.html
similarity index 58%
copy from docs/osgi_service_tutorial.html
copy to htdocs/html_src/osgi_service_tutorial.html
index 2ee75bd..0134489 100644
--- a/docs/osgi_service_tutorial.html
+++ b/htdocs/html_src/osgi_service_tutorial.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The OSGi Service Tutorial"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  OSGi Service Tutorial"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  OSGi Service Tutorial</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">OSGi Service Tutorial</h1>
+<h1 class="kf">OSGi Service Tutorial</h1>
 
 <h2 class="kf">Contents</h2>
 <ol>
@@ -119,12 +22,12 @@ an OSGi framework with a set of <i>properties</i>. Any java object can be regist
 </div>
 
 <p>
-The OSGi <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">R3 specification</a>, chapter 4.10 is highly recommended reading. Also, the javadoc for <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html">BundleContext</a> contains lot of information.
+The OSGi <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">R3 specification</a>, chapter 4.10 is highly recommended reading. Also, the javadoc for <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html">BundleContext</a> contains lot of information.
 </p>
 
 <p>
 The client of a service is always an OSGi bundle, i.e. a piece of java
-code possible to start via the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleActivator.html">BundleActivator</a> interface.
+code possible to start via the <a href="$(JAVADOC)/org/osgi/framework/BundleActivator.html">BundleActivator</a> interface.
 </p>
 
 <p>
@@ -142,7 +45,7 @@ Both publishing/registering and usage of services can be restricted by using jav
 Long      i     = new Long(20);
 Hashtable props = new Hashtable();
 props.put("description", "This an long value");
-bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>(Long.class.getName(), i, props);
+bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>(Long.class.getName(), i, props);
 </pre>
 
 <p>
@@ -153,7 +56,7 @@ bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/fra
 <h2 class="kf">What is a service factory?</h2>
 
 <div class="intro">
-An OSGi service factory is a special class <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceFactory.html">ServiceFactory</a>, which
+An OSGi service factory is a special class <a href="$(JAVADOC)/org/osgi/framework/ServiceFactory.html">ServiceFactory</a>, which
 can create individual instances of service objects for <i>different</i> bundles.</div>
 
 <p>
@@ -162,7 +65,7 @@ bundle uses the service. For example, the log service needs to be able to
 print the logging bundle's id, otherwise the log would be hard to read.
 </p>
 <p>
-A service factory is registered in exactly the same way as a normal service, using <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>, the only difference is an indirection step before the actual service object is handed out.
+A service factory is registered in exactly the same way as a normal service, using <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>, the only difference is an indirection step before the actual service object is handed out.
 </p>
 
 <p>
@@ -202,10 +105,10 @@ The service concept is a very general-purpose tool, but some examples are:
  <li>Import functionality from other bundles<br>
  <li>Register listeners for events from other bundles<br>
  <li>Expose external devices, such as UPnP devices or even hardware,
-     to other OSGi bundles. See the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/device/package-summary.html">Device</a> and <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/upnp/package-summary.html">UPnP</a> APIs
+     to other OSGi bundles. See the <a href="$(JAVADOC)/org/osgi/service/device/package-summary.html">Device</a> and <a href="$(JAVADOC)/org/osgi/service/upnp/package-summary.html">UPnP</a> APIs
  <li>Expose java code running in OSGI to an external network, e.g. via the 
    UPnP or <a href="bundledoc/index.html?docpage=soap/index.html">SOAP</a> protocols. 
- <li>Bundle configuration, using the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/cm/package-summary.html">Configuration Manager</a>
+ <li>Bundle configuration, using the <a href="$(JAVADOC)/org/osgi/service/cm/package-summary.html">Configuration Manager</a>
 </ul>
 
 <p>
@@ -223,25 +126,25 @@ points to a <i>service object</i>.
 
 To access a service, the following procedure must always be used (possibly wrapped by utility code):
 <ol>
- <li>Get a <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceReference.html">ServiceReference</a></tt>
- <li>Get the service object from the reference, using <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">BundleContext.getService()</a></tt>
+ <li>Get a <tt><a href="$(JAVADOC)/org/osgi/framework/ServiceReference.html">ServiceReference</a></tt>
+ <li>Get the service object from the reference, using <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">BundleContext.getService()</a></tt>
 </ol>
 
 <tt>ServiceReference</tt> are typically retrieved by:
 <ol>
- <li>Explicit usage of <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">BundleContext.getService()</a></tt><br/>
+ <li>Explicit usage of <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">BundleContext.getService()</a></tt><br/>
      This returns either the highest ranked service of the given class, or 
      <tt>null</tt>
 
- <li>Explicit usage of <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">BundleContext.getServices()</a></tt><br/>
+ <li>Explicit usage of <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">BundleContext.getServices()</a></tt><br/>
     This return the complete set of matching services, or <tt>null</tt>
- <li>Callback from a <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a></tt>
- <li>Using the utility class <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a></tt>
+ <li>Callback from a <tt><a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a></tt>
+ <li>Using the utility class <tt><a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a></tt>
 </ol>
 
 <p>
 All cases, except the first, allow the client to specify a set of properties
-that the service must fulfill. These properties are specified using LDAP <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/Filter.html">filters</a>. Zero or more service
+that the service must fulfill. These properties are specified using LDAP <a href="$(JAVADOC)/org/osgi/framework/Filter.html">filters</a>. Zero or more service
 references can match a given filter. 
 </p>
 <p>
@@ -269,7 +172,7 @@ After this, the service object can be accessed as any other java object. Actuall
 <h2 class="kf">Releasing services</h2>
 <p>
 As soon as the service isn't needed anymore, the client should <b>release</b>
-the service by calling the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#ungetService(org.osgi.framework.ServiceReference)">BundleContext.ungetService()</a> method.
+the service by calling the <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#ungetService(org.osgi.framework.ServiceReference)">BundleContext.ungetService()</a> method.
 </p>
 
 <pre class="code">
@@ -285,14 +188,14 @@ No special service cleanup is needed in BundleActivator.stop().
 Note that service should only be released when <b>really</b> unused. Some
 services may keep a state for each using bundle, and releasing the service
 will release this state, which may, or may not, be the intention. Each service
-documentation must be consulted. An example of this is the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/http/HttpService.html">HttpService</a>, which
+documentation must be consulted. An example of this is the <a href="$(JAVADOC)/org/osgi/service/http/HttpService.html">HttpService</a>, which
 will remove all servlets and resources from itself when a client releases
 the HttpService.
 </p>
 
 <p>
 Some special words are needed when using service listeners. A listener
-will get a <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html#UNREGISTERING">ServiceEvent.UNREGISTERING</a> event when a service is in the process
+will get a <a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html#UNREGISTERING">ServiceEvent.UNREGISTERING</a> event when a service is in the process
 of being unregistering from the framework.
 </p>
 
@@ -336,7 +239,7 @@ Suggested practices:
      want to make life easier for clients, go for the white-board model.
 
  <li>Use <b>listeners</b><br>
-     <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a> and <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> provide various levels of automation for getting services.
+     <a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a> and <a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> provide various levels of automation for getting services.
 
  <li>Use the declarative <b>ServiceBinder</b><br>
      The <a href="http://gravity.sourceforge.net/servicebinder/">ServiceBinder</a> by Cervantes/Hall provide a framework for cases where it's possible
@@ -348,8 +251,8 @@ Suggested practices:
 Consider the bad-styled, but common, code:
 <pre class="code">
 <div class="head"><a name="ex_bad"></a>Bad code example</div>
-01: ServiceReference sr  =  bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">getServiceReference</a>(HttpService.class.getName());
-02: HttpService http     = (HttpService)bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">getService</a>(sr);
+01: ServiceReference sr  =  bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">getServiceReference</a>(HttpService.class.getName());
+02: HttpService http     = (HttpService)bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">getService</a>(sr);
 03: http.registerServlet(....)
 </pre>
 
@@ -395,11 +298,11 @@ By using a service listener, the code can avoid the first ServiceReference
 </p>
 <pre class="code">
 <div class="head"><a name="ex_listener"></a>Using a service listener</div>
-01: ServiceListener sl = new <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a>() {
-02:   public void ServiceChanged(<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html">ServiceEvent</a> ev) {
+01: ServiceListener sl = new <a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a>() {
+02:   public void ServiceChanged(<a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html">ServiceEvent</a> ev) {
 03:      ServiceReference sr = ev.getServiceReference();
 04:      switch(ev.getType()) {
-05:        case <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html#REGISTERED">ServiceEvent.REGISTERED</a>:
+05:        case <a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html#REGISTERED">ServiceEvent.REGISTERED</a>:
 06:          {
 07:             HttpService http = (HttpService)bc.getService(sr);
 08:             http.registerServlet(...);
@@ -413,8 +316,8 @@ By using a service listener, the code can avoid the first ServiceReference
 16:
 17: String filter = "(objectclass=" + HttpService.class.getName() + ")";
 18: try {
-19:   bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
-20: } catch (<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
+19:   bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
+20: } catch (<a href="$(JAVADOC)/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
 21:   e.printStackTrace(); 
 22: }
 </pre>
@@ -429,13 +332,13 @@ listener:
 <pre class="code">
 <div class="head"><a name="ex_manualevents"></a>Construct ServiceEvents - contd. from above</div>
 18: try {
-19:   bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
-20:   ServiceReference[] srl = bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">getServiceReferences</a>(null, filter);
+19:   bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
+20:   ServiceReference[] srl = bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">getServiceReferences</a>(null, filter);
 21:   for(int i = 0; srl != null && i < srl.length; i++) {
 22:     sl.serviceChanged(new ServiceEvent(ServiceEvent.REGISTRED,
 23:                                      srl[i]));
 24:   }
-25: } catch (<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
+25: } catch (<a href="$(JAVADOC)/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
 26:   e.printStackTrace(); 
 27: }
 </pre>
@@ -447,7 +350,7 @@ is a one-time operation. But if continuous use of a service is intended, it's ea
 
 <pre class="code">
 <div class="head"><a name="ex_tracker"></a>ServiceTracker example</div>
-01: <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> logTracker = new ServiceTracker(bc, <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
+01: <a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> logTracker = new ServiceTracker(bc, <a href="$(JAVADOC)/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
 02: logTracker.open();
 03: ((LogService)logTracker.getService()).doLog(...); 
 </pre>
@@ -465,7 +368,7 @@ usage a bit:
 01: ServiceTracker logTracker;
 02:
 03: void init() {
-04:   logTracker = new ServiceTracker(bc, <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
+04:   logTracker = new ServiceTracker(bc, <a href="$(JAVADOC)/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
 05: }
 06:
 07: LogService getLog() {
@@ -537,7 +440,7 @@ being HttpServlets, and use the "alias" property to set the alias.
 </p>
 
 <p>
-Below is a minimalistic wrapper for the existing http service: (a complete class doing this can be found in the <a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HttpWrapper.java">Http Console</a> example code.
+Below is a minimalistic wrapper for the existing http service: (a complete class doing this can be found in the <a href="https://github.com/knopflerfish/knopflerfish.org/tree/maste/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HttpWrapper.java">Http Console</a> example code.
 </p>
 
 <pre class="code">
@@ -613,14 +516,4 @@ Below is a minimalistic wrapper for the existing http service: (a complete class
 </pre>
 
 <hr>
-<i>$Rev: 3482 $, $Author: cl $</i>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
+<i>$Rev$, $Author$</i>
diff --git a/docs/osgi_with_security.html b/htdocs/html_src/osgi_with_security.html
old mode 100644
new mode 100755
similarity index 76%
rename from docs/osgi_with_security.html
rename to htdocs/html_src/osgi_with_security.html
index 662228d..8fe0dfa
--- a/docs/osgi_with_security.html
+++ b/htdocs/html_src/osgi_with_security.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Running OSGi with Security"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  OSGi with Security"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  OSGi with Security</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">Running Knopflerfish OSGi with Security</h1>
+<h1 class="kf">Running Knopflerfish OSGi with Security</h1>
 
 <h2 class="kf">Contents</h2>
 <ol>
@@ -537,13 +440,3 @@ the CPA service and security in OSGi in general. The specification
 can be downloaded from
 <a href=http://www.osgi.org/Specifications/HomePage>here</a>.
 </p>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/programming.html b/htdocs/html_src/programming_main.html
similarity index 85%
rename from docs/programming.html
rename to htdocs/html_src/programming_main.html
index d6c333c..a72d601 100644
--- a/docs/programming.html
+++ b/htdocs/html_src/programming_main.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Information, tips and recommendations for developing OSGi bundles"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Develop OSGi bundles"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Develop OSGi bundles</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<div style="margin-left: 5px; margin-top: 5px; margin-bottom: 5px;">
+<div style="margin-left: 5px; margin-top: 5px; margin-bottom: 5px;">
 
 <h1 class="kf">Programming Knopflerfish</h1>
 
@@ -110,7 +13,7 @@
   <li><a href="#win32">Win32 tips</a>
   <li><a href="#optimizing">Optimizing startup time, memory or disk usage</a>
   <li><a href="#custom">Details on the included ant build system</a>
-  <li><a href="svn_info.html">Using the Subversion repository</a>
+  <li><a href="http://www.knopflerfish.org/git_info.html">Using the GitHub repository</a>
   <!-- <li><a href="perf.html">Performance test</a> I don't think this is up-to-date ? [CL] -->
 </ol>
 
@@ -124,7 +27,7 @@ See the <a href="http://www.knopflerfish.org/eclipse_plugin.html">
 <h3 class="kf">Prerequisites</h3>
 <ul>
   <li><a href="http://en.wikipedia.org/wiki/Java_Development_Kit"><i>Java Development Kit (JDK)</i></a>
-  <li><i>Ant 1.8 or later</i>, available from <a href="http://ant.apache.org/">ant.apache.org</a>
+  <li><i>Ant 1.9.3 or later</i>, available from <a href="http://ant.apache.org/">ant.apache.org</a>
 </ul>
 
 
@@ -1519,13 +1422,3 @@ The following apply:
     to a bundle (instead of referencing the .jar from <tt>Bundle-Classpath</tt>)
 </p>
 </ol>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/htdocs/html_src/release_page.html.in b/htdocs/html_src/release_page.html.in
new file mode 100644
index 0000000..7c41ca1
--- /dev/null
+++ b/htdocs/html_src/release_page.html.in
@@ -0,0 +1,140 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+
+<html>
+  <head>
+    <meta http-equiv = "Content-Type"
+	  content    = "text/html; charset=ISO-8859-1"/>
+    
+    <meta http-equiv = "CACHE-CONTROL"
+	  content    = "NO-CACHE"/>
+
+    <meta name       = "description"
+	  content    = "Knopflerfish OSGi @VERSION@ - is an Open Source OSGi Service Platform designed to be compliant with OSGi R6"/>
+    
+    <meta name       = "title"
+	  content    = "Knopflerfish OSGi @VERSION@ - Release Overview Page"/>
+
+    <title>Knopflerfish OSGi @VERSION@ - Release Overview Page</title>
+
+    <LINK href="docs/css/knopflerfish.css" rel="stylesheet" type="text/css">
+
+  </head>
+
+  <body>
+    <div id="main">
+      <a name="top"></a>
+      <div id="header">
+	<div id="header_logo">
+	  <a href="index.html"><img src="docs/images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
+	</div>
+	<div id="header_centerbox">
+	  <div class="header_centerinfo_top">
+	    Distribution Overview
+	  </div>
+	  <div class="header_centerinfo_bottom">
+	    Knopferfish OSGi @VERSION@
+	  </div>
+	</div>
+	<div id="header_rightinfo">
+	  <div class="header_stylish">
+	    Open Source OSGi Service Platform Maintained by
+	  </div>
+	  <a href="http://www.makewave.com">
+	    <img border="0" alt="Makewave" src="docs/images/makewave_logo.png" border="0" style="margin-top: 4px;">
+	  </a>
+	</div>
+	<div id="header_fade">
+	</div>
+      </div>
+      <div id="leftmenu">
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2"><a class="navigation_disabled" href="index.html">Knopflerfish @VERSION@</a></dt>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="docs/changelog.html">Change log</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="docs/release_notes.html">Release note</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="docs/index.html">Documentation</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="junit_grunt/index.xml">Test results (XML)</a></dd>
+	</dl>
+
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://github.com/knopflerfish/knopflerfish.org/issues">Bug tracker</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="osgi/jars/index.xml">Bundle repository</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="@REPO_URL@/@TAG@">Source (GitHub)</a></dd>
+	</dl>
+
+	<dl class="leftmenu2_last">
+	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
+	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com"><img src="docs/images/makewave_logo_126x16.gif" border="0"></a><br>
+	  <dd>
+	    <div style="font-size: 0.75em; color: #444444;
+			font-family: Helvetica, Sans-Serif;
+			margin-left: -10px;">
+	      <em>OSGi for Business Use</em>
+	    </div>
+	  </dd>
+      </div>
+
+      <div id="mainblock">
+	<a name="release_page"></a>
+
+	<h1 class="kf">Knopflerfish @VERSION@</h1>
+
+	This is the release page for Knopflerfish @VERSION@
+	@BUILD_KIND@ from @REPO_URL@/@TAG@, made on @DATE at .
+
+	<h2 class="kf">Downloads</h2>
+
+	<table cellpadding="2">
+	  <tr>
+	    <th>Name</th>
+	    <th>Size</th>
+	    <th>Description</th>
+	  </tr>
+
+	  <tr>
+	    <td>
+	      <a href="knopflerfish_osgi_sdk_ at VERSION@.jar">
+		knopflerfish_osgi_sdk_ at VERSION@.jar</a>
+	    </td>
+	    <td>
+	      @DISTRIB_SDK_FILE_LENGTH@
+	    </td>
+	    <td>
+	      Complete OSGi development kit, including precompiled
+	      framework and bundles, source code and docs.
+	      Self-extracting.
+	    </td>
+	  </tr>
+
+	  <tr>
+	    <td>
+	      <a href="knopflerfish_osgi_tiny_ at VERSION@.zip">
+		knopflerfish_osgi_tiny_ at VERSION@.zip</a><br> 
+	    </td>
+	    <td>
+	      @DISTRIB_TINY_FILE_LENGTH@
+	    </td>
+	    <td>
+	      Remotely loading framework, no source, no docs, just
+	      framework.jar and config files that will load all
+	      bundles from the web.
+	    </td>
+	  </tr>
+		
+	</table>
+
+	<p>
+	  <a class=top href="#top">top</a>
+      </div>
+      <div id="footer">
+	<div id="copyright">
+	  Copyright © 2003- at YEAR@ The Knopflerfish Project. All rights reserved.
+	</div>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/docs/running.html b/htdocs/html_src/running.html
similarity index 58%
rename from docs/running.html
rename to htdocs/html_src/running.html
index c5827a5..7953de8 100644
--- a/docs/running.html
+++ b/htdocs/html_src/running.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Running Knopflerfish OSGi"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Running Knopflerfish"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Running Knopflerfish</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	
 <h1 class="kf">Running Knopflerfish</h1>
 
 <h2 class="kf">Starting Knopflerfish</h2>
@@ -296,13 +199,3 @@ The Knopflerfish SDK includes the following .xargs files by default
 <p>
   There is a default properties setting in the <code>props.xargs</code> file.
 </p>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/osgi_service_tutorial.html b/htdocs/html_src/services_main.html
similarity index 52%
rename from docs/osgi_service_tutorial.html
rename to htdocs/html_src/services_main.html
index 2ee75bd..a7cd919 100644
--- a/docs/osgi_service_tutorial.html
+++ b/htdocs/html_src/services_main.html
@@ -1,101 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "The OSGi Service Tutorial"/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  OSGi Service Tutorial"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  OSGi Service Tutorial</title>
-
-    <LINK href="./css/knopflerfish.css" rel="stylesheet" type="text/css">
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <a name="top"></a>
-      <div id="header">
-	<div id="header_logo">
-	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
-	</div>
-	<div id="header_centerbox">
-	  <div class="header_centerinfo_top">
-	    Distribution Documentation
-	  </div>
-	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
-	  </div>
-	</div>
-	<div id="header_rightinfo">
-	  <div class="header_stylish">
-	    Open Source OSGi Service Platform Maintained by
-	  </div>
-	  <a href="http://www.makewave.com">
-	    <img border="0" alt="Makewave" src="./images/makewave_logo.png" border="0" style="margin-top: 4px;">
-	  </a>
-	</div>
-	<div id="header_fade">
-	</div>
-      </div>
-      <div id="leftmenu">
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="index.html">Knopflerfish 5.1.0</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="components.html">Contents</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="release_notes.html">Release Notes</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="license.html">License</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Getting Started</dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="installing.html">Installing</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="running.html">Running</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="building.html">Building</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="programming.html">Programming</a></dd> 
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="testing.html">Testing</a></dd>
-	</dl>
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2">Developer's Doc</dt>
-	  <dd class="leftmenu2"><a class="navigation_disabled" href="tutorials.html">Tutorials</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="javadoc/index.html">Java API docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="jars/index.html">Bundle jar docs</a></dd>
-	</dl>
-
-	<dl class="leftmenu2">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://sourceforge.net/forum/forum.php?forum_id=328005">KF Forum</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://sourceforge.net/tracker/?atid=567241&group_id=82798&func=browse">Bug tracker</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="../osgi/jars/index.xml">Bundle repository</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="https://www.knopflerfish.org/svn/knopflerfish.org/tags/5.1.0">Source (subversion)</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
-	</dl>
-
-	<dl class="leftmenu2_last">
-	  <dt class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
-	  <dd class="leftmenu2"><a class="navigation_enabled" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
-	  <dd class="leftmenu2"> </dd>
-	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="navigation_enabled" href="http://www.makewave.com"><img src="./images/makewave_logo_126x16.gif" border="0"></a><br>
-	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
-	      <em>OSGi for Business Use</em></div>
-	  </dd>
-	</dl>
-      </div>
-      <div id="mainblock">
-	<h1 class="kf">OSGi Service Tutorial</h1>
+<h1 class="kf">The OSGi Service Tutorial</h1>
 
 <h2 class="kf">Contents</h2>
 <ol>
@@ -108,23 +11,21 @@
  <li><a href="#white">The white-board model</a>
 </ol>
 
-
-
 <a name="what_is"></a>
 <h2 class="kf">What is a service?</h2>
 
-<div class="intro" style="width: 300px;">
+<div class="intro">
 An OSGi service is a java object instance, <i>registered</i> into
 an OSGi framework with a set of <i>properties</i>. Any java object can be registered as a service, but typically it implements a well-known interface.
 </div>
 
 <p>
-The OSGi <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">R3 specification</a>, chapter 4.10 is highly recommended reading. Also, the javadoc for <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html">BundleContext</a> contains lot of information.
+The OSGi <a href="http://www.osgi.org/osgi_technology/download_specs.asp?section=2">R3 specification</a>, chapter 4.10 is highly recommended reading. Also, the javadoc for <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html">BundleContext</a> contains lot of information.
 </p>
 
 <p>
 The client of a service is always an OSGi bundle, i.e. a piece of java
-code possible to start via the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleActivator.html">BundleActivator</a> interface.
+code possible to start via the <a href="$(JAVADOC)/org/osgi/framework/BundleActivator.html">BundleActivator</a> interface.
 </p>
 
 <p>
@@ -137,23 +38,23 @@ than the ones given by memory limits or java security permissions.
 Both publishing/registering and usage of services can be restricted by using java security permissions.
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 <div class="head">Registering a very simple object as a service</div>
-Long      i     = new Long(20);
+Integer   i     = new Long(20);
 Hashtable props = new Hashtable();
 props.put("description", "This an long value");
-bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>(Long.class.getName(), i, props);
+bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>(Long.class.getName(), i, props);
 </pre>
 
 <p>
-<b>Note</b>: a service can also be registered as several interfaces. In this case, the object <i>must</i> implement all of the interfaces.
+<b>Note</b>: a service can also be registered as serveral interfaces. In this case, the object <i>must</i> implement all of the interfaces.
 </p>
 
 <a name="what_isfactory"></a>
 <h2 class="kf">What is a service factory?</h2>
 
 <div class="intro">
-An OSGi service factory is a special class <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceFactory.html">ServiceFactory</a>, which
+An OSGi service factory is a special class <a href="$(JAVADOC)/org/osgi/framework/ServiceFactory.html">ServiceFactory</a>, which
 can create individual instances of service objects for <i>different</i> bundles.</div>
 
 <p>
@@ -162,7 +63,7 @@ bundle uses the service. For example, the log service needs to be able to
 print the logging bundle's id, otherwise the log would be hard to read.
 </p>
 <p>
-A service factory is registered in exactly the same way as a normal service, using <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>, the only difference is an indirection step before the actual service object is handed out.
+A service factory is registered in exactly the same way as a normal service, using <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#registerService(java.lang.String, java.lang.Object, java.util.Dictionary)">registerService</a>, the only difference is an indirection step before the actual service object is handed out.
 </p>
 
 <p>
@@ -170,11 +71,11 @@ The client using the service need not, and should not, care if a service is
 generated by a factory or by a plain object.
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 <div class="head">A simple service factory example</div>
   class LongFactory implements ServiceFactory {
     public Object getService(Bundle bundle, ServiceRegistration reg) { 
-       // each bundle gets a Long with it's own id
+       // each bundle gets a Long with its own id
        return new Long(bundle.getBundleId());
     }
     void ungetService(Bundle bundle, ServiceRegistration reg, Object service) {
@@ -202,10 +103,8 @@ The service concept is a very general-purpose tool, but some examples are:
  <li>Import functionality from other bundles<br>
  <li>Register listeners for events from other bundles<br>
  <li>Expose external devices, such as UPnP devices or even hardware,
-     to other OSGi bundles. See the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/device/package-summary.html">Device</a> and <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/upnp/package-summary.html">UPnP</a> APIs
- <li>Expose java code running in OSGI to an external network, e.g. via the 
-   UPnP or <a href="bundledoc/index.html?docpage=soap/index.html">SOAP</a> protocols. 
- <li>Bundle configuration, using the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/cm/package-summary.html">Configuration Manager</a>
+     to other OSGi bundles. See the <a href="$(JAVADOC)/org/osgi/service/device/package-summary.html">Device</a> and <a href="$(JAVADOC)/org/osgi/service/upnp/package-summary.html">UPnP</a> APIs
+ <li>Bundle configuration, using the <a href="$(JAVADOC)/org/osgi/service/cm/package-summary.html">Configuration Manager</a>
 </ul>
 
 <p>
@@ -223,31 +122,31 @@ points to a <i>service object</i>.
 
 To access a service, the following procedure must always be used (possibly wrapped by utility code):
 <ol>
- <li>Get a <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceReference.html">ServiceReference</a></tt>
- <li>Get the service object from the reference, using <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">BundleContext.getService()</a></tt>
+ <li>Get a <tt><a href="$(JAVADOC)/org/osgi/framework/ServiceReference.html">ServiceReference</a></tt>
+ <li>Get the service object from the reference, using <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">BundleContext.getService()</a></tt>
 </ol>
 
-<tt>ServiceReference</tt> are typically retrieved by:
+<tt>ServiceReference</tt> are typically retreived by:
 <ol>
- <li>Explicit usage of <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">BundleContext.getService()</a></tt><br/>
+ <li>Explicit usage of <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">BundleContext.getService()</a></tt><br/>
      This returns either the highest ranked service of the given class, or 
      <tt>null</tt>
 
- <li>Explicit usage of <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">BundleContext.getServices()</a></tt><br/>
+ <li>Explicit usage of <tt><a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">BundleContext.getServices()</a></tt><br/>
     This return the complete set of matching services, or <tt>null</tt>
- <li>Callback from a <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a></tt>
- <li>Using the utility class <tt><a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a></tt>
+ <li>Callback from a <tt><a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a></tt>
+ <li>Using the utility class <tt><a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a></tt>
 </ol>
 
 <p>
 All cases, except the first, allow the client to specify a set of properties
-that the service must fulfill. These properties are specified using LDAP <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/Filter.html">filters</a>. Zero or more service
+that the service must fullfill. These properties are specified using LDAP <a href="$(JAVADOC)/org/osgi/framework/Filter.html">filters</a>. Zero or more service
 references can match a given filter. 
 </p>
 <p>
 A typical filter contains a class name and a set of properties. The example below matches a Http service having a "port" property equal to 80.
 </p>
-<pre class="code">
+<pre class="codeexample">
 <div class="head">An LDAP filter string</div>
 (&(objectclass=org.osgi.service.http.HttpService)(port=80))
 </pre>
@@ -256,7 +155,7 @@ A typical filter contains a class name and a set of properties. The example belo
 As soon as a ServiceReference is available, the service object can be accessed
 using a cast:
 </p>
-<pre class="code">
+<pre class="codeexample">
   HttpService http = (HttpService)bc.getService(sr);
 </pre>
 
@@ -264,15 +163,14 @@ using a cast:
 After this, the service object can be accessed as any other java object. Actually, it <b>is</b> a fully normal java object, more exact, it is the same object as the bundle registering the service created.
 </p>
 
-
 <a name="release"></a>
 <h2 class="kf">Releasing services</h2>
 <p>
 As soon as the service isn't needed anymore, the client should <b>release</b>
-the service by calling the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#ungetService(org.osgi.framework.ServiceReference)">BundleContext.ungetService()</a> method.
+the service by calling the <a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#ungetService(org.osgi.framework.ServiceReference)">BundleContext.ungetService()</a> method.
 </p>
 
-<pre class="code">
+<pre class="codeexample">
   bc.ungetService(sr);
 </pre>
 
@@ -285,14 +183,14 @@ No special service cleanup is needed in BundleActivator.stop().
 Note that service should only be released when <b>really</b> unused. Some
 services may keep a state for each using bundle, and releasing the service
 will release this state, which may, or may not, be the intention. Each service
-documentation must be consulted. An example of this is the <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/http/HttpService.html">HttpService</a>, which
+documentation must be consulted. An example of this is the <a href="$(JAVADOC)/org/osgi/service/http/HttpService.html">HttpService</a>, which
 will remove all servlets and resources from itself when a client releases
 the HttpService.
 </p>
 
 <p>
 Some special words are needed when using service listeners. A listener
-will get a <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html#UNREGISTERING">ServiceEvent.UNREGISTERING</a> event when a service is in the process
+will get a <a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html#UNREGISTERING">ServiceEvent.UNREGISTERING</a> event when a service is in the process
 of being unregistering from the framework.
 </p>
 
@@ -303,12 +201,6 @@ is <tt>null</tt>, even if the spec is a bit vague on this. The OSGi reference
 implementation does however return <tt>null</tt> in this case.
 </p>
 
-<p>
-<b>Note</b>: It's fully possible for a client to hold on to a service object
-via a variable, even after the exporting bundle has been stopped. The client shouldn't expect the service to work in this case and this also blocks any garbage collection. Thus, don't forget to null variables holding services when the
-service is released. 
-</p>
-
 <a name="best"></a>
 <h2 class="kf">Best practices for accessing OSGi services</h2>
 
@@ -323,7 +215,7 @@ Suggested practices:
 <ul>
  <li>Always <b>expect RuntimeException</b> when calling a service<br>
      A service may fail at any time, similar to RMI based code. The recommended
-     exception an unusable service should throw is <tt>IllegalStateException</tt>
+     exception an unsuable service should throw is <tt>IllegalStateException</tt>
      This
      does <b>not</b> mean that a try/catch block should be made on each
      service call, rather that the code must be prepared to handle such
@@ -336,20 +228,20 @@ Suggested practices:
      want to make life easier for clients, go for the white-board model.
 
  <li>Use <b>listeners</b><br>
-     <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a> and <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> provide various levels of automation for getting services.
+     <a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a> and <a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> provide various levels of automation for getting services.
 
  <li>Use the declarative <b>ServiceBinder</b><br>
      The <a href="http://gravity.sourceforge.net/servicebinder/">ServiceBinder</a> by Cervantes/Hall provide a framework for cases where it's possible
-     to declare service dependencies in XML.
+     to declare service dependecies in XML.
 
 </ul>
 
 
 Consider the bad-styled, but common, code:
-<pre class="code">
+<pre class="codeexample">
 <div class="head"><a name="ex_bad"></a>Bad code example</div>
-01: ServiceReference sr  =  bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">getServiceReference</a>(HttpService.class.getName());
-02: HttpService http     = (HttpService)bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">getService</a>(sr);
+01: ServiceReference sr  =  bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReference(java.lang.String)">getServiceReference</a>(HttpService.class.getName());
+02: HttpService http     = (HttpService)bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getService(org.osgi.framework.ServiceReference)">getService</a>(sr);
 03: http.registerServlet(....)
 </pre>
 
@@ -373,7 +265,7 @@ Additionally, the code above does not handle the case where more than one servic
 The NPE problems can be naively avoided by adding conditionals:
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 01: ServiceReference sr  =  bc.getServiceReference(HttpService.class.getName());
 02: if(sr != null) {
 03:   HttpService http = (HttpService)bc.getService(sr);
@@ -393,13 +285,13 @@ run.
 By using a service listener, the code can avoid the first ServiceReference 
 <tt>null</tt> problem:
 </p>
-<pre class="code">
+<pre class="codeexample">
 <div class="head"><a name="ex_listener"></a>Using a service listener</div>
-01: ServiceListener sl = new <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceListener.html">ServiceListener</a>() {
-02:   public void ServiceChanged(<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html">ServiceEvent</a> ev) {
+01: ServiceListener sl = new <a href="$(JAVADOC)/org/osgi/framework/ServiceListener.html">ServiceListener</a>() {
+02:   public void ServiceChanged(<a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html">ServiceEvent</a> ev) {
 03:      ServiceReference sr = ev.getServiceReference();
 04:      switch(ev.getType()) {
-05:        case <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/ServiceEvent.html#REGISTERED">ServiceEvent.REGISTERED</a>:
+05:        case <a href="$(JAVADOC)/org/osgi/framework/ServiceEvent.html#REGISTERED">ServiceEvent.REGISTERED</a>:
 06:          {
 07:             HttpService http = (HttpService)bc.getService(sr);
 08:             http.registerServlet(...);
@@ -413,8 +305,8 @@ By using a service listener, the code can avoid the first ServiceReference
 16:
 17: String filter = "(objectclass=" + HttpService.class.getName() + ")";
 18: try {
-19:   bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
-20: } catch (<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
+19:   bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
+20: } catch (<a href="$(JAVADOC)/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
 21:   e.printStackTrace(); 
 22: }
 </pre>
@@ -426,16 +318,16 @@ The possible RuntimeException when actually calling the service (line 8) is hand
 There's still one problem -- if all HttpServices already had been registered, the listener above would not be called until the HttpServices were restarted. A small trick solves this: Manually construct REGISTERED ServiceEvents and call the
 listener:
 </p>
-<pre class="code">
+<pre class="codeexample">
 <div class="head"><a name="ex_manualevents"></a>Construct ServiceEvents - contd. from above</div>
 18: try {
-19:   bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
-20:   ServiceReference[] srl = bc.<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">getServiceReferences</a>(null, filter);
+19:   bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#addServiceListener(org.osgi.framework.ServiceListener)">addServiceListener</a>(sl, filter);
+20:   ServiceReference[] srl = bc.<a href="$(JAVADOC)/org/osgi/framework/BundleContext.html#getServiceReferences(java.lang.String, java.lang.String)">getServiceReferences</a>(null, filter);
 21:   for(int i = 0; srl != null && i < srl.length; i++) {
 22:     sl.serviceChanged(new ServiceEvent(ServiceEvent.REGISTRED,
 23:                                      srl[i]));
 24:   }
-25: } catch (<a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
+25: } catch (<a href="$(JAVADOC)/org/osgi/framework/InvalidSyntaxException.html">InvalidSyntaxException</a> e) { 
 26:   e.printStackTrace(); 
 27: }
 </pre>
@@ -445,9 +337,9 @@ Now the number of lines has grown from three to 25+. Which may be OK if this
 is a one-time operation. But if continuous use of a service is intended, it's easier to use a ServiceTracker:
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 <div class="head"><a name="ex_tracker"></a>ServiceTracker example</div>
-01: <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> logTracker = new ServiceTracker(bc, <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
+01: <a href="$(JAVADOC)/org/osgi/util/tracker/ServiceTracker.html">ServiceTracker</a> logTracker = new ServiceTracker(bc, <a href="$(JAVADOC)/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
 02: logTracker.open();
 03: ((LogService)logTracker.getService()).doLog(...); 
 </pre>
@@ -461,11 +353,11 @@ The down-side of this approach is the continuous and annoying usage of casting t
 usage a bit:
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 01: ServiceTracker logTracker;
 02:
 03: void init() {
-04:   logTracker = new ServiceTracker(bc, <a href="http://www.knopflerfish.org/releases/5.1.0/docs/javadoc/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
+04:   logTracker = new ServiceTracker(bc, <a href="$(JAVADOC)/org/osgi/service/log/LogService.html">LogService</a>.class.getName(), null);
 05: }
 06:
 07: LogService getLog() {
@@ -487,7 +379,7 @@ usage a bit:
 <p>
 Consider the HttpService case. All clients must constantly monitor the
 framework in some way to add its servlet(s) to the web server. 
-This requires at least the amount of code exemplified above, and even this
+This requires at least the amount of code examplified above, and even this
 doesn't completely guard against timing problems.
 </p>
 <p>
@@ -505,13 +397,13 @@ and the server needs to keep track of all available listeners.
 <p>
 
 <p>
-Thus, an alternative and better approach is to let the client <b>register its 
-servlets into the framework</b>, and let the http server use this list
-instead.
+Thus, an alternative and much better approach is to let the 
+client <b>register its servlets into the framework</b>, and let the http
+ server use the framework list instead of an internal list.
 </p>
 
 
-<pre class="code">
+<pre class="codeexample">
 <div class="head">Servlet client</div>
 01: class MyServlet extends HttpServlet {
 02:  ...
@@ -525,10 +417,10 @@ instead.
 </pre>
 
 <p>
-The client needn't do anything more. If the servlet should be removed, 
+The client needn't do anything more. If the servlet need to be removed, 
 it is simply unregistered from the framework.
 </p>
-<pre class="code">
+<pre class="codeexample">
 10: reg.unregister();
 </pre>
 <p>
@@ -537,10 +429,10 @@ being HttpServlets, and use the "alias" property to set the alias.
 </p>
 
 <p>
-Below is a minimalistic wrapper for the existing http service: (a complete class doing this can be found in the <a href="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HttpWrapper.java">Http Console</a> example code.
+Below is a minimalistic wrapper for the existing http service: (a complete class doing this can be found in the <a href="https://github.com/knopflerfish/knopflerfish.org/tree/master/osgi/bundles/http/httpconsole/src/org/knopflerfish/bundle/httpconsole/HttpWrapper.java">Http Console</a> example code.
 </p>
 
-<pre class="code">
+<pre class="codeexample">
 <div class="head">HttpService wrapper</div>
   void open() {
     httpTracker = new ServiceTracker(bc, HttpService.class.getName(), null);
@@ -611,16 +503,3 @@ Below is a minimalistic wrapper for the existing http service: (a complete class
   }
 
 </pre>
-
-<hr>
-<i>$Rev: 3482 $, $Author: cl $</i>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/htdocs/html_src/testing.html b/htdocs/html_src/testing.html
new file mode 100644
index 0000000..3d73171
--- /dev/null
+++ b/htdocs/html_src/testing.html
@@ -0,0 +1,43 @@
+<h1 class="kf">Testing Knopflerfish</h1>
+
+<p>
+  Knopflerfish includes a Junit based test suite that tests the
+  framework and bundles. Developers can use this test suite to test and
+  verify Knopflerfish on specific target environments, e.g. some
+  combination of processor, operating system, and JVM. 
+</p>
+
+<p>
+  The easiest way to run the test suite is to run one of the two
+  test suite targets from the top level ant build file located in
+  the <tt>osgi</tt> directory. E.g.
+  <pre class="shell">
+> cd osgi
+> ant run-kf-tests
+  </pre>
+</p>
+
+The two test targets available are:
+<div class="kf">
+  <dl>
+    <dt> run-kf-tests</dt>
+    <dd>Builds then executes the KF test suite.</dd>
+    <dt>run-kf-tests-secure</dt>
+    <dd>Builds then executes the KF test suite with security enabled.</dd>
+  </dl>
+</div>
+
+<p>
+A developer may add new test bundles to the test suite, or defined
+their own stand-alone test suites. The bundle documentation for the 
+<a href="bundledoc/index.html?docpage=junit/index.html">
+  JUnit bundle
+</a>
+describes this in detail.
+</p>
+
+<p>
+  Please note that passing the Knopflerfish test suite is no claim for
+  OSGi compliance. It is a Knopflerfish specific test suite only.
+</p>
+  
diff --git a/htdocs/html_src/tutorials.html b/htdocs/html_src/tutorials.html
new file mode 100644
index 0000000..15a0fc8
--- /dev/null
+++ b/htdocs/html_src/tutorials.html
@@ -0,0 +1,37 @@
+<h1 class="kf">Knopflerfish OSGi Tutorials</h1>
+
+<p>
+  This page contains links to tutorials and guides on how to use OSGi frameworks 
+  and the KF OSGi distribution.
+</p>
+
+<dl class="kf">
+  <dt><a href="tutorials/kf_osgi_tutorial/kf_osgi_tutorial.pdf">OSGi tutorial v2</a></dt>
+  <dd>A Step by Step Introduction to OSGi Programming Based on the 
+    Knopflerfish OSGi Framework. 
+    <p>
+      The tutorial includes examples src code located at<br>
+      <code>docs/tutorials/kf_osgi_tutorial/example_source</code>
+    </p>
+  </dd>
+  <dt>
+    <a href="osgi_service_tutorial.html"> The OSGi Service Tutorial</a>
+  </dt>
+  <dd> The complete survival guide for handling OSGi services</dd>
+
+  <dt>
+    <a href="osgi_with_security.html">Running Knopflerfish OSGi with Security</a>
+  </dt>
+  <dd>
+    A very short tutorial to get started with OSGi security and
+    permissions using Knopflerfish.
+  </dd>
+  
+  <dt>
+    <a href="android_dalvik_tutorial.html">Running Knopflerfish on Android / Dalvik</a>
+  </dt>
+  <dd>
+    An introduction on how to run Knopflerfish on Android / Dalvik
+  </dd>
+
+</dl>
diff --git a/htdocs/html_templates/blank b/htdocs/html_templates/blank
new file mode 100644
index 0000000..c6cf047
--- /dev/null
+++ b/htdocs/html_templates/blank
@@ -0,0 +1 @@
+$(MAIN)
diff --git a/docs/bundledoc/bundledoc_hdr.html b/htdocs/html_templates/bundle_doc/bundledoc_hdr.html
old mode 100644
new mode 100755
similarity index 93%
rename from docs/bundledoc/bundledoc_hdr.html
rename to htdocs/html_templates/bundle_doc/bundledoc_hdr.html
index 40c9c23..96e81b1
--- a/docs/bundledoc/bundledoc_hdr.html
+++ b/htdocs/html_templates/bundle_doc/bundledoc_hdr.html
@@ -47,7 +47,7 @@
 	    Distribution Documentation
 	  </div>
 	  <div class="header_centerinfo_bottom">
-	    Knopflerfish OSGi 5.1.0
+	    Knopflerfish OSGi @VERSION@
 	  </div>
 	</div>
 	<div id="header_rightinfo">
diff --git a/htdocs/html_templates/bundle_doc/bundledoc_list.html b/htdocs/html_templates/bundle_doc/bundledoc_list.html
new file mode 100755
index 0000000..f6a233f
--- /dev/null
+++ b/htdocs/html_templates/bundle_doc/bundledoc_list.html
@@ -0,0 +1,51 @@
+<html>
+
+  <head>
+    <LINK href="../css/knopflerfish.css" rel="stylesheet" type="text/css">
+    <LINK href="../css/kf_man.css" rel="stylesheet" type="text/css">
+
+    <style type="text/css">
+      BODY {
+        background: #fff;
+        margin-top:    5px;
+        margin-left:  10px;
+        margin-right: 10px;
+        font-size: 0.8125em;
+      }
+      H2 {
+        color:#802060;
+        font-size:13px;
+        font-weight:bold;
+        margin:6px 0px 6px 0px;	     
+        padding:6px 0px 6px 0px;
+        border-style:none;
+      }
+    </style>
+  </head>
+
+  <body>
+    <h2>$(TITLE)</h2>
+    <div id="man_leftmenu">
+    <dl class="leftmenu2">
+      <dt class="leftmenu2">Navigation</dt>
+      <dd class="leftmenu2"><a target="_top" href="../index.html">Knopflerfish Documentation</a></dd>
+      <dd class="leftmenu2"><a target="bundledoc_main" href="bundledoc_main.html">Bundle Doc Home</a></dd>
+    </dl>
+
+    <dl class="leftmenu2">
+      <dt class="leftmenu2">Knopflerfish Framework and Extension Bundles</dt>
+$(framework)
+    </dl>
+
+    <dl class="leftmenu2">
+      <dt class="leftmenu2">Knopflerfish OSGi Bundles</dt>
+$(OSGiBundle)
+    </dl>
+
+    <dl class="leftmenu2">
+      <dt class="leftmenu2">Knopflerfish Bundles</dt> 
+$(KfBundle)
+    </dl>
+    </div>
+  </body>
+</html>
diff --git a/docs/bundledoc/bundledoc_main.html b/htdocs/html_templates/bundle_doc/bundledoc_main.html
old mode 100644
new mode 100755
similarity index 100%
rename from docs/bundledoc/bundledoc_main.html
rename to htdocs/html_templates/bundle_doc/bundledoc_main.html
diff --git a/docs/bundledoc/index.html b/htdocs/html_templates/bundle_doc/index.html
old mode 100644
new mode 100755
similarity index 100%
rename from docs/bundledoc/index.html
rename to htdocs/html_templates/bundle_doc/index.html
diff --git a/htdocs/html_templates/bundle_index.html b/htdocs/html_templates/bundle_index.html
new file mode 100644
index 0000000..ed247be
--- /dev/null
+++ b/htdocs/html_templates/bundle_index.html
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+  <title>Bundle documentations</title>
+  <link href="../css/knopflerfish.css" rel="stylesheet" type="text/css"/>
+</head>
+
+<body>
+<h1>Bundle documentations</h1>
+
+This page lists all documentation found in bundle <tt>docs</tt> directories.
+
+<table>
+ at BUNDLE_LIST@
+</table>
+
+</body>
+</html>
+
diff --git a/htdocs/html_templates/formatted.html b/htdocs/html_templates/formatted.html
new file mode 100644
index 0000000..34fd0fb
--- /dev/null
+++ b/htdocs/html_templates/formatted.html
@@ -0,0 +1,4 @@
+<!-- This is a generated file. Do not edit. Built by $(USER) on $(TSTAMP) -->
+<pre>
+$(MAIN)
+</pre>
diff --git a/htdocs/html_templates/release_notes.html b/htdocs/html_templates/release_notes.html
new file mode 100644
index 0000000..887833e
--- /dev/null
+++ b/htdocs/html_templates/release_notes.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+
+<!-- This is a generated file. Do not edit. Built by $(USER) on $(TSTAMP) -->
+
+<html>
+
+  <head>
+    <meta http-equiv = "Content-Type"
+	  content    = "text/html; charset=ISO-8859-1"/>
+    
+    <meta http-equiv = "CACHE-CONTROL"
+	  content    = "NO-CACHE"/>
+
+    <meta name       = "description"
+	  content    = "$(DESC)"/>
+    
+    <meta name       = "title"
+	  content    = "$(TITLE)"/>
+
+    <title>$(TITLE)</title>
+
+    <style>
+BODY  {
+  background: #ccc;
+}
+
+#main {
+  width: 1000; 
+  background: #fff;
+  border:		1px solid #000;
+  margin: 0px auto;
+  font-family: Lucida Grande, Tahoma, Helvetica, sans-serif;
+  padding: 0px 0px 0px 0px;
+}
+
+#mainblock {
+  margin-left: 20px; 
+  padding-right: 15px;
+  font-family: "Lucida Grande", Tahoma, Lucida Sans, Verdana, Helvetica, sans-serif;
+  font-size: 12.8px;
+}
+
+#footer {
+  clear:both;
+  border-style: solid;
+  border-color: #802060;
+  border-width: 1px 0px 0px 0px;
+  margin:	20px 15px 15px 15px;
+}
+
+#copyright {
+  margin-left: 200px;
+  font-size:10px;
+  color: #000;
+  text-align: right;
+  padding: 5px 10px 0px 0px;
+}	  
+
+H1, H1.kf {
+    font-family: Helvetica Neue, Helvetica, Verdana, Arial, Helvetica, sans-serif;
+    font-size: 2em;
+    font-weight:bold;
+    border-style: solid;
+    border-color: #802060;
+    border-width: 0px 0px 1px 0px;
+    padding-bottom: 2px;
+    margin: 2.0em 0 0.6em 0;
+    color: #444444;
+}
+
+H2.kf  {
+    font-family: Lucida Grande, Verdana, Arial, Helvetica, sans-serif;
+    font-size:	1.3em;
+    font-weight:bold;
+    border-style: solid;
+    color:		#444444;
+    border-style:  solid;
+    border-color:	#ccc;
+    border-width:	1px 0px 1px 0px;
+    background-image: url('../images/shortfadeout_20px.png');
+    background-repeat: repeat-x;
+    padding:	3px 0px 3px 6px;
+    margin: 1.4em 0 0.8em 0;
+}
+
+.note_group {
+    margin: 1.5em 0 0.5em 0;
+}
+
+.note_name {
+    font-weight: bold;
+    color:#333333;
+}
+
+.note_item {
+    display: list-item;
+    margin: 0.5em 0 0.5em 2em;
+}
+a {
+    color:#111111;
+    text-decoration:none;
+}
+    </style>
+
+  </head>
+
+
+  <body>
+    <div id="main">
+      <div id="mainblock">
+	$(MAIN)
+      </div>
+      <div id="footer">
+	<div id="copyright">
+	  Copyright © 2008-$(YEAR) The Knopflerfish Project. All rights reserved.
+	</div>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/htdocs/html_templates/template.html b/htdocs/html_templates/template.html
new file mode 100644
index 0000000..cad7b13
--- /dev/null
+++ b/htdocs/html_templates/template.html
@@ -0,0 +1,106 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+
+<!-- This is a generated file. Do not edit. Built by $(USER) on $(TSTAMP) -->
+
+<html>
+
+  <head>
+    <meta http-equiv = "Content-Type"
+	  content    = "text/html; charset=ISO-8859-1"/>
+    
+    <meta http-equiv = "CACHE-CONTROL"
+	  content    = "NO-CACHE"/>
+
+    <meta name       = "description"
+	  content    = "$(DESC)"/>
+    
+    <meta name       = "title"
+	  content    = "$(TITLE)"/>
+
+    <title>$(TITLE)</title>
+
+    <LINK href="$(ROOT)/css/knopflerfish.css" rel="stylesheet" type="text/css">
+
+  </head>
+
+
+  <body>
+    <div id="main">
+      <a name="top"></a>
+      <div id="header">
+	<div id="header_logo">
+	  <a href="index.html"><img src="images/kf300_black.png" border="0" alt="knopflerfish logo"/></a>
+	</div>
+	<div id="header_centerbox">
+	  <div class="header_centerinfo_top">
+	    Distribution Documentation
+	  </div>
+	  <div class="header_centerinfo_bottom">
+	    Knopflerfish OSGi $(VERSION)
+	  </div>
+	</div>
+	<div id="header_rightinfo">
+	  <div class="header_stylish">
+	    Open Source OSGi Service Platform Maintained by
+	  </div>
+	  <a href="http://www.makewave.com">
+	    <img border="0" alt="Makewave" src="$(ROOT)/images/makewave_logo.png" border="0" style="margin-top: 4px;">
+	  </a>
+	</div>
+	<div id="header_fade">
+	</div>
+      </div>
+      <div id="leftmenu">
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2"><a class="$(CLASS_NAVIGATION_INDEX)" href="index.html">Knopflerfish $(VERSION)</a></dt>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_COMP)" href="components.html">Contents</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_CHANGELOG)" href="release_notes.html">Release Notes</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_LICENSE)" href="license.html">License</a></dd>
+	</dl>
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2">Getting Started</dt>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_INSTALLING)" href="installing.html">Installing</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_RUNNING)" href="running.html">Running</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_BUILDING)" href="building.html">Building</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_PROG)" href="programming.html">Programming</a></dd> 
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_TESTING)" href="testing.html">Testing</a></dd>
+	</dl>
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2">Developer's Doc</dt>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_TUTORIALS)" href="tutorials.html">Tutorials</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="javadoc/index.html">Java API docs</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="bundledoc/index.html">Framework and Bundle docs</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="jars/index.html">Bundle jar docs</a></dd>
+	</dl>
+
+	<dl class="leftmenu2">
+	  <dt class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://www.knopflerfish.org/">www.knopflerfish.org</a></dt>
+          <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://github.com/knopflerfish/knopflerfish.org/issues">Bug tracker</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="../osgi/jars/index.xml">Bundle repository</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="$(GIT_BROWSE_URL)">Source (git)</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION_ECLIPSE)" href="http://www.knopflerfish.org/eclipse_plugin.html">Eclipse plugin</a></dd>
+	</dl>
+
+	<dl class="leftmenu2_last">
+	  <dt class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://www.makewave.com/">Maintained by Makewave</a></dt>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://www.makewave.com/site.en/products/knopflerfish_pro_osgi.shtml">Knopflerfish Pro</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://www.makewave.com/site.en/products/osgi_expert.shtml">Professional Services</a></dd>
+	  <dd class="leftmenu2"><a class="$(CLASS_NAVIGATION)" href="http://www.makewave.com/site.en/products/osgi_training.shtml">Training</a></dd>
+	  <dd class="leftmenu2"> </dd>
+	  <dd class="leftmenu2" style="margin-top: 10px;"><a class="$(CLASS_NAVIGATION)" href="http://www.makewave.com"><img src="$(ROOT)/images/makewave_logo_126x16.gif" border="0"></a><br>
+	  <dd><div style="font-size: 0.75em; color: #444444; font-family: Helvetica, Sans-Serif; margin-left: -10px;">
+	      <em>OSGi for Business Use</em></div>
+	  </dd>
+	</dl>
+      </div>
+      <div id="mainblock">
+	$(MAIN)
+      </div>
+      <div id="footer">
+	<div id="copyright">
+	  Copyright © 2008-$(YEAR) The Knopflerfish Project. All rights reserved.
+	</div>
+      </div>
+    </div>
+  </body>
+</html>
diff --git a/htdocs/image_repo/Image15.psp b/htdocs/image_repo/Image15.psp
new file mode 100755
index 0000000..08826a1
Binary files /dev/null and b/htdocs/image_repo/Image15.psp differ
diff --git a/htdocs/image_repo/knopflerfish-golden.psp b/htdocs/image_repo/knopflerfish-golden.psp
new file mode 100755
index 0000000..607ad9b
Binary files /dev/null and b/htdocs/image_repo/knopflerfish-golden.psp differ
diff --git a/htdocs/image_repo/knopflerfish-golden2.psp b/htdocs/image_repo/knopflerfish-golden2.psp
new file mode 100755
index 0000000..1c140fd
Binary files /dev/null and b/htdocs/image_repo/knopflerfish-golden2.psp differ
diff --git a/htdocs/image_repo/knopflerfish.psp b/htdocs/image_repo/knopflerfish.psp
new file mode 100755
index 0000000..51af6be
Binary files /dev/null and b/htdocs/image_repo/knopflerfish.psp differ
diff --git a/docs/images/active_overlay.gif b/htdocs/images/active_overlay.gif
similarity index 100%
rename from docs/images/active_overlay.gif
rename to htdocs/images/active_overlay.gif
diff --git a/docs/images/android_app.png b/htdocs/images/android_app.png
similarity index 100%
rename from docs/images/android_app.png
rename to htdocs/images/android_app.png
diff --git a/docs/images/bundle_active.gif b/htdocs/images/bundle_active.gif
similarity index 100%
rename from docs/images/bundle_active.gif
rename to htdocs/images/bundle_active.gif
diff --git a/docs/images/bundle_installed.gif b/htdocs/images/bundle_installed.gif
similarity index 100%
rename from docs/images/bundle_installed.gif
rename to htdocs/images/bundle_installed.gif
diff --git a/docs/images/dalvik_httproot.png b/htdocs/images/dalvik_httproot.png
similarity index 100%
rename from docs/images/dalvik_httproot.png
rename to htdocs/images/dalvik_httproot.png
diff --git a/docs/images/desktop-clip.png b/htdocs/images/desktop-clip.png
similarity index 100%
rename from docs/images/desktop-clip.png
rename to htdocs/images/desktop-clip.png
diff --git a/docs/images/desktop1.gif b/htdocs/images/desktop1.gif
similarity index 100%
rename from docs/images/desktop1.gif
rename to htdocs/images/desktop1.gif
diff --git a/docs/images/desktop1_200.gif b/htdocs/images/desktop1_200.gif
similarity index 100%
rename from docs/images/desktop1_200.gif
rename to htdocs/images/desktop1_200.gif
diff --git a/docs/images/desktop1_small.gif b/htdocs/images/desktop1_small.gif
similarity index 100%
rename from docs/images/desktop1_small.gif
rename to htdocs/images/desktop1_small.gif
diff --git a/docs/images/desktop_details.gif b/htdocs/images/desktop_details.gif
similarity index 100%
rename from docs/images/desktop_details.gif
rename to htdocs/images/desktop_details.gif
diff --git a/docs/images/desktop_details.png b/htdocs/images/desktop_details.png
similarity index 100%
rename from docs/images/desktop_details.png
rename to htdocs/images/desktop_details.png
diff --git a/docs/images/desktop_drop_view.gif b/htdocs/images/desktop_drop_view.gif
similarity index 100%
rename from docs/images/desktop_drop_view.gif
rename to htdocs/images/desktop_drop_view.gif
diff --git a/docs/images/desktop_drop_view.png b/htdocs/images/desktop_drop_view.png
similarity index 100%
rename from docs/images/desktop_drop_view.png
rename to htdocs/images/desktop_drop_view.png
diff --git a/docs/images/desktop_icons.gif b/htdocs/images/desktop_icons.gif
similarity index 100%
rename from docs/images/desktop_icons.gif
rename to htdocs/images/desktop_icons.gif
diff --git a/docs/images/desktop_info_log.gif b/htdocs/images/desktop_info_log.gif
similarity index 100%
rename from docs/images/desktop_info_log.gif
rename to htdocs/images/desktop_info_log.gif
diff --git a/docs/images/desktop_info_log.png b/htdocs/images/desktop_info_log.png
similarity index 100%
rename from docs/images/desktop_info_log.png
rename to htdocs/images/desktop_info_log.png
diff --git a/docs/images/desktop_info_manifest.gif b/htdocs/images/desktop_info_manifest.gif
similarity index 100%
rename from docs/images/desktop_info_manifest.gif
rename to htdocs/images/desktop_info_manifest.gif
diff --git a/docs/images/desktop_info_manifest.png b/htdocs/images/desktop_info_manifest.png
similarity index 100%
rename from docs/images/desktop_info_manifest.png
rename to htdocs/images/desktop_info_manifest.png
diff --git a/docs/images/desktop_info_manifest_200.gif b/htdocs/images/desktop_info_manifest_200.gif
similarity index 100%
rename from docs/images/desktop_info_manifest_200.gif
rename to htdocs/images/desktop_info_manifest_200.gif
diff --git a/docs/images/desktop_info_manifest_200.png b/htdocs/images/desktop_info_manifest_200.png
similarity index 100%
rename from docs/images/desktop_info_manifest_200.png
rename to htdocs/images/desktop_info_manifest_200.png
diff --git a/docs/images/desktop_info_manifest_400.gif b/htdocs/images/desktop_info_manifest_400.gif
similarity index 100%
rename from docs/images/desktop_info_manifest_400.gif
rename to htdocs/images/desktop_info_manifest_400.gif
diff --git a/docs/images/desktop_info_manifest_400.png b/htdocs/images/desktop_info_manifest_400.png
similarity index 100%
rename from docs/images/desktop_info_manifest_400.png
rename to htdocs/images/desktop_info_manifest_400.png
diff --git a/docs/images/desktop_info_packages.gif b/htdocs/images/desktop_info_packages.gif
similarity index 100%
rename from docs/images/desktop_info_packages.gif
rename to htdocs/images/desktop_info_packages.gif
diff --git a/docs/images/desktop_info_packages.png b/htdocs/images/desktop_info_packages.png
similarity index 100%
rename from docs/images/desktop_info_packages.png
rename to htdocs/images/desktop_info_packages.png
diff --git a/docs/images/desktop_info_services.gif b/htdocs/images/desktop_info_services.gif
similarity index 100%
rename from docs/images/desktop_info_services.gif
rename to htdocs/images/desktop_info_services.gif
diff --git a/docs/images/desktop_info_services.png b/htdocs/images/desktop_info_services.png
similarity index 100%
rename from docs/images/desktop_info_services.png
rename to htdocs/images/desktop_info_services.png
diff --git a/docs/images/desktop_list.gif b/htdocs/images/desktop_list.gif
similarity index 100%
rename from docs/images/desktop_list.gif
rename to htdocs/images/desktop_list.gif
diff --git a/docs/images/desktop_on_eclipse.png b/htdocs/images/desktop_on_eclipse.png
similarity index 100%
rename from docs/images/desktop_on_eclipse.png
rename to htdocs/images/desktop_on_eclipse.png
diff --git a/docs/images/desktop_open_bundle.gif b/htdocs/images/desktop_open_bundle.gif
similarity index 100%
rename from docs/images/desktop_open_bundle.gif
rename to htdocs/images/desktop_open_bundle.gif
diff --git a/docs/images/desktop_open_bundle.png b/htdocs/images/desktop_open_bundle.png
similarity index 100%
rename from docs/images/desktop_open_bundle.png
rename to htdocs/images/desktop_open_bundle.png
diff --git a/docs/images/desktop_set_startlevel.gif b/htdocs/images/desktop_set_startlevel.gif
similarity index 100%
rename from docs/images/desktop_set_startlevel.gif
rename to htdocs/images/desktop_set_startlevel.gif
diff --git a/docs/images/desktop_set_startlevel.png b/htdocs/images/desktop_set_startlevel.png
similarity index 100%
rename from docs/images/desktop_set_startlevel.png
rename to htdocs/images/desktop_set_startlevel.png
diff --git a/docs/images/desktop_setbundle_startlevel.gif b/htdocs/images/desktop_setbundle_startlevel.gif
similarity index 100%
rename from docs/images/desktop_setbundle_startlevel.gif
rename to htdocs/images/desktop_setbundle_startlevel.gif
diff --git a/docs/images/desktop_setbundle_startlevel.png b/htdocs/images/desktop_setbundle_startlevel.png
similarity index 100%
rename from docs/images/desktop_setbundle_startlevel.png
rename to htdocs/images/desktop_setbundle_startlevel.png
diff --git a/docs/images/desktop_spin.gif b/htdocs/images/desktop_spin.gif
similarity index 100%
rename from docs/images/desktop_spin.gif
rename to htdocs/images/desktop_spin.gif
diff --git a/docs/images/desktop_spin.png b/htdocs/images/desktop_spin.png
similarity index 100%
rename from docs/images/desktop_spin.png
rename to htdocs/images/desktop_spin.png
diff --git a/docs/images/desktop_timeline.gif b/htdocs/images/desktop_timeline.gif
similarity index 100%
rename from docs/images/desktop_timeline.gif
rename to htdocs/images/desktop_timeline.gif
diff --git a/docs/images/desktop_timeline.png b/htdocs/images/desktop_timeline.png
similarity index 100%
rename from docs/images/desktop_timeline.png
rename to htdocs/images/desktop_timeline.png
diff --git a/docs/images/fadeout_15.png b/htdocs/images/fadeout_15.png
similarity index 100%
rename from docs/images/fadeout_15.png
rename to htdocs/images/fadeout_15.png
diff --git a/docs/images/install_options.png b/htdocs/images/install_options.png
similarity index 100%
rename from docs/images/install_options.png
rename to htdocs/images/install_options.png
diff --git a/docs/images/kf300_black.png b/htdocs/images/kf300_black.png
similarity index 100%
rename from docs/images/kf300_black.png
rename to htdocs/images/kf300_black.png
diff --git a/docs/images/knopflerfish-bottom.jpg b/htdocs/images/knopflerfish-bottom.jpg
similarity index 100%
rename from docs/images/knopflerfish-bottom.jpg
rename to htdocs/images/knopflerfish-bottom.jpg
diff --git a/docs/images/knopflerfish-small.gif b/htdocs/images/knopflerfish-small.gif
similarity index 100%
rename from docs/images/knopflerfish-small.gif
rename to htdocs/images/knopflerfish-small.gif
diff --git a/docs/images/knopflerfish-top.jpg b/htdocs/images/knopflerfish-top.jpg
similarity index 100%
rename from docs/images/knopflerfish-top.jpg
rename to htdocs/images/knopflerfish-top.jpg
diff --git a/docs/images/knopflerfish.jpg b/htdocs/images/knopflerfish.jpg
similarity index 100%
copy from docs/images/knopflerfish.jpg
copy to htdocs/images/knopflerfish.jpg
diff --git a/docs/images/knopflerfish4_red400pxl.gif b/htdocs/images/knopflerfish4_red400pxl.gif
old mode 100644
new mode 100755
similarity index 100%
rename from docs/images/knopflerfish4_red400pxl.gif
rename to htdocs/images/knopflerfish4_red400pxl.gif
diff --git a/docs/images/knopflerfish_red120pxl.gif b/htdocs/images/knopflerfish_red120pxl.gif
similarity index 100%
rename from docs/images/knopflerfish_red120pxl.gif
rename to htdocs/images/knopflerfish_red120pxl.gif
diff --git a/docs/images/knopflerfish_red140pxl.gif b/htdocs/images/knopflerfish_red140pxl.gif
similarity index 100%
rename from docs/images/knopflerfish_red140pxl.gif
rename to htdocs/images/knopflerfish_red140pxl.gif
diff --git a/docs/images/knopflerfish_red200pxl.gif b/htdocs/images/knopflerfish_red200pxl.gif
similarity index 100%
rename from docs/images/knopflerfish_red200pxl.gif
rename to htdocs/images/knopflerfish_red200pxl.gif
diff --git a/docs/images/knopfleri.gif b/htdocs/images/knopfleri.gif
similarity index 100%
rename from docs/images/knopfleri.gif
rename to htdocs/images/knopfleri.gif
diff --git a/docs/images/knopfleri.jpg b/htdocs/images/knopfleri.jpg
similarity index 100%
rename from docs/images/knopfleri.jpg
rename to htdocs/images/knopfleri.jpg
diff --git a/docs/images/knopfleri_2.jpg b/htdocs/images/knopfleri_2.jpg
similarity index 100%
rename from docs/images/knopfleri_2.jpg
rename to htdocs/images/knopfleri_2.jpg
diff --git a/docs/images/knopfleri_3.jpg b/htdocs/images/knopfleri_3.jpg
similarity index 100%
rename from docs/images/knopfleri_3.jpg
rename to htdocs/images/knopfleri_3.jpg
diff --git a/docs/images/legend.gif b/htdocs/images/legend.gif
similarity index 100%
rename from docs/images/legend.gif
rename to htdocs/images/legend.gif
diff --git a/docs/images/lib_installed.gif b/htdocs/images/lib_installed.gif
similarity index 100%
rename from docs/images/lib_installed.gif
rename to htdocs/images/lib_installed.gif
diff --git a/docs/images/makewave_logo.png b/htdocs/images/makewave_logo.png
similarity index 100%
rename from docs/images/makewave_logo.png
rename to htdocs/images/makewave_logo.png
diff --git a/docs/images/makewave_logo_126x16.gif b/htdocs/images/makewave_logo_126x16.gif
old mode 100644
new mode 100755
similarity index 100%
rename from docs/images/makewave_logo_126x16.gif
rename to htdocs/images/makewave_logo_126x16.gif
diff --git a/docs/images/mem_256.gif b/htdocs/images/mem_256.gif
similarity index 100%
rename from docs/images/mem_256.gif
rename to htdocs/images/mem_256.gif
diff --git a/docs/images/no_remote_framework.png b/htdocs/images/no_remote_framework.png
similarity index 100%
rename from docs/images/no_remote_framework.png
rename to htdocs/images/no_remote_framework.png
diff --git a/docs/images/osgi-fish.jpg b/htdocs/images/osgi-fish.jpg
similarity index 100%
rename from docs/images/osgi-fish.jpg
rename to htdocs/images/osgi-fish.jpg
diff --git a/docs/images/osgi-knopflerfish.gif b/htdocs/images/osgi-knopflerfish.gif
similarity index 100%
rename from docs/images/osgi-knopflerfish.gif
rename to htdocs/images/osgi-knopflerfish.gif
diff --git a/docs/images/remote_framework.png b/htdocs/images/remote_framework.png
similarity index 100%
rename from docs/images/remote_framework.png
rename to htdocs/images/remote_framework.png
diff --git a/docs/images/shortfadeout_20px.png b/htdocs/images/shortfadeout_20px.png
similarity index 100%
rename from docs/images/shortfadeout_20px.png
rename to htdocs/images/shortfadeout_20px.png
diff --git a/docs/images/time_256.gif b/htdocs/images/time_256.gif
similarity index 100%
rename from docs/images/time_256.gif
rename to htdocs/images/time_256.gif
diff --git a/docs/images/tray.gif b/htdocs/images/tray.gif
similarity index 100%
rename from docs/images/tray.gif
rename to htdocs/images/tray.gif
diff --git a/docs/images/knopflerfish.jpg b/htdocs/knopflerfish.jpg
similarity index 100%
rename from docs/images/knopflerfish.jpg
rename to htdocs/knopflerfish.jpg
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java b/htdocs/license.txt
similarity index 80%
copy from osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
copy to htdocs/license.txt
index 3f10c2d..6aff9ce 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
+++ b/htdocs/license.txt
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2004, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -31,21 +31,3 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  * OF THE POSSIBILITY OF SUCH DAMAGE.
  */
-package org.knopflerfish.framework;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleReference;
-
-public class BundleReferenceImpl implements BundleReference {
-
-	final BundleImpl bundle;
-
-  BundleReferenceImpl(BundleImpl bundle) {
-	  this.bundle = bundle;
-	}
-
-  public Bundle getBundle() {
-		return bundle;
-	}
-
-}
diff --git a/htdocs/osgi_copyright.txt b/htdocs/osgi_copyright.txt
new file mode 100644
index 0000000..02523ae
--- /dev/null
+++ b/htdocs/osgi_copyright.txt
@@ -0,0 +1,65 @@
+Copyright (c) 2000, 2003
+
+The Open Services Gateway Initiative
+Bishop Ranch 2
+2694 Bishop Drive
+Suite 275
+San Ramon
+CA 94583 USA
+
+All Rights Reserved.
+
+LEGAL TERMS AND CONDITIONS REGARDING SPECIFICATION
+
+Implementation of certain elements of the Open Services Gateway
+Initiative (OSGi) Specification may be subject to third party
+intellectual property rights, including without limitation, patent
+rights (such a third party may or may not be a member of OSGi).  OSGi is
+not responsible and shall not be held responsible in any manner for
+identifying or failing to identify any or all such third party
+intellectual property rights.
+
+THE RECIPIENT ACKNOWLEDGES AND AGREES THAT THE SPECIFICATION IS PROVIDED
+"AS IS" AND WITH NO WARRANTIES WHATSOEVER, WHETHER EXPRESS, IMPLIED OR
+STATUTORY, INCLUDING, BUT NOT LIMITED TO ANY WARRANTY OF
+MERCHANTABILITY, NONINFRINGEMENT, FITNESS OF ANY PARTICULAR PURPOSE, OR
+ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR
+SAMPLE.  THE RECIPIENT'S USE OF THE SPECIFICATION IS SOLELY AT THE
+RECIPIENT'S OWN RISK.  THE RECIPIENT'S USE OF THE SPECIFICATION IS
+SUBJECT TO THE RECIPIENT'S OSGi MEMBER AGREEMENT, IN THE EVENT THAT THE
+RECIPIENT IS AN OSGi MEMBER.  IN NO EVENT SHALL OSGi BE LIABLE OR
+OBLIGATED TO THE RECIPIENT OR ANY THIRD PARTY IN ANY MANNER FOR ANY
+SPECIAL, NON-COMPENSATORY, CONSEQUENTIAL, INDIRECT, INCIDENTAL,
+STATUTORY OR PUNITIVE DAMAGES OF ANY KIND, INCLUDING, WITHOUT
+LIMITATION, LOST PROFITS AND LOST REVENUE, REGARDLESS OF THE FORM OF
+ACTION, WHETHER IN CONTRACT, TORT, NEGLIGENCE, STRICT PRODUCT LIABILITY,
+OR OTHERWISE, EVEN IF OSGi HAS BEEN INFORMED OF OR IS AWARE OF THE
+POSSIBILITY OF ANY SUCH DAMAGES IN ADVANCE.
+
+THE LIMITATIONS SET FORTH ABOVE SHALL BE DEEMED TO APPLY TO THE MAXIMUM
+EXTENT PERMITTED BY APPLICABLE LAW AND NOTWITHSTANDING THE FAILURE OF
+THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDIES AVAILABLE TO THE
+RECIPIENT.  THE RECIPIENT ACKNOWLEDGES AND AGREES THAT THE RECIPIENT HAS
+FULLY CONSIDERED THE FOREGOING ALLOCATION OF RISK AND FINDS IT
+REASONABLE, AND THAT THE FOREGOING LIMITATIONS ARE AN ESSENTIAL BASIS OF
+THE BARGAIN BETWEEN THE RECIPIENT AND OSGi.  IF THE RECIPIENT USES THE
+SPECIFICATION, THE RECIPIENT AGREES TO ALL OF THE FOREGOING TERMS AND
+CONDITIONS.  IF THE RECIPIENT DOES NOT AGREE TO THESE TERMS AND
+CONDITIONS, THE RECIPIENT SHOULD NOT USE THE SPECIFICATION AND SHOULD
+CONTACT OSGi IMMEDIATELY.
+
+Trademarks
+
+OSGi(TM) is a trademark, registered trademark, or service mark of The
+Open Services Gateway Initiative in the US and other countries.  Java is
+a trademark, registered trademark, or service mark of Sun Microsystems,
+Inc.  in the US and other countries.  All other trademarks, registered
+trademarks, or service marks used in this document are the property of
+their respective owners and are hereby recognized.
+
+Feedback
+
+This specification can be downloaded from the OSGi web site:
+http://www.osgi.org.  Comments about this specification can be mailed
+to: speccomments at mail.osgi.org
+
diff --git a/kf_16x16.gif b/kf_16x16.gif
deleted file mode 100644
index 1e3f70e..0000000
Binary files a/kf_16x16.gif and /dev/null differ
diff --git a/kf_32x32.gif b/kf_32x32.gif
deleted file mode 100644
index 684295f..0000000
Binary files a/kf_32x32.gif and /dev/null differ
diff --git a/knopflerfish_red400pxl.gif b/knopflerfish_red400pxl.gif
deleted file mode 100644
index dda1ffa..0000000
Binary files a/knopflerfish_red400pxl.gif and /dev/null differ
diff --git a/osgi/build.xml b/osgi/build.xml
index 223d96c..669d554 100644
--- a/osgi/build.xml
+++ b/osgi/build.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 
-<project name="osgi" default="default">
+<project name="osgi" default="default" xmlns:if="ant:if" xmlns:unless="ant:unless">
 
   <!-- build properties -->
 
@@ -11,12 +11,12 @@
   <property name="gosg.jars"       value="file:jars/"/>
 
   <property name="repository.current.release"
-	    value="http://www.knopflerfish.org/releases/current/osgi/jars/index.xml"/>
+      value="http://www.knopflerfish.org/releases/current/osgi/jars/index.xml"/>
   <property name="repository.local"
-	    value="file:jars/index.xml"/>
+      value="file:jars/index.xml"/>
   <property name="repository.xml.urls"
-	    value="${repository.local},
-		   ${repository.current.release}"/>
+      value="${repository.local},
+       ${repository.current.release}"/>
 
   <!-- Properties controling javadoc generation -->
   <property name="root.out.dir"    location="out"/>
@@ -39,6 +39,7 @@
   <property name="test.gosg.jars" value="file:jars/;file:test_jars/"/>
 
 
+  <import file="${ant.dir}/android.xml"/>
   <import file="${ant.dir}/bundletasks.xml"/>
   <import file="${ant.dir}/xargs.xml"/>
 
@@ -47,6 +48,7 @@
     <mkdir dir="${root.out.dir}"/>
     <available property="dir.bundles_test.present" file="bundles_test"/>
     <available property="dir.bundles_examples.present" file="bundles_examples"/>
+    <android.init.path unless:true="android.path.checked"/>
   </target>
 
   <target name="default"
@@ -72,6 +74,7 @@
 
   <target name="bundles_test"
           depends="init,bundles_test_missing,bundles_test_present" />
+
   <target name="bundles_test_present" if="dir.bundles_test.present">
     <ant dir="bundles_test" target="all"
          inheritAll="false" inheritRefs="false">
@@ -80,14 +83,23 @@
     </ant>
     <antcall target="xargs"/>
   </target>
+
   <target name="bundles_test_missing" unless="dir.bundles_test.present">
-   <echo level="warning"
-         message="The directory for regression test bundles, bundles_test, is missing, skipping test bundles. To build test bundles use subversion to check out the complete knopflerfish.org tree."/>
+    <echo level="warning"
+          message="The directory for regression test bundles, bundles_test, is missing, skipping test bundles. To build test bundles use subversion to check out the complete knopflerfish.org tree."/>
+  </target>
+
+  <target name="dex_jars"
+          description="Dexifies all built bundles.">
+    <ant dir="framework"        target="dex_jars"/>
+    <ant dir="bundles"          target="dex_jars"/>
+    <ant dir="bundles_opt"      target="dex_jars"/>
+    <ant dir="bundles_examples" target="dex_jars"/>
   </target>
 
   <target name="repoindex"
-	  description="Generates the repository index file."
-	  depends="init,bundle_tasks,install_repoindex">
+    description="Generates the repository index file."
+    depends="init,bundle_tasks,install_repoindex">
     <local name="version.repoindex"/>
     <condition property="version.repoindex"
                value="${version} "
@@ -268,6 +280,8 @@
           <include name="**/*.jar"/>
           <exclude name="bindex.jar"/>
         </fileset>
+        <!-- Make annotation jars available -->
+        <pathelement location="${osgi.dir}/annotations/osgi.annotation-6.0.1.jar"/>
         <!-- Make embedded jars available -->
         <pathelement location="${osgi.dir}/bundles/io/io/resources/javax.microedition.io.jar"/>
         <pathelement location="${osgi.dir}/bundles/metatype/kf_metatype/resources/nanoxml-2.2.1.jar"/>
@@ -418,6 +432,22 @@
    </java>
  </target>
 
+ <target name="run-test-standalone" >
+   <echo message="Running kf tests standalone"/>
+   <mkdir dir="${junit.out.dir}"/>
+   <java fork="true"
+         dir="${run.test.dir}"
+         jar="${run.test.dir}/framework.jar">
+     <arg value="-Forg.osgi.framework.security=osgi"/>
+     <arg value="-Forg.osgi.framework.storage=${junit.out.dir}/test_fwdir"/>
+     <arg value="-Forg.knopflerfish.junit_runner.outdir=${junit.out.dir}"/>
+     <arg value="-xargs"/>
+     <arg value="init-tests.xargs"/>
+     <arg value="-Forg.knopflerfish.prefs.dir=${junit.out.dir}/prefs"/>
+     <arg value="-Forg.knopflerfish.junit_runner.tests=${org.knopflerfish.junit_runner.tests}"/>
+   </java>
+ </target>
+
  <target name="run-kf-tests-bare-main">
    <antcall target="run-test">
      <param name="run.test.msg"    value="Running the main test suite..."/>
@@ -446,6 +476,8 @@
   <delete file="framework.jar"/>
   <delete dir="${root.out.dir}"/>
   <delete dir="jars"/>
+  <delete dir="dex_jars"/>
+  <delete dir="test_jars"/>
   <delete dir="${ant.dir}/classes"/>
   <delete file="headless.xargs"/>
   <delete file="minimal.xargs"/>
@@ -454,6 +486,8 @@
   <delete file="init_Windows2000.xargs"/>
   <delete file="init_WindowsXP.xargs"/>
   <delete file="init-tests.xargs"/>
+  <delete file="test-restart1.xargs"/>
+  <delete file="test-restart2.xargs"/>
   <delete file="${exported.file}"/>
   <delete file="${sources.file}"/>
   <delete dir="${junit.out.dir}"/>
diff --git a/osgi/framework/TODO b/osgi/framework/TODO
index 5ed777b..7a02091 100644
--- a/osgi/framework/TODO
+++ b/osgi/framework/TODO
@@ -8,4 +8,3 @@ I Check ResolveHooks and packages lock
 
 I More SystemBundle headers
 
- 
diff --git a/osgi/framework/build.xml b/osgi/framework/build.xml
index 1897a14..5165c3a 100644
--- a/osgi/framework/build.xml
+++ b/osgi/framework/build.xml
@@ -8,6 +8,7 @@
   <property name="ant.dir"      location="${topdir}/../ant"/>
 
   <property name="root.out.dir" location="${topdir}/out"/>
+  <property name="jars.dir"     location="${topdir}/jars"/>
   <property name="outdir"       location="${root.out.dir}/${ant.project.name}"/>
   <property name="classout"     location="${outdir}/classes"/>
   <property name="classout_compact" location="${outdir}/classes_compact"/>
@@ -18,7 +19,13 @@
   <property name="frameworkdoc_template"
             location="${ant.dir}/html_template/frameworkdoc.html"/>
 
-  <property name="fw.impl.version"   value="7.1.2"/>
+  <property name="fw.base.version"   value="8.0.5"/>
+  <property name="version.suffix"    value=""/>
+  <condition property="fw.impl.version"
+             value="${fw.base.version}"
+             else="${fw.base.version}.${version.suffix}">
+    <equals arg1="${version.suffix}" arg2=""/>
+  </condition>
 
   <property name="jarfile"
             location="${topdir}/${ant.project.name}.jar"/>
@@ -28,73 +35,36 @@
             location="${topdir}/${ant.project.name}-source.jar"/>
   <property name="javadoc.jarfile"
             location="${topdir}/${ant.project.name}-javadoc.jar"/>
+  <property name="jarfile_version"
+            location="${jars.dir}/${ant.project.name}-${fw.impl.version}.jar"/>
 
   <import file="${ant.dir}/android.xml"/>
 
-  <available property="jdk1.7+" classname="java.lang.ClassValue"/> 
-  <condition property="javac.source" value="1.5" else="1.5">
-    <isset property="jdk1.7+"/>
-  </condition>
-  <condition property="javac.target" value="1.5" else="jsr14">
-    <isset property="jdk1.7+"/>
-  </condition>
+  <property name="proguard.libraryjar" value="${java.home}/lib/rt.jar"/>
 
-  <!-- When comipling with Java 7 we must use the Java 7 runtime -->
-  <!-- since ee.minimum does not contain java.lang.Iterable. -->
-  <condition property="javac.includeJavaRuntime" value="true" else="false">
-    <isset property="jdk1.7+"/>
-  </condition>
+  <!-- OSGi annotations -->
+  <property name="osgi.annotation.jar" location="${topdir}/annotations/osgi.annotation-6.0.1.jar"/>
 
-  <!-- When comipling with Java 7 we use the Java 7 runtime -->
-  <!-- as libraryjar in proguard since ee.minimum does not contain -->
-  <!-- java.lang.StringBuilder which is used by the compiler for -->
-  <!-- string concatenation in the code. -->
-  <condition property="proguard.libraryjar"
-             value="${java.home}/lib/rt.jar"
-             else="${osgi.dir}/ee/ee.minimum.jar">
-    <isset property="jdk1.7+"/>
-  </condition>
-
-    
   <property name="src.dir" location="src"/>
 
   <property name="printClasses" location="true"/>
 
-  <!-- Optionally used classes that is outside the OSGi foundation EE -->
-  <!-- The value must be a valid includes/exludes expression.         -->
-  <!-- Currently this are classes that references:                    -->
-  <!--        java.security.cert                                      -->
-  <property name="nonFoundationSrcs"
-            value="org/knopflerfish/framework/validator/JKSValidator.java"/>
-
-  <path id="ee.minimum.path">
-    <pathelement location="${osgi.dir}/ee/ee.minimum.jar"/>
-    <!-- Outside EE, but usefull when compling -->
-    <pathelement location="${osgi.dir}/ee/src_annotations.jar"/>
-  </path>
-
-  <path id="ee.foundation.path">
-    <pathelement location="${osgi.dir}/ee/ee.foundation.jar"/>
-    <!-- Outside EE, but usefull when compling -->
-    <pathelement location="${osgi.dir}/ee/src_annotations.jar"/>
-  </path>
-
   <path id="compile.path">
     <pathelement location="${topdir}/framework/resources"/>
+    <pathelement location="${osgi.annotation.jar}"/>
     <pathelement location="libs/asm-3.2.jar"/>
   </path>
 
-  <path id="empty.path">
+  <path id="android.system.path">
+    <pathelement location="${osgi.dir}/ee/android.jar"/>
   </path>
 
-  <!-- Use the Java 7 runtime when compiling with Java 7 since -->
-  <!-- ee.minimum does not provide the required Iterable interface. --> 
-  <condition property="boot.class.path.name"
-             value="empty.path"
-             else="ee.minimum.path">
-    <isset property="jdk1.7+"/>
-  </condition>
+  <path id="empty.path">
+  </path>
 
+  <property name="androidSrcs"
+            value="org/knopflerfish/framework/bundlestorage/dex/*.java"/>
+  <property name="android.class.path.name" value="android.system.path"/>
 
   <!-- targets -->
   <target name="all"
@@ -115,27 +85,26 @@
            srcdir            = "${src.dir}"
            debug             = "on"
            includeantruntime = "false"
-           includejavaruntime= "${javac.includeJavaRuntime}"
            includes          = "**/*.java"
-           excludes          = "${nonFoundationSrcs},**/package-info.java"
-           target            = "${javac.target}"
-           source            = "${javac.source}"
-           bootclasspathref  = "${boot.class.path.name}"
+           excludes          = "${androidSrcs},**/package-info.java"
            classpathref      = "compile.path"
            >
+      <compilerarg value="-Xlint:-options"/>
     </javac>
-    <!-- Non foundation compliant part (uses java.security.cert) -->
+    <!-- Android parts (uses dalvik.*) -->
     <javac destdir           = "${classout}"
            srcdir            = "${src.dir}"
            debug             = "on"
            includeantruntime = "false"
-           includejavaruntime= "${javac.includeJavaRuntime}"
-           includes          = "${nonFoundationSrcs}"
+           includejavaruntime = "true"
+           includes          = "${androidSrcs}"
            excludes          = "**/package-info.java"
-           target            = "${javac.target}"
-           source            = "${javac.source}"
+           source            = "1.6"
+           target            = "1.6"
+           bootclasspathref  = "${android.class.path.name}"
            classpathref      = "compile.path"
            >
+      <compilerarg value="-Xlint:-options"/>
     </javac>
   </target>
 
@@ -148,12 +117,8 @@
            srcdir            = "${src.dir}"
            debug             = "on"
            includeantruntime = "false"
-           includejavaruntime= "${javac.includeJavaRuntime}"
            includes          = "**/*.java"
-           excludes          = "${nonFoundationSrcs},org/knopflerfish/framework/bundlestorage/memory/SelfSignedValidator.java,org/knopflerfish/framework/bundlestorage/memory/*.java,**/package-info.java,org/knopflerfish/framework/SecurePermissionOps.java,org/knopflerfish/framework/permissions/*.java"
-           target            = "${javac.target}"
-           source            = "${javac.source}"
-           bootclasspathref  = "${boot.class.path.name}"
+           excludes          = "org/knopflerfish/framework/validator/*.java,org/knopflerfish/framework/bundlestorage/dex/*.java,org/knopflerfish/framework/bundlestorage/memory/*.java,**/package-info.java,org/knopflerfish/framework/SecurePermissionOps.java,org/knopflerfish/framework/permissions/*.java"
            classpathref      = "compile.path"
            >
     </javac>
@@ -190,8 +155,6 @@
 
     <antcall target="jar_file_full"/>
     <antcall target="jar_file_compact"/>
-
-    <antcall target="add_dex"/>
   </target>
 
   <target name   = "jar_file_full"
@@ -217,11 +180,16 @@
                    value=""http://www.knopflerfish.org/license.html";description=BSD;link="http://www.knopflerfish.org/license.html""/>
         <attribute name="Export-Package"         value="${fw.export-package}"/>
         <attribute name="Bundle-DocURL"          value="http://www.knopflerfish.org/releases/current/docs/bundledoc/index.html?docpage=framework/index.html"/>
-        <attribute name="Bundle-SubversionURL"   value="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/framework/"/>
+        <attribute name="Bundle-GitURL"          value="https://github.com/knopflerfish/knopflerfish.org/tree/master/osgi/framework/"/>
         <attribute name="Build-Date"             value="${framework.tstamp}"/>
         <attribute name="SplashScreen-Image"     value="kfsplash.gif"/>
       </manifest>
     </jar>
+    <mkdir dir="${jars.dir}"/>
+    <copy file="${jarfile}"
+          tofile="${jarfile_version}"
+          overwrite="true"/>
+    <antcall target="cond_dex_jars"/>
   </target>
 
   <target name = "jar_file_compact"
@@ -249,7 +217,7 @@
                    value=""http://www.knopflerfish.org/license.html";description=BSD;link="http://www.knopflerfish.org/license.html""/>
         <attribute name="Export-Package"         value="${fw.export-package}"/>
         <attribute name="Bundle-DocURL"          value="http://www.knopflerfish.org/releases/current/docs/bundledoc/index.html?docpage=framework/index.html"/>
-        <attribute name="Bundle-SubversionURL"   value="https://www.knopflerfish.org/svn/knopflerfish.org/trunk/osgi/framework/"/>
+        <attribute name="Bundle-GitURL"          value="https://github.com/knopflerfish/knopflerfish.org/tree/master/osgi/framework/"/>
         <attribute name="Build-Date"             value="${framework.tstamp}"/>
       </manifest>
     </jar>
@@ -257,13 +225,14 @@
   </target>
 
   <target name = "proguard_compact"
-	  depends="install_proguard">
+          depends="install_proguard">
     <move file="${jarfile_compact}" tofile="${jarfile_compact}.tmp.jar"/>
     <proguard note="false">
       <!-- Specify the input jars, output jars, and library jars. -->
       <injar  file="${jarfile_compact}.tmp.jar" />
       <outjar file="${jarfile_compact}" />
       <libraryjar file="${proguard.libraryjar}" />
+      <libraryjar file="${osgi.annotation.jar}" />
 
       <!-- Preserve Main. -->
       <keepclasseswithmembers access="public">
@@ -276,14 +245,14 @@
       <!-- Keep KF dynamic  -->
       <keep name="org.knopflerfish.framework.FrameworkFactoryImpl"/>
       <keep name="org.knopflerfish.framework.bundlestorage.file.BundleStorageImpl">
-      	<constructor/>
+        <constructor/>
       </keep>
 
       <!-- Keep OSGi interface -->
       <keep name="org.osgi.**" access="public">
-      	<field access="public,protected"/>
-      	<method access="public,protected"/>
-      	<constructor access="public,protected"/>
+        <field access="public,protected"/>
+        <method access="public,protected"/>
+        <constructor access="public,protected"/>
       </keep>
 
       <!-- Explicitly preserve all serialization members. The Serializable
@@ -310,13 +279,13 @@
         <method type      ="java.lang.Object"
                 name      ="writeReplace"
                 parameters="" />
-      	<method type      ="java.lang.Object"
+        <method type      ="java.lang.Object"
                 name      ="readResolve"
                 parameters="" />
       </keepclassmembers>
 
     </proguard>
-  	<delete file="${jarfile_compact}.tmp.jar"/>
+    <delete file="${jarfile_compact}.tmp.jar"/>
   </target>
 
   <target name="source.jar" if="bundle.build.source.jar">
@@ -379,11 +348,15 @@
     </jar>
   </target>
 
+  <target name="dex_jars"
+          description="Dexifies framework.">
+    <fail unless="android.exists" message="You must set the ANDROID_HOME property"/>
+    <antcall target="cond_dex_jars" inheritRefs="true"/>
+  </target>
 
   <!-- Helper taget that adds Android dex data to framework.jar. -->
-  <target name="add_dex" if="android.exists">
-    <echo message="add_dex ${jarfile}"/>
-    <add_dex jarfile="${jarfile}" outdir="${outdir}"/>
+  <target name="cond_dex_jars" if="android.exists">
+    <dexify_bundle bundle="${jarfile}"/>
   </target>
 
   <target name="framework_doc"
diff --git a/osgi/framework/doc/index.html b/osgi/framework/doc/index.html
index 588b4c0..0dc3ef1 100644
--- a/osgi/framework/doc/index.html
+++ b/osgi/framework/doc/index.html
@@ -313,13 +313,13 @@ OSGi Framework properties should be specified using "-F".
     <td></td>
   </tr>
   <tr>
-	<td>org.osgi.framework.bsnversion</td>
-	<td>
-	  Allow installation of multiple bundles with the same bundle symbolic
-	  name or restrict this. The property can have the following values:
+  <td>org.osgi.framework.bsnversion</td>
+  <td>
+    Allow installation of multiple bundles with the same bundle symbolic
+    name or restrict this. The property can have the following values:
       <table class="man_inner">
       <tr>
-	    <td class="man_inner"><b>single</b></td>
+      <td class="man_inner"><b>single</b></td>
         <td class="man_inner">
           A combination of equal bundle symbolic name and equal version is
           unique in the framework. Installing a second bundle with the same
@@ -334,15 +334,15 @@ OSGi Framework properties should be specified using "-F".
         </td>
       </tr>
       <tr>
-	    <td class="man_inner"><b>managed</b></td>
+      <td class="man_inner"><b>managed</b></td>
         <td class="man_inner">
           Using a Bundle Collision Hook to filter any non-colliding bundles.
         </td>
       </tr>
       </table>
-	</td>
+  </td>
     <td>String</td>
-    <td>managed</td>	
+    <td>managed</td>
   <tr>
     <td>org.osgi.framework.bundle.parent</td>
     <td>
@@ -601,10 +601,54 @@ but "-D" should also work.
     <td>org.knopflerfish.framework.bundlestorage</td>
     <td>
       Storage implementation for bundles
-      [file, memory]
+      [dex, file, memory]
     </td>
     <td>String</td>
-    <td>file</td>
+    <td>file (dex for Android systems)</td>
+  </tr>
+  <tr>
+    <td>org.knopflerfish.framework.bundlestorage.dex.always_unpack</td>
+    <td>
+     When using dex file bundle storage, bundle jars can be unpacked
+     or copied as-is. Unpacking leads to faster restart and class loading
+     but takes longer for initial startup.
+
+     If set to true, unpack all bundle jars.
+    </td>
+    <td>Boolean</td>
+    <td>False</td>
+  </tr>
+  <tr>
+    <a name="fileref"></a>
+    <td>org.knopflerfish.framework.bundlestorage.dex.reference</td>
+    <td>
+     When using dex file bundle storage, file: URLs can optionally
+     be referenced only, not copied to the persistent area.
+
+     If set to true, file: URLs are referenced only.
+
+     Note: Individual bundles can be reference installed
+           by using URLs of the syntax:
+
+           reference:file:<path>
+
+           This works even if the global reference flag
+           is not enabled.
+    </td>
+    <td>Boolean</td>
+    <td>False</td>
+  </tr>
+  <tr>
+    <td>org.knopflerfish.framework.bundlestorage.dex.trusted</td>
+    <td>
+     Are the bundles stored in the dex file bundle storage to be trusted, if not
+     signed bundles will be checked every time they are read.
+     Untrusted storage leads to slower restart and class loading.
+
+     If set to true, trust bundles in bundle storage.
+    </td>
+    <td>Boolean</td>
+    <td>True</td>
   </tr>
   <tr>
     <td>org.knopflerfish.framework.bundlestorage.file.always_unpack</td>
@@ -702,18 +746,18 @@ but "-D" should also work.
       uninstalled before the method has returned, this property defines how to
       manage the bundle's start/stop thread. Possible values are:
       <table class="man_inner">
-	<tr>
-	  <td class="man_inner">"stop"</td>
-	  <td class="man_inner">Calls the stop() method of the bundle's thread</td>
-	</tr>
-	<tr>
-	  <td>"minprio"</td>
-	  <td>Sets a minium priority of the bundle's thred</td>
-	</tr>
-	<tr>
-	  <td>"ignore"</td>
-	  <td>Do nothing</td>
-	</tr>
+        <tr>
+          <td class="man_inner">"stop"</td>
+          <td class="man_inner">Calls the stop() method of the bundle's thread</td>
+        </tr>
+        <tr>
+          <td>"minprio"</td>
+          <td>Sets a minium priority of the bundle's thred</td>
+        </tr>
+        <tr>
+          <td>"ignore"</td>
+          <td>Do nothing</td>
+        </tr>
       </table>
     </td>
     <td>String</td>
@@ -856,8 +900,7 @@ but "-D" should also work.
     </td>
     <td>Boolean</td>
     <td>
-      True if value of the system property java.version ≥ 1.5,
-      False otherwise
+      True
     </td>
   </tr>
   <tr>
@@ -976,6 +1019,25 @@ but "-D" should also work.
     <td>False</td>
   </tr>
   <tr>
+    <td>org.knopflerfish.framework.resolver.implicituses</td>
+    <td>
+      Set to true if resolver should in case that no uses directive is specified
+      implicitly check all imported packages for class conflicts.
+    </td>
+    <td>Boolean</td>
+    <td>False</td>
+  </tr>
+  <tr>
+    <td>org.knopflerfish.framework.resolver.prefersystembundle</td>
+    <td>
+      Set to true if resolver should actively provide system bundle packages
+      from the start. This will cause the resolver to prefer these packages
+      if possible.
+    </td>
+    <td>Boolean</td>
+    <td>False</td>
+  </tr>
+  <tr>
     <td>org.knopflerfish.framework.service.conditionalpermissionadmin</td>
     <td>
       Controls if the framework should register the Conditional Permission
@@ -1021,6 +1083,8 @@ but "-D" should also work.
     <td>org.knopflerfish.framework.system.packages.file</td>
     <td>
       File containing list of packages exported by the system bundle.
+      If not specified the framework will use default values based
+      on java version.
     </td>
     <td>String</td>
     <td>-</td>
diff --git a/osgi/framework/resources/META-INF/services/org.osgi.framework.launch.FrameworkFactory b/osgi/framework/resources/META-INF/services/org.osgi.framework.launch.FrameworkFactory
old mode 100644
new mode 100755
diff --git a/osgi/framework/resources/android_packages.txt b/osgi/framework/resources/android_packages.txt
new file mode 100644
index 0000000..a63f466
--- /dev/null
+++ b/osgi/framework/resources/android_packages.txt
@@ -0,0 +1,215 @@
+android
+android.accessibilityservice!4
+android.accounts!5
+android.animation!11
+android.annotation!16
+android.app
+android.app.admin!8
+android.app.backup!8
+android.app.job!21
+android.app.usage!21
+android.appwidget!3
+android.bluetooth!5
+android.bluetooth.le!21
+android.content
+android.content.pm
+android.content.res
+android.database
+android.database.sqlite
+android.drm!11
+android.gesture!4
+android.graphics
+android.graphics.drawable
+android.graphics.drawable.shapes
+android.graphics.pdf!19
+android.hardware
+android.hardware.camera2!21
+android.hardware.camera2.params!21
+android.hardware.display!17
+android.hardware.input!16
+android.hardware.usb!12
+android.inputmethodservice!3
+android.location
+android.media
+android.media.audiofx!9
+android.media.browse!21
+android.media.effect!14
+android.media.projection!21
+android.media.session!21
+android.media.tv!21
+android.mtp!12
+android.net
+android.net.http
+android.net.nsd!16
+android.net.rtp!12
+android.net.sip!9
+android.net.wifi
+android.net.wifi.p2p!14
+android.net.wifi.p2p.nsd!16
+android.nfc!9
+android.nfc.cardemulation!19
+android.nfc.tech!10
+android.opengl
+android.os
+android.os.storage!9
+android.preference
+android.print!19
+android.print.pdf!19
+android.printservice!19
+android.provider
+android.renderscript!11
+android.sax
+android.security!14
+android.service.carrier!22
+android.service.dreams!17
+android.service.media!21
+android.service.notification!18
+android.service.restrictions!21
+android.service.textservice!14
+android.service.voice!21
+android.service.wallpaper!7
+android.speech!3
+android.speech.tts!4
+android.support.annotation
+android.support.multidex
+android.support.v13.app
+android.support.v17.leanback
+android.support.v17.leanback.app
+android.support.v17.leanback.database
+android.support.v17.leanback.graphics
+android.support.v17.leanback.widget
+android.support.v4.accessibilityservice
+android.support.v4.app
+android.support.v4.content
+android.support.v4.content.pm
+android.support.v4.content.res
+android.support.v4.database
+android.support.v4.graphics
+android.support.v4.graphics.drawable
+android.support.v4.hardware.display
+android.support.v4.media
+android.support.v4.media.session
+android.support.v4.net
+android.support.v4.os
+android.support.v4.print
+android.support.v4.provider
+android.support.v4.text
+android.support.v4.util
+android.support.v4.view
+android.support.v4.view.accessibility
+android.support.v4.view.animation
+android.support.v4.widget
+android.support.v7.app
+android.support.v7.appcompat
+android.support.v7.cardview
+android.support.v7.graphics
+android.support.v7.gridlayout
+android.support.v7.media
+android.support.v7.mediarouter
+android.support.v7.util
+android.support.v7.view
+android.support.v7.widget
+android.support.v7.widget.util
+android.support.v8.renderscript
+android.system!21
+android.telecom!21
+android.telephony
+android.telephony.cdma!5
+android.telephony.gsm
+android.test
+android.test.mock
+android.test.suitebuilder
+android.test.suitebuilder.annotation
+android.text
+android.text.format!3
+android.text.method
+android.text.style
+android.text.util
+android.transition!19
+android.util
+android.view
+android.view.accessibility!4
+android.view.animation
+android.view.inputmethod!3
+android.view.textservice!14
+android.webkit
+android.widget
+com.android.internal.backup
+com.android.internal.os
+com.android.internal.statusbar
+com.android.internal.widget
+com.android.test.runner
+dalvik.annotation
+dalvik.bytecode
+dalvik.system
+javax.crypto
+javax.crypto.interfaces
+javax.crypto.spec
+javax.microedition.khronos.egl
+javax.microedition.khronos.opengles
+javax.net
+javax.net.ssl
+javax.security.auth
+javax.security.auth.callback
+javax.security.auth.login
+javax.security.auth.x500
+javax.security.cert
+javax.sql
+javax.xml
+javax.xml.datatype!8
+javax.xml.namespace!8
+javax.xml.parsers
+javax.xml.transform!8
+javax.xml.transform.dom!8
+javax.xml.transform.sax!8
+javax.xml.transform.stream!8
+javax.xml.validation!8
+javax.xml.xpath!8
+junit.framework
+junit.runner
+org.apache.commons.codec
+org.apache.commons.codec.binary
+org.apache.commons.codec.digest
+org.apache.commons.codec.language
+org.apache.commons.codec.net
+org.apache.commons.logging
+org.apache.http
+org.apache.http.auth
+org.apache.http.auth.params
+org.apache.http.client
+org.apache.http.client.entity
+org.apache.http.client.methods
+org.apache.http.client.params
+org.apache.http.client.protocol
+org.apache.http.client.utils
+org.apache.http.conn
+org.apache.http.conn.params
+org.apache.http.conn.routing
+org.apache.http.conn.scheme
+org.apache.http.conn.ssl
+org.apache.http.conn.util
+org.apache.http.cookie
+org.apache.http.cookie.params
+org.apache.http.entity
+org.apache.http.impl
+org.apache.http.impl.auth
+org.apache.http.impl.client
+org.apache.http.impl.conn
+org.apache.http.impl.conn.tsccm
+org.apache.http.impl.cookie
+org.apache.http.impl.entity
+org.apache.http.impl.io
+org.apache.http.io
+org.apache.http.message
+org.apache.http.params
+org.apache.http.protocol
+org.apache.http.util
+org.json
+org.kxml2.io
+org.w3c.dom
+org.w3c.dom.ls!8
+org.xml.sax
+org.xml.sax.ext
+org.xml.sax.helpers
+org.xmlpull.v1
+org.xmlpull.v1.sax2
diff --git a/osgi/framework/resources/exports b/osgi/framework/resources/exports
deleted file mode 100644
index 7530dfa..0000000
--- a/osgi/framework/resources/exports
+++ /dev/null
@@ -1 +0,0 @@
-org.osgi.framework;version=1.7.0,org.osgi.framework.hooks.bundle;version=1.1.0,org.osgi.framework.hooks.resolver;version=1.0.0,org.osgi.framework.hooks.service;version=1.1.0,org.osgi.framework.hooks.weaving;version=1.0.0,org.osgi.framework.launch;version=1.1.0,org.osgi.framework.namespace;version=1.0.0,org.osgi.framework.startlevel;version=1.0.0,org.osgi.framework.wiring;version=1.1.0,org.osgi.resource;version=1.0.0,org.osgi.service.condpermadmin;version=1.1.1,org.osgi.service.packageadm [...]
\ No newline at end of file
diff --git a/osgi/framework/resources/kfsplash.gif b/osgi/framework/resources/kfsplash.gif
old mode 100644
new mode 100755
diff --git a/osgi/framework/resources/release b/osgi/framework/resources/release
deleted file mode 100644
index acf69b4..0000000
--- a/osgi/framework/resources/release
+++ /dev/null
@@ -1 +0,0 @@
-5.1.0
\ No newline at end of file
diff --git a/osgi/framework/resources/version b/osgi/framework/resources/version
deleted file mode 100644
index 0e7b60d..0000000
--- a/osgi/framework/resources/version
+++ /dev/null
@@ -1 +0,0 @@
-7.1.2
\ No newline at end of file
diff --git a/osgi/framework/src/org/knopflerfish/framework/Alias.java b/osgi/framework/src/org/knopflerfish/framework/Alias.java
index c8d799d..e8ecffa 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Alias.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Alias.java
@@ -76,7 +76,8 @@ public class Alias {
       { "Windows7", "win*7", "win32" },
       { "WindowsServer2008", "win*2008", "win32" },
       { "Windows8", "win*8", "win32" },
-      { "WindowsServer2012", "win*2012", "win32" }
+      { "WindowsServer2012", "win*2012", "win32" },
+      { "Windows10", "win*10", "win32" }
   };
 
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleCapabilityImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleCapabilityImpl.java
index 3066f4a..2ecb0b1 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleCapabilityImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleCapabilityImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,30 +33,38 @@
  */
 package org.knopflerfish.framework;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.Vector;
 
 import org.knopflerfish.framework.Util.HeaderEntry;
 import org.osgi.framework.Constants;
+import org.osgi.framework.Version;
+import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
 import org.osgi.framework.namespace.IdentityNamespace;
+import org.osgi.framework.namespace.NativeNamespace;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleRevision;
+import org.osgi.resource.dto.CapabilityDTO;
+import org.osgi.resource.dto.CapabilityRefDTO;
 
 /**
  * Implementation of bundle capability for generic capabilities specified in the
  * Bundle-Capability header.
  */
-public class BundleCapabilityImpl implements BundleCapability {
+public class BundleCapabilityImpl extends DTOId implements BundleCapability {
   private final BundleGeneration gen;
   private final BundleGeneration owner;
-  private final String nameSpace;
-  private final Map<String,Object> attributes;
-  private final Map<String,String> directives;
+  private final String namespace;
+  Map<String,Object> attributes;
+  Map<String,String> directives;
   private Vector<BundleWireImpl> wires = new Vector<BundleWireImpl>(2);
 
   /**
@@ -72,20 +80,23 @@ public class BundleCapabilityImpl implements BundleCapability {
   {
     this.gen = gen;
     owner = gen;
-    nameSpace = he.getKey();
-    for (final String ns : Arrays
-        .asList(new String[] { BundleRevision.BUNDLE_NAMESPACE,
-                               BundleRevision.HOST_NAMESPACE,
-                               BundleRevision.PACKAGE_NAMESPACE,
-                               IdentityNamespace.IDENTITY_NAMESPACE})) {
-      if (ns.equals(nameSpace)) {
-        throw new IllegalArgumentException("Capability with name-space '" + ns
-                                           + "' must not be provided in the "
-                                           + Constants.PROVIDE_CAPABILITY
-                                           + " manifest header.");
+    namespace = he.getKey();
+    if (gen.bundle.id != 0) {
+      for (final String ns : Arrays
+             .asList(new String[] { BundleRevision.BUNDLE_NAMESPACE,
+                                    BundleRevision.HOST_NAMESPACE,
+                                    BundleRevision.PACKAGE_NAMESPACE,
+                                    ExecutionEnvironmentNamespace.EXECUTION_ENVIRONMENT_NAMESPACE,
+                                    IdentityNamespace.IDENTITY_NAMESPACE,
+                                    NativeNamespace.NATIVE_NAMESPACE})) {
+        if (ns.equals(namespace)) {
+          throw new IllegalArgumentException("Capability with name-space '" + ns
+                                             + "' must not be provided in the "
+                                             + Constants.PROVIDE_CAPABILITY
+                                             + " manifest header.");
+        }
       }
     }
-
     attributes = Collections.unmodifiableMap(he.getAttributes());
     directives = Collections.unmodifiableMap(he.getDirectives());
   }
@@ -93,15 +104,18 @@ public class BundleCapabilityImpl implements BundleCapability {
   public BundleCapabilityImpl(BundleCapability bc, BundleGeneration bg) {
     gen = bg;
     owner = ((BundleCapabilityImpl)bc).owner;
-    nameSpace = bc.getNamespace();
+    namespace = bc.getNamespace();
     attributes = bc.getAttributes();
     directives = bc.getDirectives();
   }
 
+  /**
+   * IdentityNamespace capability
+   */
   public BundleCapabilityImpl(BundleGeneration bg) {
     gen = bg;
     owner = gen;
-    nameSpace = IdentityNamespace.IDENTITY_NAMESPACE;
+    namespace = IdentityNamespace.IDENTITY_NAMESPACE;
     Map<String,Object> attrs = new HashMap<String, Object>();
     attrs.put(IdentityNamespace.IDENTITY_NAMESPACE, gen.symbolicName);
     attrs.put(IdentityNamespace.CAPABILITY_TYPE_ATTRIBUTE,
@@ -145,14 +159,76 @@ public class BundleCapabilityImpl implements BundleCapability {
     directives = Collections.unmodifiableMap(dirs);
   }
 
+  /**
+   * NativeNamespace capability
+   */
+  BundleCapabilityImpl(final BundleGeneration gen, final FWProps fwProps)
+  {
+    this.gen = gen;
+    owner = gen;
+    namespace = NativeNamespace.NATIVE_NAMESPACE;
+    attributes = fwProps.getFWProperties();
+    for (Iterator<Entry<String,Object>> i = attributes.entrySet().iterator(); i.hasNext(); ) {
+      if (i.next().getKey().startsWith(NativeNamespace.NATIVE_NAMESPACE + ".")) {
+        i.remove();
+      }
+    }
+    final ArrayList<String> proc = new ArrayList<String>(3);
+    final String procP = fwProps.getProperty(Constants.FRAMEWORK_PROCESSOR);
+    proc.add(procP);
+    final String procS = System.getProperty("os.arch");
+    if (!procP.equalsIgnoreCase(procS)) {
+      proc.add(procS);
+    }
+    // Handle deprecated value "arm"
+    if (procP.startsWith("arm_")) {
+      proc.add("arm");
+    }
+    for (int i = 0; i < Alias.processorAliases.length; i++) {
+      if (procP.equalsIgnoreCase(Alias.processorAliases[i][0])) {
+        for (int j = 1; j < Alias.processorAliases[i].length; j++) {
+          if (!procS.equalsIgnoreCase(Alias.processorAliases[i][j])) {
+            proc.add(Alias.processorAliases[i][j]);
+          }
+        }
+        break;
+      }
+    }
+    attributes.put(NativeNamespace.CAPABILITY_PROCESSOR_ATTRIBUTE, proc);
+    final ArrayList<String> os = new ArrayList<String>();
+    final String osP = fwProps.getProperty(Constants.FRAMEWORK_OS_NAME);
+    os.add(osP);
+    final String osS = System.getProperty("os.name");
+    if (!osS.equalsIgnoreCase(osP)) {
+      os.add(osS);
+    }
+    for (int i = 0; i < Alias.osNameAliases.length; i++) {
+      if (osP.equalsIgnoreCase(Alias.osNameAliases[i][0])) {
+        for (int j = 1; j < Alias.osNameAliases[i].length; j++) {
+          if (!osS.equalsIgnoreCase(Alias.osNameAliases[i][j])) {
+            os.add(Alias.osNameAliases[i][j]);
+          }
+        }
+        break;
+      }
+    }
+    attributes.put(NativeNamespace.CAPABILITY_OSNAME_ATTRIBUTE, os);
+    attributes.put(NativeNamespace.CAPABILITY_OSVERSION_ATTRIBUTE,
+                   new Version(fwProps.getProperty(Constants.FRAMEWORK_OS_VERSION)));
+    attributes.put(NativeNamespace.CAPABILITY_LANGUAGE_ATTRIBUTE,
+                   fwProps.getProperty(Constants.FRAMEWORK_LANGUAGE));
+    attributes = Collections.unmodifiableMap(attributes);
+    directives = Collections.EMPTY_MAP;
+  }
+
   @Override
   public String getNamespace() {
-    return nameSpace;
+    return namespace;
   }
 
   @Override
   public Map<String, String> getDirectives() {
-    return Collections.unmodifiableMap(directives);
+    return directives;
   }
 
   @Override
@@ -172,7 +248,7 @@ public class BundleCapabilityImpl implements BundleCapability {
 
   @Override
   public String toString() {
-    return "BundleCapability[nameSpace=" + nameSpace + ", attributes=" + attributes +
+    return "BundleCapability[namespace=" + namespace + ", attributes=" + attributes +
         ", directives=" + directives + ", revision=" + getRevision() + "]";
   }
 
@@ -231,4 +307,21 @@ public class BundleCapabilityImpl implements BundleCapability {
     return null;
   }
 
+  static CapabilityDTO getDTO(BundleCapability bc, BundleRevisionImpl bri) {
+    CapabilityDTO res = new CapabilityDTO();
+    res.id = ((DTOId)bc).dtoId;
+    res.namespace = bc.getNamespace();
+    res.directives = new HashMap<String, String>(bc.getDirectives());
+    res.attributes = Util.safeDTOMap(bc.getAttributes());
+    res.resource = bri.dtoId;
+    return res;
+  }
+
+  static CapabilityRefDTO getRefDTO(BundleCapability bc, BundleRevisionImpl bri) {
+    CapabilityRefDTO res = new CapabilityRefDTO();
+    res.capability = ((DTOId)bc).dtoId;
+    res.resource = bri.dtoId;
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java b/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java
index c12d80e..bb63ce5 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleClassLoader.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,10 +34,8 @@
 
 package org.knopflerfish.framework;
 
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.net.URL;
 import java.security.ProtectionDomain;
@@ -46,7 +44,6 @@ import java.util.Collection;
 import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.Iterator;
-import java.util.List;
 import java.util.Set;
 import java.util.Vector;
 
@@ -101,44 +98,6 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
   // Array of bundles for which a classload is triggering activation.
   private static ThreadLocal<ArrayList<BundleImpl>> tlBundlesToActivate = new ThreadLocal<ArrayList<BundleImpl>>();
 
-  // android/dalvik VM stuff
-  private static Method dexFileClassLoadDexMethod;
-  private static Method dexFileClassLoadClassMethod;
-
-  // bDalvik will be set to true if we're running on the android
-  // dalvik VM.
-  // package protected to enable other parts of framework to check
-  // for dalvik VM
-  static boolean bDalvik = false;
-
-  private ArrayList<Object> dexFile = null;
-
-  static {
-    try {
-      Class<?> dexFileClass = null;
-      try {
-        dexFileClass = Class.forName("android.dalvik.DexFile");
-      } catch (final Exception ex) {
-        dexFileClass = Class.forName("dalvik.system.DexFile");
-      }
-
-      dexFileClassLoadDexMethod = dexFileClass.getMethod("loadDex", new Class[] { String.class,
-                                                                                 String.class,
-                                                                                 Integer.TYPE });
-
-      dexFileClassLoadClassMethod = dexFileClass.getMethod("loadClass",
-                                                           new Class[] { String.class,
-                                                                        ClassLoader.class });
-
-      bDalvik = true;
-      // if(debug.classLoader) {
-      // debug.println("running on dalvik VM");
-      // }
-    } catch (final Exception e) {
-      dexFileClassLoadDexMethod = null;
-      dexFileClassLoadClassMethod = null;
-    }
-  }
 
   Debug debug;
 
@@ -155,8 +114,7 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
     protectionDomain = gen.getProtectionDomain();
     bpkgs = gen.bpkgs;
     archive = gen.archive;
-    classPath = new BundleClassPath(archive, gen.fragments, fwCtx);
-    fwCtx.bundleClassLoaderCreated(this);
+    classPath = new BundleClassPath(archive, gen);
     if (debug.classLoader) {
       debug.println(this + " Created new classloader");
     }
@@ -530,7 +488,6 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
    */
   void close() {
     archive = null;
-    fwCtx.bundleClassLoaderClosed(this);
     if (debug.classLoader) {
       debug.println(this + " Cleared archives");
     }
@@ -541,8 +498,6 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
    * 
    */
   Enumeration<URL> getBundleResources(String name, boolean onlyFirst) {
-    // Removed this check pending outcome of OSGi bug 1489.
-    // if (secure.okResourceAdminPerm(bpkgs.bundle)) {
     if (debug.classLoader) {
       debug.println(this + " Find bundle resource" + (onlyFirst ? "" : "s") + ": " + name);
     }
@@ -561,9 +516,6 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
                                                                                   : 0, this,
                                                                          null);
     return res;
-    // } else {
-    // return null;
-    // }
   }
 
   /**
@@ -915,7 +867,7 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
   /**
    * Get resources/classes from the framework.
    * Rewrite this since this solution will leak
-   * resources that aren't bootdelegated.
+   * resources that aren't boot delegated.
    * 
    * @param cl
    * @param name
@@ -961,7 +913,7 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
   static final SearchAction classSearch = new SearchAction() {
     public Object get(Vector<FileArchive> items, String path, String name, String pkg,
                       int options, BundleClassLoader requestor, BundleClassLoader cl)
-                                                                                     throws IOException {
+                          throws IOException {
       byte[] bytes = items.get(0).getClassBytes(path);
       if (bytes != null) {
         if (cl.debug.classLoader) {
@@ -976,45 +928,33 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
               }
             }
 
-            // Use dalvik DexFile class loading when running
-            // on the dalvik VM
-            if (bDalvik) {
+            WeavingHooks.WovenClassImpl wc = null;
+            if (cl != null && cl.bpkgs != null && cl.bpkgs.bg != null
+                && cl.bpkgs.bg.bundle != null) {
+              wc = new WeavingHooks.WovenClassImpl(cl.bpkgs.bg.bundle, name, bytes);
               try {
-                c = cl.getDexFileClass(name);
-              } catch (final Exception e) {
-                throw new IOException("Failed to load dex class '" + name + "', " + e);
-              }
-            }
-
-            if (c == null) {
-
-              WeavingHooks.WovenClassImpl wc = null;
-              if (cl != null && cl.bpkgs != null && cl.bpkgs.bg != null
-                  && cl.bpkgs.bg.bundle != null) {
-                wc = new WeavingHooks.WovenClassImpl(cl.bpkgs.bg.bundle, name, bytes);
-                try {
-                  cl.fwCtx.weavingHooks.callHooks(wc);
-                  if (wc.hasAdditionalDynamicImports()) {
-                    cl.bpkgs.parseDynamicImports(wc.getDynamicImportsAsString());
-                  }
-                  bytes = wc.getBytes();
-                } catch (final ClassFormatError cfe) {
-                  throw cfe;
-                } catch (final Throwable t) {
-                  final ClassFormatError cfe = new ClassFormatError(
-                                                                    "Failed to call WeavingHooks for "
-                                                                        + name);
-                  cfe.initCause(t);
-                  throw cfe;
+                cl.fwCtx.weavingHooks.callHooks(wc);
+                if (wc.hasAdditionalDynamicImports()) {
+                  cl.bpkgs.parseDynamicImports(wc.getDynamicImportsAsString());
                 }
+                bytes = wc.getBytes();
+              } catch (final ClassFormatError cfe) {
+                throw cfe;
+              } catch (final Throwable t) {
+                final ClassFormatError cfe =
+                  new ClassFormatError("Failed to call WeavingHooks for " + name);
+                cfe.initCause(t);
+                throw cfe;
               }
+            }
+            try {
               if (cl.protectionDomain == null) {
                 // Kaffe can't handle null protectiondomain
                 c = cl.defineClass(name, bytes, 0, bytes.length);
               } else {
                 c = cl.defineClass(name, bytes, 0, bytes.length, cl.protectionDomain);
               }
-
+            } finally {
               if (wc != null) {
                 wc.setDefinedClass(c);
               }
@@ -1022,119 +962,11 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
           }
           return c;
         }
-      }
-      return null;
-    }
-  };
-
-  private void walkAndAddJars(List<Object> dexlist, String path) throws Exception {
-    final File root = new File(path);
-    final File[] list = root.listFiles();
-
-    for (final File f : list) {
-      if (f.isDirectory()) {
-        walkAndAddJars(dexlist, f.getAbsolutePath());
       } else {
-        if (f.getAbsolutePath().endsWith(".jar")) {
-          if (debug.classLoader) {
-            debug.println("creating DexFile from " + f.getAbsolutePath());
-          }
-          final Object dex = dexFileClassLoadDexMethod.invoke(null,
-                                                              new Object[] {
-                                                                            f.getAbsolutePath(),
-                                                                            f.getAbsolutePath()
-                                                                                + ".dexopt",
-                                                                            new Integer(0) });
-          dexlist.add(dex);
-        }
+        return items.get(0).loadClassBytes(name, cl);
       }
     }
-  }
-
-  /**
-   * Load a class using the Dalvik DexFile API.
-   * <p>
-   * This relies in the bundle having a "classes.dex" in its root
-   * <p>
-   * TODO: We should create a specific bundle storage module for DEX files.
-   * <p>
-   * 
-   * To create such a bundle, do
-   * <ol>
-   * <li><code>dx --dex --output=classes.dex bundle.jar</code>
-   * <li><code>aapt add bundle.jar classes.dex</code>
-   * </ol>
-   */
-  private Class<?> getDexFileClass(String name) throws Exception {
-    if (debug.classLoader) {
-      debug.println("loading dex class " + name);
-    }
-
-    if (dexFile == null) {
-      dexFile = new ArrayList<Object>();
-      final File f = new File(archive.getJarLocation());
-      if (!f.isDirectory()) {
-        if (debug.classLoader) {
-          debug.println("creating DexFile from " + f);
-        }
-        final Object dex = dexFileClassLoadDexMethod.invoke(null,
-                                                            new Object[] {
-                                                                          f.getAbsolutePath(),
-                                                                          f.getAbsolutePath()
-                                                                              + ".dexopt",
-                                                                          new Integer(0) });
-        dexFile.add(dex);
-        if (debug.classLoader) {
-          debug.println("created DexFile from " + f);
-        }
-      } else {
-        // if it has an internal jar file then it was unpacked into a folder
-        if (debug.classLoader) {
-          System.err.println("creating DexFile from " + f + "/classes.dex");
-        }
-        final Object dex = dexFileClassLoadDexMethod.invoke(null,
-                                                            new Object[] {
-                                                                          f.getAbsolutePath()
-                                                                              + "/classes.dex",
-                                                                          f.getAbsolutePath()
-                                                                              + ".dexopt",
-                                                                          new Integer(0) });
-        dexFile.add(dex);
-        if (debug.classLoader) {
-          debug.println("created DexFile from " + f + File.pathSeparatorChar + "classes.dex");
-        }
-        // check for internal jar files
-        walkAndAddJars(dexFile, f.getAbsolutePath());
-      }
-    }
-
-    final String path = name.replace('.', '/');
-
-    final Iterator<Object> i = dexFile.iterator();
-    while (i.hasNext()) {
-      final Object dex = i.next();
-      if (debug.classLoader) {
-        debug.println("trying to load " + path + " from " + dex);
-      }
-      try {
-        final Class<?> clz = (Class<?>) dexFileClassLoadClassMethod.invoke(dex,
-                                                                           new Object[] { path,
-                                                                                         this });
-        if (clz != null) {
-          if (debug.classLoader) {
-            debug.println("loaded " + path + " from " + dex);
-          }
-          return clz;
-        }
-      } catch (final Exception e) {
-      }
-      if (debug.classLoader) {
-        debug.println("failed to load " + path + " from " + dex);
-      }
-    }
-
-    throw new ClassNotFoundException("could not find dex class " + path);
-  }
+  };
 
   /**
    * Search action for resource searching
@@ -1238,4 +1070,11 @@ final public class BundleClassLoader extends ClassLoader implements BundleRefere
     return classPath.getNativeLibrary(name);
   }
 
+  /**
+   * Check if we have native code
+   */
+  Set<BundleGeneration> hasNativeRequirements() {
+    return classPath.hasNativeRequirements();
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleClassPath.java b/osgi/framework/src/org/knopflerfish/framework/BundleClassPath.java
index a87a51f..57f32ce 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleClassPath.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleClassPath.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2013, KNOPFLERFISH project
+ * Copyright (c) 2009-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,9 +37,11 @@ package org.knopflerfish.framework;
 import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.StringTokenizer;
 import java.util.Vector;
 
@@ -88,21 +90,21 @@ public class BundleClassPath {
    *
    * @throws BundleException if native code resolve failed.
    */
-  BundleClassPath(BundleArchive ba, List<BundleGeneration> frags, FrameworkContext fwCtx)
+  BundleClassPath(BundleArchive ba, BundleGeneration gen)
       throws BundleException {
-    this.fwCtx = fwCtx;
+    this.fwCtx = gen.bundle.fwCtx;
     debug = fwCtx.debug;
-    bid = ba.getBundleId();
-    checkBundleArchive(ba, frags);
-    if (frags != null) {
-      for (final BundleGeneration bundleGeneration : frags) {
+    bid = gen.bundle.id;
+    checkBundleArchive(ba, gen.fragments);
+    if (gen.fragments != null) {
+      for (final BundleGeneration bundleGeneration : gen.fragments) {
         checkBundleArchive(bundleGeneration.archive, null);
       }
     }
-    resolveNativeCode(ba, false);
-    if (frags != null) {
-      for (final BundleGeneration bundleGeneration : frags) {
-        resolveNativeCode(bundleGeneration.archive, true);
+    resolveNativeCode(gen);
+    if (gen.fragments != null) {
+      for (final BundleGeneration bundleGeneration : gen.fragments) {
+        resolveNativeCode(bundleGeneration);
       }
     }
   }
@@ -125,7 +127,7 @@ public class BundleClassPath {
    */
   void attachFragment(BundleGeneration gen) throws BundleException {
     checkBundleArchive(gen.archive, null);
-    resolveNativeCode(gen.archive, true);
+    resolveNativeCode(gen);
   }
 
 
@@ -142,7 +144,7 @@ public class BundleClassPath {
       component = component.substring(1);
     }
     if (debug.classLoader) {
-      debug.println(this + "compentExists: " + component);
+      debug.println(this + "componentExists: " + component);
     }
     if (0 == component.length()) {
       // The special case asking for "/"
@@ -308,221 +310,49 @@ public class BundleClassPath {
    *
    * @throws BundleException if native code resolve failed.
    */
-  private void resolveNativeCode(BundleArchive ba, boolean isFrag) throws BundleException {
-    final String bnc = ba.getAttribute(Constants.BUNDLE_NATIVECODE);
-    if (bnc != null) {
-      final ArrayList<String> proc = new ArrayList<String>(3);
-      final String procP = fwCtx.props.getProperty(Constants.FRAMEWORK_PROCESSOR).toLowerCase();
-      proc.add(procP);
-      final String procS = System.getProperty("os.arch").toLowerCase();
-      if (!procP.equals(procS)) {
-        proc.add(procS);
-      }
-      // Handle deprecated value "arm"
-      if (procP.startsWith("arm_")) {
-        proc.add("arm");
-      }
-      for (int i = 0; i < Alias.processorAliases.length; i++) {
-        if (procP.equalsIgnoreCase(Alias.processorAliases[i][0])) {
-          for (int j = 1; j < Alias.processorAliases[i].length; j++) {
-            if (!procS.equals(Alias.processorAliases[i][j])) {
-              proc.add(Alias.processorAliases[i][j]);
-            }
-          }
-          break;
-        }
-      }
-      final ArrayList<String> os = new ArrayList<String>();
-      final String osP = fwCtx.props.getProperty(Constants.FRAMEWORK_OS_NAME).toLowerCase();
-      os.add(osP);
-      final String osS = System.getProperty("os.name").toLowerCase();
-      if (!osS.equals(osP)) {
-        os.add(osS);
-      }
-      for (int i = 0; i < Alias.osNameAliases.length; i++) {
-        if (osP.equalsIgnoreCase(Alias.osNameAliases[i][0])) {
-          for (int j = 1; j < Alias.osNameAliases[i].length; j++) {
-            if (!osS.equals(Alias.osNameAliases[i][j])) {
-              os.add(Alias.osNameAliases[i][j]);
-            }
-          }
-          break;
-        }
-      }
-      final Version osVer = new Version(fwCtx.props.getProperty(Constants.FRAMEWORK_OS_VERSION));
-      final String osLang = fwCtx.props.getProperty(Constants.FRAMEWORK_LANGUAGE);
-      boolean optional = false;
-      List<String> best = null;
-      VersionRange bestVer = null;
-      boolean bestLang = false;
-
-      final List<HeaderEntry> hes = Util
-          .parseManifestHeader(Constants.BUNDLE_NATIVECODE, bnc, false, false,
-                               false);
-      for (final Iterator<HeaderEntry> heIt = hes.iterator(); heIt.hasNext();) {
-        final HeaderEntry he = heIt.next();
-        VersionRange matchVer = null;
-        boolean matchLang = false;
-
-        final
-        List<String> keys = he.getKeys();
-        if (keys.size() == 1 && "*".equals(keys.get(0)) && !heIt.hasNext()) {
-          optional = true;
-          break;
-        }
-
-        @SuppressWarnings("unchecked")
-        final
-        List<String> pl = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_PROCESSOR);
-        if (pl != null) {
-          if (!containsIgnoreCase(proc, pl)) {
-            continue;
-          }
-        } else {
-          // NYI! Handle null
-          continue;
-        }
-
-        @SuppressWarnings("unchecked")
-        final
-        List<String> ol = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_OSNAME);
-        if (ol != null) {
-          if (!containsIgnoreCase(os, ol)) {
-            continue;
-          }
-        } else {
-          // NYI! Handle null
-          continue;
-        }
-
-        @SuppressWarnings("unchecked")
-        final
-        List<String> ver = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_OSVERSION);
-        if (ver != null) {
-          boolean okVer = false;
-          for (final String string : ver) {
-            // TODO! Handle format Exception
-            matchVer = new VersionRange(string);
-            if (matchVer.includes(osVer)) {
-              okVer = true;
-              break;
-            }
-          }
-          if (!okVer) {
-            continue;
-          }
-        }
-
-        @SuppressWarnings("unchecked")
-        final
-        List<String> lang = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_LANGUAGE);
-        if (lang != null) {
-          for (final String string : lang) {
-            if (osLang.equalsIgnoreCase(string)) {
-              // Found specified language version, search no more
-              matchLang = true;
-              break;
-            }
-          }
-          if (!matchLang) {
-            continue;
-          }
-        }
-
-        @SuppressWarnings("unchecked")
-        final
-        List<String> sf = (List<String>) he.getAttributes().get(Constants.SELECTION_FILTER_ATTRIBUTE);
-        if (sf != null) {
-          final String sfs = sf.get(0);
-          if (sf.size() == 1) {
-            try {
-              if (!(FrameworkUtil.createFilter(sfs)).match(fwCtx.props.getProperties())) {
-                continue;
+  private void resolveNativeCode(BundleGeneration gen) throws BundleException {
+    nativeLibs = null;
+    if (gen.nativeRequirement != null) {
+      List<String> best = gen.nativeRequirement.checkNativeCode();
+      if (best != null) {
+        nativeLibs = new HashMap<String, FileArchive>();
+      bloop:
+        for (final String name : best) {
+          for (final FileArchive fa : archives) {
+            if (!gen.isFragment() || fa.getBundleGeneration() == gen) {
+              final String key = fa.checkNativeLibrary(name);
+              if (key != null) {
+                nativeLibs.put(key, fa);
+                if (debug.classLoader) {
+                  debug.println(this + "- Registered native library: " + key + " -> " + fa);
+                }
+                continue bloop;
               }
-            } catch (final InvalidSyntaxException ise) {
-              throw new BundleException("Bundle#" + bid +
-                                        ", Invalid syntax for native code selection filter: "
-                                        + sfs, BundleException.NATIVECODE_ERROR, ise);
             }
-          } else {
-            throw new BundleException("Bundle#" + bid +
-                                      ", Invalid character after native code selection filter: "
-                                      + sfs, BundleException.NATIVECODE_ERROR);
           }
+          nativeLibs = null;
+          throw new BundleException("Bundle#" + bid + ", failed to resolve native code: "
+                                    + name, BundleException.NATIVECODE_ERROR);
         }
-
-        // Compare to previous best
-        if (best != null) {
-          boolean verEqual = false;
-          if (bestVer != null) {
-            if (matchVer == null) {
-              continue;
-            }
-            final int d = bestVer.getLeft().compareTo(matchVer.getLeft());
-            if (d == 0) {
-              verEqual = true;
-            } else if (d > 0) {
-              continue;
-            }
-          } else if (matchVer == null) {
-            verEqual = true;
-          }
-          if (verEqual && (!matchLang || bestLang)) {
-            continue;
-          }
-        }
-        best = keys;
-        bestVer = matchVer;
-        bestLang = matchLang;
-      }
-      if (best == null) {
-        if (optional) {
-          return;
-        } else {
-          throw new BundleException("Bundle#" + bid +
-                                    ", no matching native code libraries found for os="
-                                    + os + " version=" + osVer + ", processor="
-                                    + proc + " and language=" + osLang + ".",
-                                    BundleException.NATIVECODE_ERROR);
-        }
-      }
-      nativeLibs = new HashMap<String, FileArchive>();
-      bloop: for (final String name : best) {
-        for (final FileArchive fa : archives) {
-          if (!isFrag || fa.getBundleGeneration().archive == ba) {
-            final String key = fa.checkNativeLibrary(name);
-            if (key != null) {
-              nativeLibs.put(key, fa);
-              if (debug.classLoader) {
-                debug.println(this + "- Registered native library: " + key + " -> " + fa);
-              }
-              continue bloop;
-            }
-          }
-        }
-        throw new BundleException("Bundle#" + bid + ", failed to resolve native code: "
-                                  + name, BundleException.NATIVECODE_ERROR);
       }
-    } else {
-      // No native code in this bundle
-      nativeLibs = null;
     }
   }
 
-
   /**
-   * Check if a string exists in a list. Ignore case when comparing.
+   * Check if we have native code
    */
-  private boolean containsIgnoreCase(List<String> fl, List<String> l) {
-    for (final String string : l) {
-      final String s = string.toLowerCase();
-      for (final String string2 : fl) {
-        if (Util.filterMatch(string2, s)) {
-          return true;
+  Set<BundleGeneration> hasNativeRequirements() {
+    if (nativeLibs != null) {
+      Set<BundleGeneration> res = new HashSet<BundleGeneration>();
+      for (FileArchive fa : nativeLibs.values()) {
+        BundleGeneration bg = fa.getBundleGeneration();
+        if (bg.nativeRequirement != null) {
+          res.add(bg);
         }
       }
+      return res;
     }
-    return false;
+    return null;
   }
 
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleContextImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleContextImpl.java
index 782ddf2..2ee823e 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleContextImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleContextImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,6 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Dictionary;
-import java.util.List;
 
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
@@ -51,7 +50,9 @@ import org.osgi.framework.Filter;
 import org.osgi.framework.FrameworkListener;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceListener;
+import org.osgi.framework.ServiceObjects;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
 
@@ -149,7 +150,13 @@ public class BundleContextImpl
    * @see org.osgi.framework.BundleContext#getBundle
    */
   public Bundle getBundle(long id) {
-    return bundle.fwCtx.bundleHooks.filterBundle(this, bundle.fwCtx.bundles.getBundle(id));
+    Bundle res = bundle.fwCtx.bundles.getBundle(id);
+    if (bundle.fwCtx.systemBundle == bundle) {
+      bundle.fwCtx.bundleHooks.filterBundle(this, res);
+    } else {
+      res = bundle.fwCtx.bundleHooks.filterBundle(this, res);
+    }
+    return res;
   }
 
 
@@ -160,10 +167,16 @@ public class BundleContextImpl
    */
   public Bundle[] getBundles() {
     @SuppressWarnings({ "unchecked", "rawtypes" })
-    final
-    List<Bundle> bl = (List) bundle.fwCtx.bundles.getBundles();
+    final Collection<Bundle> bl = (Collection)bundle.fwCtx.bundles.getBundles();
+    Bundle [] res = null;
+    if (bundle.fwCtx.systemBundle == bundle) {
+      res = bl.toArray(new Bundle [bl.size()]);
+    }
     bundle.fwCtx.bundleHooks.filterBundles(this, bl);
-    return bl.toArray(new Bundle [bl.size()]);
+    if (res == null) {
+      res = bl.toArray(new Bundle [bl.size()]);
+    }
+    return res; 
   }
 
 
@@ -278,6 +291,42 @@ public class BundleContextImpl
 
 
   /**
+   * Registers the specified service object with the specified
+   * properties under the name of the specified class with the Framework.
+   *
+   * @see org.osgi.framework.BundleContext#registerService
+   */
+  public <S> ServiceRegistration<S> registerService(Class<S> clazz,
+                                                    S service,
+                                                    Dictionary<String, ?> properties)
+  {
+    @SuppressWarnings("unchecked")
+    final ServiceRegistration<S> res = (ServiceRegistration<S>)
+        registerService(clazz == null ? null
+                                      : clazz.getName(),service,properties);
+    return res;
+  }
+
+
+  /**
+   * Registers the specified service factory object with the specified
+   * properties under the name of the specified class with the Framework.
+   *
+   * @see org.osgi.framework.BundleContext#registerService
+   */
+  public <S> ServiceRegistration<S> registerService(Class<S> clazz,
+                                                    ServiceFactory<S> factory,
+                                                    Dictionary<String, ?> properties)
+  {
+    @SuppressWarnings("unchecked")
+    final ServiceRegistration<S> res = (ServiceRegistration<S>)
+        registerService(clazz == null ? null
+                                      : clazz.getName(),factory,properties);
+    return res;
+  }
+
+
+  /**
    * Get a list of service references.
    *
    * @see org.osgi.framework.BundleContext#getServiceReferences
@@ -286,7 +335,7 @@ public class BundleContextImpl
       throws InvalidSyntaxException
   {
     checkValid();
-    return bundle.fwCtx.services.get(clazz, filter, bundle);
+    return bundle.fwCtx.services.get(clazz, filter, bundle, true);
   }
 
   /**
@@ -299,7 +348,7 @@ public class BundleContextImpl
       throws InvalidSyntaxException
   {
     checkValid();
-    return bundle.fwCtx.services.get(clazz, filter, null);
+    return bundle.fwCtx.services.get(clazz, filter, bundle, false);
   }
 
 
@@ -311,7 +360,7 @@ public class BundleContextImpl
   public ServiceReference<?> getServiceReference(String clazz)
   {
     checkValid();
-    return bundle.fwCtx.services.get(bundle, clazz);
+    return bundle.fwCtx.services.get(bundle, clazz, true);
   }
 
 
@@ -333,7 +382,7 @@ public class BundleContextImpl
     }
 
     final ServiceReferenceImpl<S> sri = (ServiceReferenceImpl<S>) reference;
-    return sri.getService(bundle);
+    return sri.getService(bundle, false);
   }
 
 
@@ -354,7 +403,24 @@ public class BundleContextImpl
       throw new NullPointerException("null ServiceReference is not valid input to ungetService()");
     }
 
-    return ((ServiceReferenceImpl<?>)reference).ungetService(bundle);
+    return ((ServiceReferenceImpl<?>)reference).ungetService(bundle, null);
+  }
+
+
+  /**
+   * Returns the {@link ServiceObjects} object for the service referenced by
+   * the specified {@code ServiceReference} object.
+   *
+   * @see  org.osgi.framework.BundleContext#getServiceObjects
+   */
+  public <S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference) {
+    checkValid();
+    bundle.fwCtx.perm.checkGetServicePerms(reference);
+    ServiceReferenceImpl<S> sr = (ServiceReferenceImpl<S>)reference;
+    if (sr.isAvailable()) {
+      return new ServiceObjectsImpl(this, sr);
+    }
+    return null;
   }
 
 
@@ -395,19 +461,6 @@ public class BundleContextImpl
   }
 
 
-  public <S> ServiceRegistration<S>
-    registerService(Class<S> clazz,
-                    S service,
-                    Dictionary<String, ?> properties)
-  {
-    @SuppressWarnings("unchecked")
-    final ServiceRegistration<S> res = (ServiceRegistration<S>)
-        registerService(clazz == null ? null
-                                      : clazz.getName(),service,properties);
-    return res;
-  }
-
-
   public <S> ServiceReference<S> getServiceReference(Class<S> clazz)
   {
     @SuppressWarnings("unchecked")
@@ -462,17 +515,13 @@ public class BundleContextImpl
   }
 
 
-  //
-  // Private methods
-  //
-
   /**
    * Check that the bundle is still valid.
    *
    * @return true if valid.
    * @exception IllegalStateException, if bundle isn't active.
    */
-  private void checkValid() {
+  void checkValid() {
     if (!valid) {
       throw new IllegalStateException("This bundle context is no longer valid");
     }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleGeneration.java b/osgi/framework/src/org/knopflerfish/framework/BundleGeneration.java
index 5355c7e..40e169d 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleGeneration.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleGeneration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2013, KNOPFLERFISH project
+ * Copyright (c) 2010-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,6 +41,7 @@ import java.security.ProtectionDomain;
 import java.security.cert.X509Certificate;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.ConcurrentModificationException;
 import java.util.Dictionary;
 import java.util.Enumeration;
@@ -56,12 +57,14 @@ import java.util.Set;
 import java.util.Vector;
 
 import org.knopflerfish.framework.Util.HeaderEntry;
+
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
 import org.osgi.framework.Version;
 import org.osgi.framework.hooks.bundle.CollisionHook;
 import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
+import org.osgi.framework.namespace.NativeNamespace;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleRevision;
 
@@ -185,7 +188,11 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
 
   final BundleRevisionImpl bundleRevision;
 
-  final private BundleCapability identity;
+  final BundleCapabilityImpl identity;
+  final BundleNameVersionCapability bundleCapability;
+  final BundleNameVersionCapability hostCapability;
+
+  final NativeRequirement nativeRequirement;
 
   /**
    * Construct a new BundleGeneration for the System Bundle.
@@ -214,7 +221,11 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
     bundleRevision = new BundleRevisionImpl(this);
     classLoader = b.getClassLoader();
     processCapabilities(capabilityStr);
+    capabilities.put(NativeNamespace.NATIVE_NAMESPACE, Collections.singletonList(new BundleCapabilityImpl(this, b.fwCtx.props)));
     identity = new BundleCapabilityImpl(this);
+    bundleCapability = new BundleNameVersionCapability(this, BundleRevision.BUNDLE_NAMESPACE);
+    hostCapability = new BundleNameVersionCapability(this, BundleRevision.HOST_NAMESPACE);
+    nativeRequirement = null;
   }
 
 
@@ -401,6 +412,15 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
       symbolicNameParameters = null;
     }
     identity = symbolicName != null ? new BundleCapabilityImpl(this) : null;
+    if (v2Manifest && fragment==null) {
+      bundleCapability = new BundleNameVersionCapability(this, BundleRevision.BUNDLE_NAMESPACE);
+      hostCapability = !attachPolicy.equals(Constants.FRAGMENT_ATTACHMENT_NEVER) ? new BundleNameVersionCapability(this, BundleRevision.HOST_NAMESPACE) : null;
+    } else {
+      bundleCapability = null;
+      hostCapability = null;
+    }
+    final String nc = archive.getAttribute(Constants.BUNDLE_NATIVECODE);
+    nativeRequirement = nc != null ? new NativeRequirement(this, nc) : null;
   }
 
 
@@ -430,6 +450,9 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
     classLoader = null;
     bundleRevision = null;
     identity = null;
+    bundleCapability = null;
+    hostCapability = null;
+    nativeRequirement = null;
   }
 
 
@@ -532,16 +555,18 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
   /**
    *
    */
-  boolean resolvePackages(BundleImpl[] triggers) throws BundleException {
+  boolean resolvePackages(BundleImpl[] triggers, boolean isResolve) throws BundleException {
     ArrayList<BundleGeneration> detached = null;
-    attachFragments();
+    if (!isResolve) {
+      attachFragments();
+    }
     while (true) {
       if (bpkgs.resolvePackages(triggers)) {
         if (detached != null) {
           // TODO should we report fragment that failed to attach
           for (int i = detached.size() - 2; i >= 0; i--) {
             final BundleGeneration bg = detached.get(i);
-            if (bg.bundle.attachToFragmentHost(this)) {
+            if (bg.bundle.attachToFragmentHost(this, false)) {
               fragments.add(bg);
             }
           }
@@ -550,7 +575,7 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
 
         return true;
       }
-      if (isFragmentHost()) {
+      if (!isResolve && isFragmentHost()) {
         if (bundle.fwCtx.debug.resolver) {
           bundle.fwCtx.debug.println("Resolve failed, remove last fragment and retry");
         }
@@ -609,7 +634,7 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
         // retrieve all fragments this bundle host
         for (final BundleGeneration fbg : hosting) {
           // TODO, do we need to clean in case of BundleException?
-          fbg.bundle.attachToFragmentHost(this);
+          fbg.bundle.attachToFragmentHost(this, false);
         }
       }
     }
@@ -620,7 +645,7 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
    * Attaches a fragment to this bundle generation.
    * @throws BundleException 
    */
-  void attachFragment(BundleGeneration fragmentBundle) throws BundleException {
+  void attachFragment(BundleGeneration fragmentBundle, boolean isResolve) throws BundleException {
     if (attachPolicy.equals(Constants.FRAGMENT_ATTACHMENT_NEVER)) {
       throw new IllegalStateException("Bundle does not allow fragments to attach");
     }
@@ -628,11 +653,17 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
         && bundle.isResolved()) {
       throw new IllegalStateException("Bundle does not allow fragments to attach dynamically");
     }
-    if (!bundle.fwCtx.resolverHooks.filterMatches(fragmentBundle.fragment,
-                                                  new BundleNameVersionCapability(this, BundleRevision.HOST_NAMESPACE))) {
-      throw new IllegalStateException("Resolver hooks vetoed attach to: " + this);      
+    if (fragmentBundle.nativeRequirement != null) {
+      try {
+        fragmentBundle.nativeRequirement.checkNativeCode();
+      } catch (BundleException e) {
+        throw new IllegalStateException(e.getMessage());
+      }
+    }
+    if (!bundle.fwCtx.resolverHooks.filterMatches(fragmentBundle.fragment, hostCapability)) {
+      throw new IllegalStateException("Resolver hooks vetoed attach to: " + this);
     }
-    final String failReason = bpkgs.attachFragment(fragmentBundle.bpkgs);
+    final String failReason = bpkgs.attachFragment(fragmentBundle.bpkgs, isResolve);
     if (failReason != null) {
       throw new IllegalStateException("Failed to attach: " + failReason);
     }
@@ -700,7 +731,7 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
       final Vector<BundleGeneration> fix = (Vector<BundleGeneration>)fragments.clone();
       for (final BundleGeneration bundleGeneration : fix) {
         final BundleImpl fb = bundleGeneration.bundle;
-        fb.getUpdatedState(null);
+        fb.getUpdatedState(null, false);
       }
     }
   }
@@ -1098,24 +1129,6 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
   }
 
 
-  BundleCapability getHostCapability()
-  {
-    if (v2Manifest
-        && !attachPolicy.equals(Constants.FRAGMENT_ATTACHMENT_NEVER) && fragment == null) {
-      return new BundleNameVersionCapability(this,
-                                             BundleRevision.HOST_NAMESPACE);
-    }
-    return null;
-  }
-
-  BundleNameVersionCapability getBundleCapability() {
-    if (v2Manifest && fragment==null) {
-      return new BundleNameVersionCapability(this, BundleRevision.BUNDLE_NAMESPACE);
-    }
-    return null;
-  }
-
-
   Vector<URL> getBundleClassPathEntries(final String name, final boolean onlyFirst) {
     BundleClassPath bcp = unresolvedBundleClassPath;
     if (bcp == null) {
@@ -1252,9 +1265,4 @@ public class BundleGeneration implements Comparable<BundleGeneration> {
     return res;
   }
 
-
-  BundleCapability getIdentityCapability() {
-    return identity;
-  }
-
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleHooks.java b/osgi/framework/src/org/knopflerfish/framework/BundleHooks.java
index 13b176a..08646a2 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleHooks.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleHooks.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,7 @@ package org.knopflerfish.framework;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 
 import org.osgi.framework.Bundle;
@@ -58,7 +59,7 @@ class BundleHooks {
 
   Bundle filterBundle(BundleContextImpl bc,
                       Bundle bundle) {
-    if(bundle == null) {
+    if (bundle == null) {
       return bundle;
     }
     final List<ServiceRegistrationImpl<?>> srl = fwCtx.services.get(FindHook.class.getName());
@@ -81,7 +82,7 @@ class BundleHooks {
 
       for (final ServiceRegistrationImpl<?> serviceRegistrationImpl : srl) {
         final ServiceReferenceImpl<?> sr = serviceRegistrationImpl.reference;
-        final FindHook fh = (FindHook) sr.getService(fwCtx.systemBundle);
+        final FindHook fh = (FindHook) sr.getService();
         if (fh != null) {
           try {
             fh.find(bc, filtered);
@@ -129,7 +130,7 @@ class BundleHooks {
 
       for (final ServiceRegistrationImpl<?> serviceRegistrationImpl : eventHooks) {
         final ServiceReferenceImpl<?> sr = serviceRegistrationImpl.reference;
-        final EventHook eh = (EventHook)sr.getService(fwCtx.systemBundle);
+        final EventHook eh = (EventHook)sr.getService();
         if (eh != null) {
           try {
             eh.event(evt, filtered);
@@ -142,15 +143,18 @@ class BundleHooks {
       }
 
       if (unfilteredSize != bundleContexts.size()) {
-        for (final ListenerEntry le : syncBundleListeners) {
+        bundleContexts.add(fwCtx.systemBundle.bundleContext);
+        for (Iterator<ListenerEntry> i = syncBundleListeners.iterator(); i.hasNext(); ) {
+          ListenerEntry le = i.next();
           if(!bundleContexts.contains(le.bc)) {
-            syncBundleListeners.remove(le);
+            i.remove();
           }
         }
         if(bundleListeners != null) {
-          for (final ListenerEntry le : bundleListeners) {
+          for (Iterator<ListenerEntry> i = bundleListeners.iterator(); i.hasNext(); ) {
+            ListenerEntry le = i.next();
             if(!bundleContexts.contains(le.bc)) {
-              bundleListeners.remove(le);
+              i.remove();
             }
           }
         }
@@ -168,7 +172,7 @@ class BundleHooks {
 
       for (final ServiceRegistrationImpl<?> serviceRegistrationImpl : srl) {
         final ServiceReferenceImpl<?> sr = serviceRegistrationImpl.reference;
-        final CollisionHook ch = (CollisionHook) sr.getService(fwCtx.systemBundle);
+        final CollisionHook ch = (CollisionHook) sr.getService();
         if (ch != null) {
           try {
             ch.filterCollisions(mode, b, filtered);
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleImpl.java
index 17b8612..26974de 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -62,10 +62,15 @@ import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.Version;
+import org.osgi.framework.dto.BundleDTO;
+import org.osgi.framework.dto.ServiceReferenceDTO;
 import org.osgi.framework.startlevel.BundleStartLevel;
+import org.osgi.framework.startlevel.dto.BundleStartLevelDTO;
 import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.BundleRevisions;
 import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.framework.wiring.dto.BundleRevisionDTO;
+import org.osgi.framework.wiring.dto.BundleWiringDTO;
 
 /**
  * Implementation of the Bundle object.
@@ -153,6 +158,7 @@ public class BundleImpl implements Bundle {
   /** current bundle thread */
   private BundleThread bundleThread;
   
+  
   /**
    * Construct a new Bundle empty.
    *
@@ -196,13 +202,6 @@ public class BundleImpl implements Bundle {
     gen.checkPermissions(checkContext);
     doExportImport();
     bundleDir = fwCtx.getDataStorage(id);
-
-    // Activate extension as soon as they are installed so that
-    // they get added in bundle id order.
-    if (gen.isExtension() && attachToFragmentHost(fwCtx.systemBundle.current())) {
-      gen.setWired();
-      state = RESOLVED;
-    }
   }
 
 
@@ -283,7 +282,7 @@ public class BundleImpl implements Bundle {
       // 5: Lazy?
       if ((options & START_ACTIVATION_POLICY) != 0 && current.lazyActivation) {
         // 4: Resolve bundle (if needed)
-        if (INSTALLED == getUpdatedState(new BundleImpl [] { this })) {
+        if (INSTALLED == getUpdatedState(new BundleImpl [] { this }, false)) {
           throw resolveFailException;
         }
         if (STARTING == state)
@@ -309,7 +308,7 @@ public class BundleImpl implements Bundle {
   void finalizeActivation() throws BundleException {
     synchronized (fwCtx.resolver) {
       // 4: Resolve bundle (if needed)
-      switch (getUpdatedState(new BundleImpl [] { this })) {
+      switch (getUpdatedState(new BundleImpl [] { this }, false)) {
       case INSTALLED:
         throw resolveFailException;
       case STARTING:
@@ -936,6 +935,9 @@ public class BundleImpl implements Bundle {
         }
         boolean saveZombie = false;
         if (current.isFragment()) {
+          if (!current.unregisterPackages(false)) {
+            throw new RuntimeException("Internal error! fragment packages shouldn't be used");
+          }
           if (isAttached()) {
             if (current.isExtension()) {
               if (current.isBootClassPathExtension()) {
@@ -1117,7 +1119,7 @@ public class BundleImpl implements Bundle {
     checkUninstalled();
     // NYI, sync BundleGeneration
     if (secure.okResourceAdminPerm(this) && !current().isFragment()) {
-      if (getUpdatedState(new BundleImpl [] { this }) != INSTALLED) {
+      if (getUpdatedState(new BundleImpl [] { this }, false) != INSTALLED) {
         final ClassLoader cl0 = getClassLoader();
         if (cl0 != null) {
           return cl0.getResource(name);
@@ -1214,44 +1216,61 @@ public class BundleImpl implements Bundle {
    *
    * @return Bundles state
    */
-  int getUpdatedState(BundleImpl [] triggers) {
+  int getUpdatedState(BundleImpl [] triggers, boolean isResolve) {
     if (state == INSTALLED) {
       try {
         synchronized (fwCtx.resolver) {
           waitOnOperation(fwCtx.resolver, "Bundle.resolve", true);
-          if (state == INSTALLED) {
-            final BundleGeneration current = current();
+          final BundleGeneration current = current();
+          if (state == INSTALLED && (!fwCtx.isInit || current.isExtension())) {
             if (triggers != null) {
               fwCtx.resolverHooks.beginResolve(triggers);
             }
             if (current.isFragment()) {
-              final List<BundleGeneration> hosts = current.fragment.targets();
+              List<BundleGeneration> hosts;
+              if (isResolve) {
+                hosts = new ArrayList<BundleGeneration>();
+                List<BundlePackages> bps = fwCtx.resolver.getFragBundlePackages(current.bpkgs);
+                if (bps != null) {
+                  for (BundlePackages bp : bps) {
+                    hosts.add(bp.bg);
+                  }
+                }
+              } else {
+                hosts = current.fragment.targets();
+              }
               if (!hosts.isEmpty()) {
                 for (final BundleGeneration host : hosts) {
-                  if (!host.bpkgs.isActive()) {
-                    // Try resolve our host
-                    // NYI! Detect circular attach
-                    host.bundle.getUpdatedState(null);
-                  } else {
+                  if (isResolve || host.bpkgs.isActive()) {
                     if (!current.fragment.isHost(host)) {
-                      attachToFragmentHost(host);
+                      attachToFragmentHost(host, isResolve);
                     }
+                  } else {
+                    // Try resolve our host
+                    // NYI! Detect circular attach
+                    host.bundle.getUpdatedState(null, false);
                   }
                 }
-                if (state == INSTALLED && current.fragment.hasHosts()) {
-                  current.setWired();
-                  state = RESOLVED;
-                  operation = RESOLVING;
-                  bundleThread().bundleChanged(new BundleEvent(BundleEvent.RESOLVED, this));
-                  operation = IDLE;
+              }
+              if (state == INSTALLED && current.fragment.hasHosts()) {
+                current.setWired();
+                state = RESOLVED;
+                operation = RESOLVING;
+                if (current.isExtension()) {
+                  // TODO call on bundle thread!?
+                  fwCtx.systemBundle.extensionCallStart(this);
                 }
+                bundleThread().bundleChanged(new BundleEvent(BundleEvent.RESOLVED, this));
+                operation = IDLE;
               }
             } else {
-              if (current.resolvePackages(triggers)) {
+              if (current.resolvePackages(triggers, isResolve)) {
                 current.setWired();
                 state = RESOLVED;
                 operation = RESOLVING;
-                current.updateStateFragments();
+                if (!isResolve) {
+                  current.updateStateFragments();
+                }
                 bundleThread().bundleChanged(new BundleEvent(BundleEvent.RESOLVED, this));
                 operation = IDLE;
               } else {
@@ -1291,15 +1310,15 @@ public class BundleImpl implements Bundle {
    * Attach a fragment to host bundle
    * @throws BundleException 
    */
-  boolean attachToFragmentHost(BundleGeneration host) throws BundleException {
+  boolean attachToFragmentHost(BundleGeneration host, boolean isResolve) throws BundleException {
     final BundleGeneration fix = current();
     if (fix.isFragment() && secure.okFragmentBundlePerm(this)) {
       try {
         if (fix.isExtension()) {
           fwCtx.systemBundle.attachExtension(fix);
         } else {
-          host.attachFragment(fix);
-        }
+          host.attachFragment(fix, isResolve);
+        } 
         fix.fragment.addHost(host);
         return true;
       } catch (final BundleException be) {
@@ -1571,7 +1590,7 @@ public class BundleImpl implements Bundle {
   String toString(int detail) {
     final StringBuffer sb = new StringBuffer();
 
-    sb.append("BundleImpl[");
+    sb.append("Bundle[");
     sb.append("id=" + getBundleId());
     if (detail > 0) {
       sb.append(", state=" + getState());
@@ -1611,7 +1630,7 @@ public class BundleImpl implements Bundle {
   public Enumeration<URL> findEntries(String path, String filePattern, boolean recurse) {
     if (secure.okResourceAdminPerm(this)) {
       // Try to resolve, so that fragments attach.
-      getUpdatedState(new BundleImpl [] { this });
+      getUpdatedState(new BundleImpl [] { this }, false);
       final Vector<URL> res = secure.callFindEntries(current(), path, filePattern, recurse);
       if (!res.isEmpty()) {
         return res.elements();
@@ -1684,7 +1703,7 @@ public class BundleImpl implements Bundle {
     final BundleGeneration current = current();
     if (secure.okResourceAdminPerm(this) && !current.isFragment()) {
       Enumeration<URL> e = null;
-      if (getUpdatedState(new BundleImpl [] { this }) != INSTALLED) {
+      if (getUpdatedState(new BundleImpl [] { this }, false) != INSTALLED) {
         if (this instanceof SystemBundle) {
           e = getClassLoader().getResources(name);
         } else {
@@ -1719,7 +1738,7 @@ public class BundleImpl implements Bundle {
         throw new ClassNotFoundException("Can not load classes from fragment/extension bundles");
       }
       // NYI! Fix BundleGeneration
-      if (getUpdatedState(new BundleImpl [] { this }) == INSTALLED) {
+      if (getUpdatedState(new BundleImpl [] { this }, false) == INSTALLED) {
         throw new ClassNotFoundException(resolveFailException.getMessage());
       }
 
@@ -1827,13 +1846,64 @@ public class BundleImpl implements Bundle {
       if (bundleRevision != null) {
         res = bundleRevision.getWiring();
       }
-    } else if (fwCtx.startLevelController != null &&
-	           BundleStartLevel.class.equals(type)) {
-      res = fwCtx.startLevelController.bundleStartLevel(this);
+    } else if (BundleStartLevel.class.equals(type)) {
+      if (fwCtx.startLevelController != null) {
+        res = fwCtx.startLevelController.bundleStartLevel(this);
+      }
     } else if (BundleContext.class.equals(type)) {
       res = bundleContext;
     } else if (AccessControlContext.class.equals(type)) {
       res = secure.getAccessControlContext(this);
+    } else if (BundleDTO.class.equals(type)) {
+      res = getDTO();
+    } else if (ServiceReferenceDTO[].class.equals(type)) {
+      if (bundleContext != null) {
+        final Set<ServiceRegistrationImpl<?>> srs = fwCtx.services.getRegisteredByBundle(this);
+        ArrayList<ServiceReferenceDTO> srdtos = new ArrayList<ServiceReferenceDTO>();
+        for (final ServiceRegistrationImpl<?> serviceRegistrationImpl : srs) {
+          ServiceReferenceDTO srdto = serviceRegistrationImpl.getDTO();
+          if (srdto != null) {
+            srdtos.add(srdto);
+          }
+        }
+        res = srdtos.toArray(new ServiceReferenceDTO [srdtos.size()]);
+      }
+    } else if (BundleRevisionDTO.class.equals(type)) {
+      BundleRevisionImpl rev = current().bundleRevision;
+      if (rev != null) {
+        res = rev.getDTO();
+      }
+    } else if (BundleRevisionDTO[].class.equals(type)) {
+      if (state != UNINSTALLED) {
+        BundleGeneration [] gens = generations.toArray(new BundleGeneration [generations.size()]);
+        ArrayList<BundleRevisionDTO> brdtos = new ArrayList<BundleRevisionDTO>();
+        for (BundleGeneration bg : gens) {
+          if (bg.bundleRevision != null) {
+            brdtos.add(bg.bundleRevision.getDTO());
+          }
+        }
+        res = brdtos.toArray(new BundleRevisionDTO [brdtos.size()]);
+      }
+    } else if (BundleWiringDTO.class.equals(type)) {
+      BundleRevisionImpl bundleRevision = current().bundleRevision;
+      if (bundleRevision != null) {
+        res = bundleRevision.getWiringImpl().getDTO();
+      }
+    } else if (BundleWiringDTO[].class.equals(type)) {
+      if (state != UNINSTALLED) {
+        BundleGeneration [] gens = generations.toArray(new BundleGeneration [generations.size()]);
+        ArrayList<BundleWiringDTO> bwdtos = new ArrayList<BundleWiringDTO>();
+        for (BundleGeneration bg : gens) {
+          if (bg.bundleRevision != null) {
+            bwdtos.add(bg.bundleRevision.getWiringImpl().getDTO());
+          }
+        }
+        res = bwdtos.toArray(new BundleWiringDTO [bwdtos.size()]);
+      }
+    } else if (BundleStartLevelDTO.class.equals(type)) {
+      if (state != UNINSTALLED && fwCtx.startLevelController != null) {
+        res = fwCtx.startLevelController.bundleStartLevel(this).getDTO();
+      }
     }
     return (A) res;
   }
@@ -1858,6 +1928,16 @@ public class BundleImpl implements Bundle {
   }
 
 
+  BundleDTO getDTO() {
+    BundleDTO res = new BundleDTO();
+    res.id = id;
+    res.lastModified = current().timeStamp;
+    res.state = state;
+    res.symbolicName = current().symbolicName;
+    res.version = current().version.toString();
+    return res;
+  }
+
   //
   // Private methods
   //
@@ -1867,11 +1947,7 @@ public class BundleImpl implements Bundle {
    *
    */
   private void doExportImport() {
-    final BundleGeneration current = current();
-    if (!current.isFragment()) {
-      // fragments don't export anything themselves.
-      current.bpkgs.registerPackages();
-    }
+    current().bpkgs.registerPackages();
   }
 
 
@@ -1894,7 +1970,7 @@ public class BundleImpl implements Bundle {
     }
     final Set<ServiceRegistrationImpl<?>> s = fwCtx.services.getUsedByBundle(this);
     for (final ServiceRegistrationImpl<?> sri : s) {
-      sri.ungetService(this, false);
+      sri.ungetService(this, false, null);
     }
   }
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleNameVersionCapability.java b/osgi/framework/src/org/knopflerfish/framework/BundleNameVersionCapability.java
index 6f466c3..f2dbce2 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleNameVersionCapability.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleNameVersionCapability.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -41,7 +41,7 @@ import org.osgi.framework.Constants;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleRevision;
 
-public class BundleNameVersionCapability implements BundleCapability {
+public class BundleNameVersionCapability extends DTOId implements BundleCapability {
 
   final BundleGeneration gen;
   final String namespace;
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundlePackages.java b/osgi/framework/src/org/knopflerfish/framework/BundlePackages.java
index 65c128c..8cb7aea 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundlePackages.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundlePackages.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2017, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -203,7 +203,7 @@ class BundlePackages {
   /**
    * Create package entry used to clone fragment bundle.
    */
-  BundlePackages(BundlePackages host, BundlePackages frag, boolean noNew) {
+  BundlePackages(BundlePackages host, BundlePackages frag) {
     this.bg = host.bg;
     /*
      * make sure that the fragment's bundle does not conflict with this bundle's
@@ -215,13 +215,20 @@ class BundlePackages {
 
       if (ip != null) {
         if (!fip.intersect(ip)) {
-          throw new IllegalStateException(
-              "Host bundle import package and fragment bundle " +
-                  "import package doesn't intersect, resolve isn't possible.");
+          if (fip.mustBeResolved()) {
+            throw new IllegalStateException("Host bundle import package and fragment" +
+                " bundle import package doesn't intersect, resolve isn't possible.");
+          } else {
+            continue;
+          }
+        }
+      } else if (host.isActive()) {
+        if (fip.mustBeResolved()) {
+          throw new IllegalStateException("Resolved host bundle, internal package might " +
+              "be shadow by new fragment import.");
+        } else {
+          continue;
         }
-      } else if (noNew){
-        throw new IllegalStateException("Resolve host bundle package would " +
-                                        "be shadow by new fragment import.");
       }
       imports.add(new ImportPkg(fip, this));
     }
@@ -258,7 +265,7 @@ class BundlePackages {
     }
     for (final Iterator<ExportPkg> eiter = frag.getExports(); eiter.hasNext();) {
       final ExportPkg fep = eiter.next();
-      final ExportPkg hep = getExport(fep.name);
+      final ExportPkg hep = host.getExport(fep.name);
       if (fep.pkgEquals(hep)) {
         continue;
       }
@@ -423,38 +430,40 @@ class BundlePackages {
     if (ii >= 0) {
       return okImports.get(ii).provider.bpkgs;
     }
-    BundlePackages res = null;
-    BundleImpl [] trigger = null;
     final FrameworkContext fwCtx = bg.bundle.fwCtx;
-    try {
-      for (final ImportPkg ip : dImportPatterns) {
-        if (ip.name == EMPTY_STRING ||
-            (ip.name.endsWith(".") && pkg.startsWith(ip.name)) ||
-            pkg.equals(ip.name)) {
-          if (trigger == null) {
-            trigger = new BundleImpl[] { bg.bundle };
-            fwCtx.resolverHooks.beginResolve(trigger);
-          }
-          final ImportPkg nip = new ImportPkg(ip, pkg);
-          final ExportPkg ep = fwCtx.resolver.registerDynamicImport(nip);
-          if (ep != null) {
-            nip.provider = ep;
-            nip.dynId = ++nextDynId;
-            okImports.add(-ii - 1, nip);
-            res = ep.bpkgs;
-            break;
+    BundlePackages res = null;
+    synchronized (fwCtx.resolver) {
+      BundleImpl [] trigger = null;
+      try {
+        for (final ImportPkg ip : dImportPatterns) {
+          if (ip.name == EMPTY_STRING ||
+              (ip.name.endsWith(".") && pkg.startsWith(ip.name)) ||
+              pkg.equals(ip.name)) {
+            if (trigger == null) {
+              trigger = new BundleImpl[] { bg.bundle };
+              fwCtx.resolverHooks.beginResolve(trigger);
+            }
+            final ImportPkg nip = new ImportPkg(ip, pkg);
+            final ExportPkg ep = fwCtx.resolver.registerDynamicImport(nip);
+            if (ep != null) {
+              nip.provider = ep;
+              nip.dynId = ++nextDynId;
+              okImports.add(-ii - 1, nip);
+              res = ep.bpkgs;
+              break;
+            }
           }
         }
-      }
-    } catch (BundleException be) {
-      fwCtx.frameworkError(bg.bundle, be);
-    }
-    if (trigger != null) {
-      try {
-        fwCtx.resolverHooks.endResolve(trigger);      
       } catch (BundleException be) {
         fwCtx.frameworkError(bg.bundle, be);
       }
+      if (trigger != null) {
+        try {
+          fwCtx.resolverHooks.endResolve(trigger);      
+        } catch (BundleException be) {
+          fwCtx.frameworkError(bg.bundle, be);
+        }
+      }
     }
     return res;
   }
@@ -702,7 +711,7 @@ class BundlePackages {
   Iterator<ImportPkg> getActiveImports() {
     if (okImports != null) {
       return okImports.iterator();
-    } else if (bg.isFragment()){
+    } else if (bg.isFragment() && this != bg.bpkgs){
       // This is fragment BP, use host
       return bg.bpkgs.getActiveImports();
     } else {
@@ -893,11 +902,27 @@ class BundlePackages {
    * @return null if okay, otherwise a String with fail reason.
    * @throws BundleException Resolver hook complaint.
    */
-  String attachFragment(BundlePackages fbpkgs) throws BundleException {
+  String attachFragment(BundlePackages fbpkgs, boolean isResolve) throws BundleException {
     // TODO, should we lock this?!
     final boolean resolvedHost = okImports != null;
-    final BundlePackages nfbpkgs = new BundlePackages(this, fbpkgs, resolvedHost);
-    nfbpkgs.registerPackages();
+    BundlePackages nfbpkgs = null;
+    if (isResolve) {
+      List<BundlePackages> bps = bg.bundle.fwCtx.resolver.getFragBundlePackages(fbpkgs);
+      if (bps != null) {
+        for (BundlePackages bp : bps) {
+          if (bp.bg == bg) {
+            nfbpkgs = bp;
+            break;
+          }
+        }
+      }
+      if (nfbpkgs == null) {
+        throw new BundleException("Internal error, can't find fragment");
+      }
+    } else {
+      nfbpkgs = new BundlePackages(this, fbpkgs);
+      nfbpkgs.registerPackages();
+    }
     if (resolvedHost) {
       try {
         failReason = bg.bundle.fwCtx.resolver.resolve(bg, nfbpkgs, null);
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
index 3f10c2d..2346454 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,16 +36,16 @@ package org.knopflerfish.framework;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 
-public class BundleReferenceImpl implements BundleReference {
-
-	final BundleImpl bundle;
+public class BundleReferenceImpl extends DTOId implements BundleReference
+{
+  final BundleImpl bundle;
 
   BundleReferenceImpl(BundleImpl bundle) {
-	  this.bundle = bundle;
-	}
+    this.bundle = bundle;
+  }
 
   public Bundle getBundle() {
-		return bundle;
-	}
+    return bundle;
+  }
 
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleRequirementImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleRequirementImpl.java
index 1404a91..80e5860 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleRequirementImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleRequirementImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,6 +35,7 @@ package org.knopflerfish.framework;
 
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 import org.knopflerfish.framework.Util.HeaderEntry;
@@ -47,13 +48,17 @@ import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleRequirement;
 import org.osgi.framework.wiring.BundleRevision;
+import org.osgi.resource.dto.RequirementDTO;
+import org.osgi.resource.dto.RequirementRefDTO;
+
 
 public class BundleRequirementImpl
+  extends DTOId
   implements BundleRequirement
 {
 
   private final BundleGeneration gen;
-  private final String nameSpace;
+  private final String namespace;
   private final Map<String, Object> attributes;
   private final Map<String,String> directives;
   private final Filter filter;
@@ -72,12 +77,12 @@ public class BundleRequirementImpl
   BundleRequirementImpl(final BundleGeneration gen, final HeaderEntry he)
   {
     this.gen = gen;
-    nameSpace = he.getKey();
+    namespace = he.getKey();
     for (final String ns : Arrays
         .asList(new String[] { BundleRevision.BUNDLE_NAMESPACE,
                                BundleRevision.HOST_NAMESPACE,
                                BundleRevision.PACKAGE_NAMESPACE })) {
-      if (ns.equals(nameSpace)) {
+      if (ns.equals(namespace)) {
         throw new IllegalArgumentException("Capability with name-space '" + ns
                                            + "' must not be required in the "
                                            + Constants.REQUIRE_CAPABILITY
@@ -93,7 +98,7 @@ public class BundleRequirementImpl
       } catch (final InvalidSyntaxException ise) {
         final String msg = "Invalid filter '" + filterStr + "' in "
                            + Constants.REQUIRE_CAPABILITY
-                           + " for name-space " + nameSpace + ": " + ise;
+                           + " for name-space " + namespace + ": " + ise;
         throw (IllegalArgumentException)
           new IllegalArgumentException(msg).initCause(ise);
       }
@@ -117,7 +122,7 @@ public class BundleRequirementImpl
   BundleRequirementImpl(final BundleGeneration gen, final String ee)
   {
     this.gen = gen;
-    nameSpace = ExecutionEnvironmentNamespace.EXECUTION_ENVIRONMENT_NAMESPACE;
+    namespace = ExecutionEnvironmentNamespace.EXECUTION_ENVIRONMENT_NAMESPACE;
 
     final StringBuffer filterStrB = new StringBuffer();
     final String[] l = Util.splitwords(ee, ",");
@@ -130,7 +135,7 @@ public class BundleRequirementImpl
         if (es.length == 2) {
           final int si = es[1].indexOf('/');
           new Version(si == -1 ? es[1] : es[1].substring(0, si));
-          filterStrB.append("(&(").append(nameSpace).append('=');
+          filterStrB.append("(&(").append(namespace).append('=');
           if (es[0].equalsIgnoreCase("J2SE")) {
             es[0]="JavaSE";
           }
@@ -164,14 +169,14 @@ public class BundleRequirementImpl
             }
           }
           if (v != null) {
-            filterStrB.append("(&(").append(nameSpace).append('=');
+            filterStrB.append("(&(").append(namespace).append('=');
             filterStrB.append(esStrB).append(")(version=");
             filterStrB.append(v).append("))");
             continue;
           }
         }
       } catch (IllegalArgumentException _ignore) { }
-      filterStrB.append('(').append(nameSpace).append('=');
+      filterStrB.append('(').append(namespace).append('=');
       filterStrB.append(e).append(')');
     }
     if (l.length > 1) {
@@ -188,39 +193,35 @@ public class BundleRequirementImpl
   }
 
   @Override
-  public String getNamespace()
-  {
-    return nameSpace;
+  public String getNamespace() {
+    return namespace;
   }
 
   @Override
-  public Map<String, String> getDirectives()
-  {
+  public Map<String, String> getDirectives() {
     return directives;
   }
 
   @Override
-  public Map<String, Object> getAttributes()
-  {
+  public Map<String, Object> getAttributes() {
     return attributes;
   }
 
   @Override
-  public BundleRevision getRevision()
-  {
+  public BundleRevision getRevision() {
     return gen.bundleRevision;
   }
 
 
   @Override
   public BundleRevision getResource() {
-	return gen.bundleRevision;
+    return gen.bundleRevision;
   }
 
 
   @Override
   public boolean matches(BundleCapability capability) {
-    if (nameSpace.equals(capability.getNamespace())) {
+    if (namespace.equals(capability.getNamespace())) {
       return null==filter ? true : filter.matches(capability.getAttributes());
     }
     return false;
@@ -233,7 +234,7 @@ public class BundleRequirementImpl
     sb.append("[")
     .append(BundleRequirement.class.getName())
     .append(": ")
-    .append(nameSpace)
+    .append(namespace)
     .append(" directives: ")
     .append(directives.toString())
     .append("]");
@@ -281,4 +282,24 @@ public class BundleRequirementImpl
   boolean isWired() {
     return wire != null;
   }
+
+
+  static RequirementDTO getDTO(BundleRequirement br, BundleRevisionImpl bri) {
+    RequirementDTO res = new RequirementDTO();
+    res.id = ((DTOId)br).dtoId;
+    res.namespace = br.getNamespace();
+    res.directives = new HashMap<String, String>(br.getDirectives());
+    res.attributes = Util.safeDTOMap(br.getAttributes());
+    res.resource = bri.dtoId;
+    return res;
+  }
+
+
+  static RequirementRefDTO getRefDTO(BundleRequirement br, BundleRevisionImpl bri) {
+    RequirementRefDTO res = new RequirementRefDTO();
+    res.requirement = ((DTOId)br).dtoId;
+    res.resource = bri.dtoId;
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleRevisionImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleRevisionImpl.java
index 7962359..6957aba 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleRevisionImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleRevisionImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,12 +39,18 @@ import java.util.Map;
 
 import org.osgi.framework.Version;
 import org.osgi.framework.namespace.IdentityNamespace;
+import org.osgi.framework.namespace.NativeNamespace;
 import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.BundleRequirement;
 import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.framework.wiring.dto.BundleRevisionDTO;
 import org.osgi.resource.Capability;
 import org.osgi.resource.Requirement;
+import org.osgi.resource.dto.CapabilityDTO;
+import org.osgi.resource.dto.CapabilityRefDTO;
+import org.osgi.resource.dto.RequirementDTO;
+import org.osgi.resource.dto.RequirementRefDTO;
 
 public class BundleRevisionImpl
   extends BundleReferenceImpl
@@ -54,11 +60,12 @@ public class BundleRevisionImpl
   static final int NS_BUNDLE =    1;
   static final int NS_HOST =      2;
   static final int NS_IDENTITY =  4;
-  static final int NS_PACKAGE =   8;
-  static final int NS_OTHER =    16;
+  static final int NS_NATIVE =    8;
+  static final int NS_PACKAGE =  16;
+  static final int NS_OTHER =    32;
 
   final BundleGeneration gen;
-  private BundleWiring bundleWiring = null;
+  private BundleWiringImpl bundleWiring = null;
 
 
   BundleRevisionImpl(BundleGeneration gen) {
@@ -84,21 +91,22 @@ public class BundleRevisionImpl
     final ArrayList<BundleCapability> res = new ArrayList<BundleCapability>();
     final int ns = whichNameSpaces(namespace);
 
-    if ((ns & NS_BUNDLE) != 0) {
-      final BundleCapability bc = gen.getBundleCapability();
+    if ((ns & NS_IDENTITY) != 0) {
+      final BundleCapability bc = gen.identity;
       if (bc!=null) {
         res.add(bc);
       }
     }
-    if ((ns & NS_HOST) != 0) {
-      final BundleCapability bc = gen.getHostCapability();
+
+    if ((ns & NS_BUNDLE) != 0) {
+      final BundleCapability bc = gen.bundleCapability;
       if (bc!=null) {
         res.add(bc);
       }
     }
 
-    if ((ns & NS_IDENTITY) != 0) {
-      final BundleCapability bc = gen.getIdentityCapability();
+    if ((ns & NS_HOST) != 0) {
+      final BundleCapability bc = gen.hostCapability;
       if (bc!=null) {
         res.add(bc);
       }
@@ -108,7 +116,7 @@ public class BundleRevisionImpl
       res.addAll(gen.bpkgs.getDeclaredPackageCapabilities());
     }
 
-    if ((ns & NS_OTHER) != 0) {
+    if ((ns & (NS_NATIVE|NS_OTHER)) != 0) {
       final Map<String, List<BundleCapabilityImpl>> caps = gen.getDeclaredCapabilities();
       if (null != namespace) {
         final List<BundleCapabilityImpl> lcap = caps.get(namespace);
@@ -145,7 +153,10 @@ public class BundleRevisionImpl
       res.addAll(gen.bpkgs.getDeclaredPackageRequirements());
     }
 
-    if ((ns & (NS_IDENTITY|NS_OTHER)) != 0) {
+    if ((ns & (NS_IDENTITY|NS_NATIVE|NS_OTHER)) != 0) {
+      if ((ns & NS_NATIVE) != 0 && gen.nativeRequirement != null) {
+        res.add(gen.nativeRequirement);
+      }
       final Map<String, List<BundleRequirementImpl>> reqs = gen.getDeclaredRequirements();
       if (null != namespace) {
         final List<BundleRequirementImpl> lbr = reqs.get(namespace);
@@ -200,6 +211,11 @@ public class BundleRevisionImpl
   }
   
 
+  BundleWiringImpl getWiringImpl() {
+    return bundleWiring;
+  }
+
+
   void setWired() {
     bundleWiring = new BundleWiringImpl(this);
   }
@@ -210,6 +226,43 @@ public class BundleRevisionImpl
   }
 
 
+  BundleRevisionDTO getDTO() {
+    BundleRevisionDTO res = new BundleRevisionDTO();
+    res.symbolicName = gen.symbolicName;
+    res.type = getTypes();
+    res.version = gen.version.toString();
+    res.bundle = gen.bundle.id;
+    res.id = dtoId;
+    res.capabilities = new ArrayList<CapabilityDTO>();
+    for (BundleCapability bc :  getDeclaredCapabilities(null)) {
+      res.capabilities.add(BundleCapabilityImpl.getDTO(bc, this));
+    }
+    res.requirements = new ArrayList<RequirementDTO>();
+    for (BundleRequirement br :  getDeclaredRequirements(null)) {
+      res.requirements.add(BundleRequirementImpl.getDTO(br, this));
+    }
+    return res;
+  }
+
+
+  List<CapabilityRefDTO> getCapabilityRefDTOs() {
+    List<CapabilityRefDTO> res = new ArrayList<CapabilityRefDTO>();
+    for (BundleCapability bc :  getDeclaredCapabilities(null)) {
+      res.add(BundleCapabilityImpl.getRefDTO(bc, this));
+    }
+    return res;
+  }
+
+
+  List<RequirementRefDTO> getRequirementRefDTOs() {
+    List<RequirementRefDTO> res = new ArrayList<RequirementRefDTO>();
+    for (BundleRequirement br :  getDeclaredRequirements(null)) {
+      res.add(BundleRequirementImpl.getRefDTO(br, this));
+    }
+    return res;
+  }
+
+
   static int whichNameSpaces(String namespace) {
     int ns;
     if (namespace == null) {
@@ -220,6 +273,8 @@ public class BundleRevisionImpl
       ns = NS_HOST;
     } else if (IdentityNamespace.IDENTITY_NAMESPACE.equals(namespace)) {
       ns = NS_IDENTITY;
+    } else if (NativeNamespace.NATIVE_NAMESPACE.equals(namespace)) {
+      ns = NS_NATIVE;
     } else if (BundleRevision.PACKAGE_NAMESPACE.equals(namespace)) {
       ns = NS_PACKAGE;
     } else {
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleURLConnection.java b/osgi/framework/src/org/knopflerfish/framework/BundleURLConnection.java
index 31fd902..504c66f 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleURLConnection.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleURLConnection.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2012, KNOPFLERFISH project
+ * Copyright (c) 2003-2015, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -113,7 +113,7 @@ class BundleURLConnection extends URLConnection {
       }
       if (is != null) {
         connected = true;
-        if(BundleClassLoader.bDalvik) {
+        if (FWProps.androidApiLevel >= 0) {
           contentLength = -1;
         } else {
           contentLength = (int)is.getContentLength();
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleURLStreamHandler.java b/osgi/framework/src/org/knopflerfish/framework/BundleURLStreamHandler.java
index 7adb917..0bafa64 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleURLStreamHandler.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleURLStreamHandler.java
@@ -358,7 +358,7 @@ public class BundleURLStreamHandler extends URLStreamHandler {
     } else {
       try {
         fwId = Integer.parseInt(host.substring(e + 1));
-      } catch (final NumberFormatException _) {
+      } catch (final NumberFormatException _ignore) {
         return null;
       }
     }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleWireImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleWireImpl.java
index d20fe12..e3dc828 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleWireImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleWireImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,6 +38,8 @@ import org.osgi.framework.wiring.BundleRequirement;
 import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.BundleWire;
 import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.framework.wiring.dto.BundleWireDTO;
+
 
 public class BundleWireImpl implements BundleWire {
   
@@ -158,4 +160,16 @@ public class BundleWireImpl implements BundleWire {
     return requirerGen;
   }
 
+
+  BundleWireDTO getDTO() {
+    BundleWireDTO res = new BundleWireDTO();
+    res.providerWiring = providerGen.bundleRevision.getWiringImpl().dtoId;
+    res.requirerWiring = requirerGen.bundleRevision.getWiringImpl().dtoId;
+    res.capability = BundleCapabilityImpl.getRefDTO(capability, providerGen.bundleRevision);
+    res.requirement = BundleRequirementImpl.getRefDTO(requirement, requirerGen.bundleRevision);
+    res.provider = providerGen.bundleRevision.dtoId;
+    res.requirer = requirerGen.bundleRevision.dtoId;
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleWiringImpl.java b/osgi/framework/src/org/knopflerfish/framework/BundleWiringImpl.java
index 934f208..8e81890 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleWiringImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/BundleWiringImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,9 +38,12 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.TreeSet;
 import java.util.Vector;
 
@@ -50,14 +53,23 @@ import org.osgi.framework.wiring.BundleRequirement;
 import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.BundleWire;
 import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.framework.wiring.dto.BundleRevisionDTO;
+import org.osgi.framework.wiring.dto.BundleWireDTO;
+import org.osgi.framework.wiring.dto.BundleWiringDTO;
+import org.osgi.framework.wiring.dto.BundleWiringDTO.NodeDTO;
 import org.osgi.resource.Capability;
 import org.osgi.resource.Requirement;
 import org.osgi.resource.Wire;
+import org.osgi.resource.dto.WireDTO;
 
-public class BundleWiringImpl implements BundleWiring {
 
+public class BundleWiringImpl
+  extends DTOId
+  implements BundleWiring
+{
   final BundleRevisionImpl bundleRevision;
 
+
   BundleWiringImpl(BundleRevisionImpl br) {
     bundleRevision = br;
   }
@@ -87,32 +99,29 @@ public class BundleWiringImpl implements BundleWiring {
     final int ns = BundleRevisionImpl.whichNameSpaces(namespace);
     final ArrayList<BundleCapability> res = new ArrayList<BundleCapability>();
     if ((ns & BundleRevisionImpl.NS_IDENTITY) != 0) {
-      final BundleCapability bc = gen.getIdentityCapability();
-      if (bc != null) {
-        res.add(bc);
+      if (gen.identity != null) {
+        res.add(gen.identity);
       }
     }
     if (!gen.isFragment()) {
       if ((ns & BundleRevisionImpl.NS_BUNDLE) != 0) {
-        final BundleCapability bc = gen.getBundleCapability();
-        if (bc != null) {
-          res.add(bc);
+        if (gen.bundleCapability != null) {
+          res.add(gen.bundleCapability);
         }
       }
       if ((ns & BundleRevisionImpl.NS_HOST) != 0) {
-        final BundleCapability bc = gen.getHostCapability();
-        if (bc != null) {
-          res.add(bc);
+        if (gen.hostCapability != null) {
+          res.add(gen.hostCapability);
         }
       }
       if ((ns & BundleRevisionImpl.NS_PACKAGE) != 0) {
         for (ExportPkg ep : gen.bpkgs.getPackageCapabilities()) {
           if (ep.checkPermission()) {
-            res.add(ep);            
+            res.add(ep);
           }
         }
       }
-      if ((ns & BundleRevisionImpl.NS_OTHER) != 0) {
+      if ((ns & (BundleRevisionImpl.NS_NATIVE|BundleRevisionImpl.NS_OTHER)) != 0) {
         final Map<String, List<BundleCapabilityImpl>> caps = gen.bpkgs.getOtherCapabilities();
         Collection<List<BundleCapabilityImpl>> clbc = null;
         if (null != namespace) {
@@ -161,6 +170,9 @@ public class BundleWiringImpl implements BundleWiring {
       if ((ns & BundleRevisionImpl.NS_PACKAGE) != 0) {
         res.addAll(gen.bpkgs.getPackageRequirements());
       }
+      if ((ns & BundleRevisionImpl.NS_NATIVE) != 0 && gen.nativeRequirement != null) {
+        res.add(gen.nativeRequirement);
+      }
       if ((ns & (BundleRevisionImpl.NS_IDENTITY|BundleRevisionImpl.NS_OTHER)) != 0) {
         final Map<String, List<BundleRequirementImpl>> reqs = gen.getOtherRequirements();
         Collection<List<BundleRequirementImpl>> clbr = null;
@@ -199,7 +211,7 @@ public class BundleWiringImpl implements BundleWiring {
         for (final Iterator<RequireBundle> irb = bp.getRequire(); irb.hasNext(); ) {
           final RequireBundle rb = irb.next();
           if (rb.bpkgs == gen.bpkgs) {
-            res.add(new BundleWireImpl(gen.getBundleCapability(), gen, rb, bp.bg));
+            res.add(new BundleWireImpl(gen.bundleCapability, gen, rb, bp.bg));
           }
         }
       }
@@ -209,7 +221,7 @@ public class BundleWiringImpl implements BundleWiring {
         @SuppressWarnings("unchecked")
         final Vector<BundleGeneration> fix = (Vector<BundleGeneration>)gen.fragments.clone();
         for (final BundleGeneration fbg : fix) {
-          res.add(new BundleWireImpl(gen.getHostCapability(), gen, fbg.fragment, fbg));
+          res.add(new BundleWireImpl(gen.hostCapability, gen, fbg.fragment, fbg));
         }
       }
     }
@@ -231,6 +243,25 @@ public class BundleWiringImpl implements BundleWiring {
         }
       }
     }
+    if ((ns & BundleRevisionImpl.NS_NATIVE) != 0) {
+      if (bundleRevision.gen.bundle.id == 0) {
+        final FrameworkContext fc = bundleRevision.gen.bundle.fwCtx;
+        final SystemBundle sb = fc.systemBundle;
+        for (BundleImpl bi : fc.bundles.getBundles()) {
+          for (BundleGeneration bg : bi.generations) {
+            ClassLoader cl = bg.getClassLoader();
+            if (cl != null && cl instanceof BundleClassLoader) {
+              Set<BundleGeneration> nbgs = ((BundleClassLoader)cl).hasNativeRequirements();
+              if (nbgs != null) {
+                for (BundleGeneration nbg : nbgs) {
+                  res.add(new BundleWireImpl(sb.getNativeCapability(), sb.current(), nbg.nativeRequirement, nbg));
+                }
+              }
+            }
+          }
+        }
+      }
+    }
     if ((ns & (BundleRevisionImpl.NS_IDENTITY|BundleRevisionImpl.NS_OTHER)) != 0) {
       List<BundleWireImpl> other = gen.getCapabilityWires();
       if (other != null) {
@@ -255,14 +286,14 @@ public class BundleWiringImpl implements BundleWiring {
       for (final Iterator<RequireBundle> irb = gen.bpkgs.getRequire(); irb.hasNext(); ) {
         final RequireBundle rb = irb.next();
         if (null != rb.bpkgs && rb.bpkgs.isRequiredBy(gen.bpkgs)) {
-          res.add(new BundleWireImpl(rb.bpkgs.bg.getBundleCapability(), rb.bpkgs.bg, rb, gen));
+          res.add(new BundleWireImpl(rb.bpkgs.bg.bundleCapability, rb.bpkgs.bg, rb, gen));
         }
       }
     }
     if ((ns & BundleRevisionImpl.NS_HOST) != 0) {
       if (gen.isFragment()) {
         for (final BundleGeneration hbg : gen.getHosts()) {
-          res.add(new BundleWireImpl(hbg.getHostCapability(), hbg, gen.fragment, gen));
+          res.add(new BundleWireImpl(hbg.hostCapability, hbg, gen.fragment, gen));
         }
       }
     }
@@ -294,7 +325,19 @@ public class BundleWiringImpl implements BundleWiring {
         res.add(new BundleWireImpl(cip.provider, cip.provider.bpkgs.bg, cip.parent, gen));
       }
     }
-    if ((ns & (BundleRevisionImpl.NS_IDENTITY|BundleRevisionImpl.NS_OTHER)) != 0) {
+    if ((ns & BundleRevisionImpl.NS_NATIVE) != 0) {
+      ClassLoader cl = gen.getClassLoader();
+      if (cl != null && cl instanceof BundleClassLoader) {
+        Set<BundleGeneration> nbgs = ((BundleClassLoader)cl).hasNativeRequirements();
+        if (nbgs != null) {
+          final SystemBundle sb = gen.bundle.fwCtx.systemBundle;
+          for (BundleGeneration nbg : nbgs) {
+            res.add(new BundleWireImpl(sb.getNativeCapability(), sb.current(), nbg.nativeRequirement, nbg));
+          }
+        }
+      }
+    }
+    if ((ns & (BundleRevisionImpl.NS_IDENTITY|BundleRevisionImpl.NS_NATIVE|BundleRevisionImpl.NS_OTHER)) != 0) {
       List<BundleWireImpl> other = gen.getRequirementWires();
       if (other != null) {
         for (BundleWireImpl bw : other) {
@@ -375,4 +418,49 @@ public class BundleWiringImpl implements BundleWiring {
     return bundleRevision;
   }
 
+
+  BundleWiringDTO getDTO() {
+    BundleWiringDTO res = new BundleWiringDTO();
+    res.bundle = bundleRevision.gen.bundle.id;
+    res.root = dtoId;
+    Map<BundleWiringImpl, NodeDTO> nodes = new HashMap<BundleWiringImpl, NodeDTO>();
+    walkWires(nodes, null);
+    res.nodes = new HashSet<NodeDTO>(nodes.values());
+    res.resources = new HashSet<BundleRevisionDTO>();
+    for (BundleWiringImpl bwi : nodes.keySet()) {
+      res.resources.add(bwi.bundleRevision.getDTO());
+    }
+    return res;
+  }
+
+  void walkWires(Map<BundleWiringImpl, NodeDTO> nodes, BundleWireDTO wireDTO) {
+    NodeDTO dto = nodes.get(this);
+    if (dto == null) {
+      boolean isRoot = nodes.isEmpty();
+      dto = new NodeDTO();
+      dto.inUse = isInUse();
+      dto.current = isCurrent();
+      dto.id = dtoId;
+      dto.capabilities = bundleRevision.getCapabilityRefDTOs();
+      dto.requirements = bundleRevision.getRequirementRefDTOs();
+      dto.providedWires = new ArrayList<WireDTO>();
+      dto.requiredWires = new ArrayList<WireDTO>();
+      dto.resource = bundleRevision.dtoId;
+      nodes.put(this, dto);
+      for (BundleWire bw : getProvidedWires(null)) {
+        BundleWireDTO bwdto = ((BundleWireImpl)bw).getDTO();
+        dto.providedWires.add(bwdto);
+        ((BundleRevisionImpl)bw.getRequirer()).getWiringImpl().walkWires(nodes, bwdto);
+      }
+      if (isRoot) {
+        for (BundleWire bw : getRequiredWires(null)) {
+          ((BundleRevisionImpl)bw.getProvider()).getWiringImpl().walkWires(nodes, null);
+        }
+      }
+    }
+    if (wireDTO != null) {
+      dto.requiredWires.add(wireDTO);
+    }
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/Bundles.java b/osgi/framework/src/org/knopflerfish/framework/Bundles.java
index 0591358..815f815 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Bundles.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Bundles.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -40,11 +40,14 @@ import java.net.URL;
 import java.net.URLConnection;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
 import java.util.List;
+import java.util.SortedSet;
+import java.util.TreeSet;
 
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleEvent;
@@ -105,8 +108,8 @@ public class Bundles {
     synchronized (this) {
       b = bundles.get(location);
       if (b != null) {
-        b = (BundleImpl)b.fwCtx.bundleHooks.filterBundle(b.bundleContext, b);
-        if(b == null) {
+        if (fwCtx.bundleHooks.filterBundle(b.bundleContext, b) == null &&
+            caller != fwCtx.systemBundle) {
           throw new BundleException("Rejected by a bundle hook",
                                     BundleException.REJECTED_BY_HOOK);
         } else {
@@ -163,6 +166,10 @@ public class Bundles {
       final BundleImpl res = new BundleImpl(fwCtx, ba, checkContext, caller);
       bundles.put(location, res);
       fwCtx.listeners.bundleChanged(new BundleEvent(BundleEvent.INSTALLED, res, caller));
+      if (res.current().isExtension()) {
+        // Try to resolve extensions
+        fwCtx.packageAdmin.resolveBundles(new Bundle [] {res});
+      }
       return res;
     } catch (final Exception e) {
       if (ba != null) {
@@ -172,6 +179,9 @@ public class Bundles {
         throw (SecurityException)e;
       } else if (e instanceof BundleException) {
         throw (BundleException)e;
+      } else if (e instanceof IllegalArgumentException) {
+        throw new BundleException("Faulty manifest: " + e,
+                                  BundleException.MANIFEST_ERROR, e);
       } else {
         throw new BundleException("Failed to install bundle: " + e,
                                   BundleException.UNSPECIFIED, e);
@@ -264,10 +274,10 @@ public class Bundles {
   /**
    * Get all installed bundles.
    *
-   * @return A Bundle array with bundles.
+   * @return A list with bundles.
    */
-  List<BundleImpl> getBundles() {
-    final ArrayList<BundleImpl> res = new ArrayList<BundleImpl>(bundles.size());
+  SortedSet<BundleImpl> getBundles() {
+    final SortedSet<BundleImpl> res = new TreeSet<BundleImpl>();
     synchronized (bundles) {
       res.addAll(bundles.values());
     }
@@ -417,6 +427,13 @@ public class Bundles {
       try {
         final BundleImpl b = new BundleImpl(fwCtx, ba, null, fwCtx.systemBundle);
         bundles.put(b.location, b);
+        // Activate extension as soon as they are installed so that
+        // they get added in bundle id order. The are run by the
+        // FrameworkContext after all bundles has been loaded.
+        if (b.current().isExtension() && b.attachToFragmentHost(fwCtx.systemBundle.current(), false)) {
+          b.current().setWired();
+          b.state = Bundle.RESOLVED;
+        }
       } catch (final Exception e) {
         try {
           ba.setAutostartSetting(-1); // Do not start on launch
diff --git a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java b/osgi/framework/src/org/knopflerfish/framework/DTOId.java
similarity index 82%
copy from osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
copy to osgi/framework/src/org/knopflerfish/framework/DTOId.java
index 3f10c2d..fe275c8 100644
--- a/osgi/framework/src/org/knopflerfish/framework/BundleReferenceImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/DTOId.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2016-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -33,19 +33,20 @@
  */
 package org.knopflerfish.framework;
 
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleReference;
+public class DTOId
+{
+  /** Next DTO id to assign*/
+  static private int nextDTOId = 1;
 
-public class BundleReferenceImpl implements BundleReference {
+  /** DTO id */
+  final int dtoId;
 
-	final BundleImpl bundle;
+  DTOId() {
+    dtoId = getNextId();
+  }
 
-  BundleReferenceImpl(BundleImpl bundle) {
-	  this.bundle = bundle;
-	}
-
-  public Bundle getBundle() {
-		return bundle;
-	}
+  static synchronized private int getNextId() {
+    return nextDTOId++;
+  }
 
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/ExportPkg.java b/osgi/framework/src/org/knopflerfish/framework/ExportPkg.java
index 50d9d1c..fd9fa0c 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ExportPkg.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ExportPkg.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2013, KNOPFLERFISH project
+ * Copyright (c) 2005-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,6 +55,7 @@ import org.osgi.framework.wiring.BundleRevision;
  * @author Jan Stein, Gunnar Ekolin
  */
 class ExportPkg
+  extends DTOId
   implements BundleCapability, Comparable<ExportPkg>
 {
   // To maintain the creation order in the osgi.wiring.package name space.
@@ -143,7 +144,7 @@ class ExportPkg
    * Create a re-export package entry with a new bundle owner from an
    * existing export.
    * @param ep The ExportPkg to create a re-export package entry for.
-   * @param b  The BundlePackages that owns this re-exprot entry.
+   * @param b  The BundlePackages that owns this re-export entry.
    */
   ExportPkg(ExportPkg ep, BundlePackages b) {
     this.name = ep.name;
diff --git a/osgi/framework/src/org/knopflerfish/framework/ExtensionContext.java b/osgi/framework/src/org/knopflerfish/framework/ExtensionContext.java
deleted file mode 100644
index 9289a96..0000000
--- a/osgi/framework/src/org/knopflerfish/framework/ExtensionContext.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 2012-2013, KNOPFLERFISH project
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- *   copyright notice, this list of conditions and the following
- *   disclaimer in the documentation and/or other materials
- *   provided with the distribution.
- *
- * - Neither the name of the KNOPFLERFISH project nor the names of its
- *   contributors may be used to endorse or promote products derived
- *   from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-package org.knopflerfish.framework;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Dictionary;
-import java.util.List;
-
-import org.osgi.framework.Bundle;
-import org.osgi.framework.ServiceRegistration;
-
-
-/**
- * Context that extension bundles are given to interact with the
- * Knopflerfish framework implementation.
- *
- * @author Gunnar Ekolin
- */
-
-public class ExtensionContext {
-
-  private final FrameworkContext fwCtx;
-  @SuppressWarnings("unused")
-  private final BundleGeneration ext;
-  private Object activator = null;
-
-  ExtensionContext(final FrameworkContext fwCtx,
-                   final BundleGeneration ext) {
-    this.fwCtx = fwCtx;
-    this.ext   = ext;
-
-    String extActivatorName =
-      ext.archive.getAttribute("Extension-Activator");
-    extActivatorName = null!=extActivatorName ? extActivatorName.trim() : null;
-
-    try {
-      // Extension bundles uses the framework class loader...
-      final Class<?> c = getClass().getClassLoader().loadClass(extActivatorName);
-      activator = c.newInstance();
-
-      final Method activateMethod
-        = c.getMethod("activate", new Class[] { ExtensionContext.class });
-      activateMethod.invoke(activator, new Object[] { this } );
-    } catch (final Exception e) {
-      activator = null;
-      final String msg = "Failed to activate framework extension "
-        +ext.symbolicName + ":" +ext.version;
-      fwCtx.log(msg, e);
-    }
-  }
-
-
-  /**
-   * Register a service possibly implementing multiple interfaces.
-   *
-   * @see org.osgi.framework.BundleContext#registerService
-   */
-  public ServiceRegistration<?> registerService(String[] clazzes,
-                                                Object service,
-                                                Dictionary<String, ?> properties)
-  {
-    return fwCtx.services.register(fwCtx.systemBundle, clazzes, service,
-                                   properties);
-  }
-
-  /**
-   * @return the current bundle class loader for a given bundle.
-   */
-  public ClassLoader getClassLoader(Bundle b) {
-    final BundleImpl bi = (BundleImpl) b;
-    return bi.getClassLoader();
-  }
-
-  /**
-   * @return the generation (bundle revision) that a given bundle
-   * class loader belongs to.
-   */
-  public int getGeneration(BundleClassLoader bcl) {
-    return bcl.bpkgs.bg.generation;
-  }
-
-
-
-  /**
-   * The list of bundle class loader listeners registered for this
-   * extension context.
-   */
-  private final List<BundleClassLoaderListener> bclls
-    = new ArrayList<BundleClassLoaderListener>();
-
-  /**
-   * Register a bundle class loader created listener.
-   *
-   * @param bcll the bundle class loader listener to register.
-   */
-  public void addBundleClassLoaderListener(BundleClassLoaderListener bcll)  {
-    bclls.add(bcll);
-  }
-
-  /**
-   * Called by the framework context when a bundle class
-   * loader has been created. Will notify all registered listeners.
-   *
-   * <p>This is a synchronous call.
-   *
-   * @param bcl the newly created bundle class loader.
-   */
-  void bundleClassLoaderCreated(final BundleClassLoader bcl) {
-    for (final BundleClassLoaderListener bcll : bclls) {
-      bcll.bundleClassLoaderCreated(bcl);
-    }
-  }
-
-  /**
-   * Called by the framework context when a bundle class loader has
-   * been closed down. Will notify all registered listeners.
-   *
-   * <p>This is a synchronous call.
-   *
-   * @param bcl the closed down bundle class loader.
-   */
-  void bundleClassLoaderClosed(final BundleClassLoader bcl) {
-    for (final BundleClassLoaderListener bcll : bclls) {
-      bcll.bundleClassLoaderClosed(bcl);
-    }
-  }
-
-}
diff --git a/osgi/framework/src/org/knopflerfish/framework/FWProps.java b/osgi/framework/src/org/knopflerfish/framework/FWProps.java
old mode 100644
new mode 100755
index 2e6021f..7a657c9
--- a/osgi/framework/src/org/knopflerfish/framework/FWProps.java
+++ b/osgi/framework/src/org/knopflerfish/framework/FWProps.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2014, KNOPFLERFISH project
+ * Copyright (c) 2009-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,7 @@ package org.knopflerfish.framework;
 
 import java.net.URLClassLoader;
 import java.util.Dictionary;
+import java.util.HashMap;
 import java.util.Hashtable;
 import java.util.Locale;
 import java.util.Map;
@@ -150,6 +151,17 @@ public class FWProps {
   public static final String KEY_KEYS = "org.knopflerfish.framework.bundleprops.keys";
 
   /**
+   * Set to true if resolver should in case that no uses directive is specified
+   * implicitly check all imported packages for class conflicts.
+   */
+  public final static String RESOLVER_IMPLICIT_USES = "org.knopflerfish.framework.resolver.implicituses";
+
+  /**
+   * Set to true if resolver should provide system bundle packages from start.
+   */
+  public final static String RESOLVER_PREFER_SB = "org.knopflerfish.framework.resolver.prefersystembundle";
+
+  /**
    * Common true string.
    */
   public final static String TRUE = "true";
@@ -178,13 +190,13 @@ public class FWProps {
   /**
    * The properties for this framework instance.
    */
-  protected Map<String, String> props = new Hashtable<String, String>();
+  protected Hashtable<String, String> props = new Hashtable<String, String>();
 
   /**
    * The default properties for this framework instance. TBD, maybe we should
    * make this JVM global!?
    */
-  protected Map<String, String> props_default = new Hashtable<String, String>();
+  protected Hashtable<String, String> props_default = new Hashtable<String, String>();
 
   // If set to true, then during the UNREGISTERING event the Listener
   // can use the ServiceReference to receive an instance of the service.
@@ -201,39 +213,50 @@ public class FWProps {
   public static int javaVersionMinor = -1;
   public static int javaVersionMicro = -1;
 
+  public static int androidApiLevel = -1;
+
   static {
-    String javaVersion = System.getProperty("java.specification.version");
-    if (javaVersion == null || javaVersion.length()==0) {
-      javaVersion = System.getProperty("java.version");
+    try {
+      androidApiLevel = Class.forName("android.os.Build$VERSION").getField("SDK_INT").getInt(null);
+    } catch (final UnsatisfiedLinkError strange) {
+      // Sometimes we get this on Android, select API level 12 for now
+      androidApiLevel = 12;
+    } catch (final Exception ignore) {
     }
-    // Value is on the form M.N.U_P[-xxx] where M,N,U,P are decimal integers
-    if (null != javaVersion) {
-      int startPos = 0;
-      int endPos = 0;
-      final int max = javaVersion.length();
-      while (endPos < max && Character.isDigit(javaVersion.charAt(endPos))) {
-        endPos++;
+    if (androidApiLevel == -1) {
+      String javaVersion = System.getProperty("java.specification.version");
+      if (javaVersion == null || javaVersion.length()==0) {
+        javaVersion = System.getProperty("java.version");
       }
-      if (startPos < endPos) {
-        try {
-          javaVersionMajor = Integer.parseInt(javaVersion.substring(startPos, endPos));
-          startPos = endPos + 1;
-          endPos = startPos;
-          while (endPos < max && Character.isDigit(javaVersion.charAt(endPos))) {
-            endPos++;
-          }
-          if (startPos < endPos) {
-            javaVersionMinor = Integer.parseInt(javaVersion.substring(startPos, endPos));
+      // Value is on the form M.N.U_P[-xxx] where M,N,U,P are decimal integers
+      if (null != javaVersion) {
+        int startPos = 0;
+        int endPos = 0;
+        final int max = javaVersion.length();
+        while (endPos < max && Character.isDigit(javaVersion.charAt(endPos))) {
+          endPos++;
+        }
+        if (startPos < endPos) {
+          try {
+            javaVersionMajor = Integer.parseInt(javaVersion.substring(startPos, endPos));
             startPos = endPos + 1;
             endPos = startPos;
             while (endPos < max && Character.isDigit(javaVersion.charAt(endPos))) {
               endPos++;
             }
             if (startPos < endPos) {
-              javaVersionMicro = Integer.parseInt(javaVersion.substring(startPos, endPos));
+              javaVersionMinor = Integer.parseInt(javaVersion.substring(startPos, endPos));
+              startPos = endPos + 1;
+              endPos = startPos;
+              while (endPos < max && Character.isDigit(javaVersion.charAt(endPos))) {
+                endPos++;
+              }
+              if (startPos < endPos) {
+                javaVersionMicro = Integer.parseInt(javaVersion.substring(startPos, endPos));
+              }
             }
+          } catch (final NumberFormatException _nfe) {
           }
-        } catch (final NumberFormatException _nfe) {
         }
       }
     }
@@ -369,11 +392,20 @@ public class FWProps {
       ee.append(",OSGi/Minimum-1.1");
       ee.append(",OSGi/Minimum-1.2");
       // Set up the default ExecutionEnvironment
-      if (1 == javaVersionMajor) {
-        for (int i = javaVersionMinor; i > 1; i--) {
+      if (javaVersionMajor > 0) {
+        if (javaVersionMajor >= 9) {
+          ee.append(",JavaSE-").append(javaVersionMajor);
+        }
+        int maxMinor = javaVersionMajor == 1 ? javaVersionMinor : 8;
+        for (int i = maxMinor; i > 1; i--) {
           ee.append((i > 5) ? ",JavaSE-1." : ",J2SE-1.");
           ee.append(i);
         }
+      } else if (androidApiLevel > 0) {
+        // We haven't tried below 12
+        for (int i = androidApiLevel; i >= 12; i--) {
+          ee.append(",Android-" + i);
+        }
       }
       props.put(FRAMEWORK_EXECUTIONENVIRONMENT, ee.toString());
     }
@@ -471,7 +503,7 @@ public class FWProps {
     setPropertyDefault(ALL_SIGNED_PROP, FALSE);
     setPropertyDefault(AUTOMANIFEST_PROP, FALSE);
     setPropertyDefault(AUTOMANIFEST_CONFIG_PROP, "!!/automanifest.props");
-    setPropertyDefault(BUNDLESTORAGE_PROP, "file");
+    setPropertyDefault(BUNDLESTORAGE_PROP, androidApiLevel >= 0 ? "dex" : "file");
     setPropertyDefault(BUNDLESTORAGE_CHECKSIGNED_PROP, TRUE);
     setPropertyDefault(PATCH_PROP, FALSE);
     setPropertyDefault(PATCH_CONFIGURL_PROP, "!!/patches.props");
@@ -481,10 +513,17 @@ public class FWProps {
     setPropertyDefault(SERVICE_PERMISSIONADMIN_PROP, TRUE);
     setPropertyDefault(SYSTEM_PACKAGES_BASE_PROP, "");
     setPropertyDefault(SYSTEM_PACKAGES_FILE_PROP, "");
-    setPropertyDefault(SYSTEM_PACKAGES_VERSION_PROP, Integer.toString(javaVersionMajor) + "."
-        + javaVersionMinor);
-    setPropertyDefault(IS_DOUBLECHECKED_LOCKING_SAFE_PROP, javaVersionMajor >= 1
-        && javaVersionMinor >= 5 ? TRUE : FALSE);
+    StringBuffer pver = new StringBuffer();
+    if (javaVersionMajor >= 0) {
+      pver.append(javaVersionMajor);
+      if (javaVersionMinor >= 0) {
+        pver.append('.').append(javaVersionMinor);
+      }
+    } else {
+      pver.append(0);
+    }
+    setPropertyDefault(SYSTEM_PACKAGES_VERSION_PROP, pver.toString());
+    setPropertyDefault(IS_DOUBLECHECKED_LOCKING_SAFE_PROP, TRUE);
     setPropertyDefault(LDAP_NOCACHE_PROP, FALSE);
     setPropertyDefault(MAIN_CLASS_ACTIVATION_PROP, "");
     setPropertyDefault(STRICTBOOTCLASSLOADING_PROP, FALSE);
@@ -495,6 +534,13 @@ public class FWProps {
     setPropertyDefault(STARTLEVEL_COMPAT_PROP, FALSE);
     setPropertyDefault(STARTLEVEL_USE_PROP, TRUE);
     setPropertyDefault(READ_ONLY_PROP, FALSE);
+    setPropertyDefault(RESOLVER_IMPLICIT_USES, FALSE);
+    setPropertyDefault(RESOLVER_PREFER_SB, FALSE);
+  }
+
+
+  Map<String,Object> getFWProperties() {
+    return new HashMap(props);
   }
 
 }
\ No newline at end of file
diff --git a/osgi/framework/src/org/knopflerfish/framework/FileArchive.java b/osgi/framework/src/org/knopflerfish/framework/FileArchive.java
index 22dd436..c0dca2d 100644
--- a/osgi/framework/src/org/knopflerfish/framework/FileArchive.java
+++ b/osgi/framework/src/org/knopflerfish/framework/FileArchive.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2013, KNOPFLERFISH project
+ * Copyright (c) 2009-2015, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,7 +46,7 @@ import java.util.Set;
 public interface FileArchive {
 
   /**
-   * Get a byte array containg the contents of named file from a bundle archive.
+   * Get a byte array containing the contents of named file from a bundle archive.
    *
    * @param component File to get.
    * @return Byte array with contents of file or null if file doesn't exist.
@@ -56,6 +56,16 @@ public interface FileArchive {
 
 
   /**
+   * Load class bytes into specified class loader for named file from a bundle archive.
+   *
+   * @param component File to get.
+   * @param classloader Class loader to use for component.
+   * @return Class for loaded bytes or null if no fil doesn't exist.
+   * @exception IOException if failed to read jar entry.
+   */
+  Class loadClassBytes(String path, ClassLoader classloader);
+
+  /**
    * Get a BundleResourceStream to named entry inside a bundle. Leading '/' is
    * stripped.
    *
diff --git a/osgi/framework/src/org/knopflerfish/framework/Fragment.java b/osgi/framework/src/org/knopflerfish/framework/Fragment.java
index d31a3d5..70f3207 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Fragment.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Fragment.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2013, KNOPFLERFISH project
+ * Copyright (c) 2010-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,6 +55,7 @@ import org.osgi.framework.wiring.BundleRevision;
  * Fragment information
  */
 class Fragment
+  extends DTOId
   implements BundleRequirement
 {
   final BundleGeneration gen;
@@ -82,15 +83,19 @@ class Fragment
     }
 
     final Map<String,String>dirs = headerEntry.getDirectives();
-    final String extension = dirs.get(Constants.EXTENSION_DIRECTIVE);
-    if (Constants.EXTENSION_FRAMEWORK.equals(extension)
-        || Constants.EXTENSION_BOOTCLASSPATH.equals(extension)) {
-      // an extension bundle must target the system bundle.
-      if (!Constants.SYSTEM_BUNDLE_SYMBOLICNAME.equals(hostName)
-          && !BundleGeneration.KNOPFLERFISH_SYMBOLICNAME.equals(hostName)) {
-        throw new IllegalArgumentException("An extension bundle must target "
-            + "the system bundle(" + Constants.SYSTEM_BUNDLE_SYMBOLICNAME + " or "
-            + BundleGeneration.KNOPFLERFISH_SYMBOLICNAME + ")");
+    String extension = dirs.get(Constants.EXTENSION_DIRECTIVE);
+    if (Constants.SYSTEM_BUNDLE_SYMBOLICNAME.equals(hostName)
+          || BundleGeneration.KNOPFLERFISH_SYMBOLICNAME.equals(hostName)) {
+      if (extension != null) {
+        if (!Constants.EXTENSION_FRAMEWORK.equals(extension)
+            && !Constants.EXTENSION_BOOTCLASSPATH.equals(extension)) {
+          // an extension bundle must target the system bundle.
+          throw new IllegalArgumentException("An extension bundle must target "
+              + "the system bundle(" + Constants.SYSTEM_BUNDLE_SYMBOLICNAME + " or "
+              + BundleGeneration.KNOPFLERFISH_SYMBOLICNAME + ")");
+        }
+      } else {
+        extension = Constants.EXTENSION_FRAMEWORK;
       }
 
       if (gen.archive.getAttribute(Constants.IMPORT_PACKAGE) != null
@@ -169,7 +174,8 @@ class Fragment
 
   boolean isTarget(BundleGeneration bg)
   {
-    return hostName.equals(bg.symbolicName)
+    return (hostName.equals(bg.symbolicName) 
+            || extension != null && BundleGeneration.KNOPFLERFISH_SYMBOLICNAME == bg.symbolicName)
            && (versionRange == null || versionRange.includes(bg.version))
            && bg.bsnAttrMatch(attributes);
   }
diff --git a/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java b/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
old mode 100644
new mode 100755
index a9df5c1..d2d65f6
--- a/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
+++ b/osgi/framework/src/org/knopflerfish/framework/FrameworkContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -163,7 +163,12 @@ public class FrameworkContext  {
   ClassLoader parentClassLoader;
 
   /**
-   * All bundle in this framework.
+   * Is init in progress.
+   */
+  boolean isInit = false;
+
+  /**
+   * Is this first init.
    */
   boolean firstInit = true;
 
@@ -282,10 +287,11 @@ public class FrameworkContext  {
    * Initialize the framework, see spec v4.2 sec 4.2.4
    *
    */
-  void init()
+  void init(FrameworkListener... initListeners)
   {
     log("initializing");
     initCount++;
+    isInit = true;
 
     if (firstInit && Constants.FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT
         .equals(props.getProperty(Constants.FRAMEWORK_STORAGE_CLEAN))) {
@@ -302,6 +308,8 @@ public class FrameworkContext  {
     }
     perm.init();
 
+    listeners = new Listeners(this, perm, initListeners);
+
     final String v = props.getProperty(FWProps.VALIDATOR_PROP);
     if (!v.equalsIgnoreCase("none") && !v.equalsIgnoreCase("null")) {
       validator = new ArrayList<Validator>();
@@ -337,6 +345,7 @@ public class FrameworkContext  {
             debug.printStackTrace
               ("Cannot set global content handlers, "
                +"continuing without OSGi service content handler (" +e +")", e);
+            frameworkError(systemBundle, e);
           }
         }
       } else {
@@ -375,8 +384,10 @@ public class FrameworkContext  {
         // Use the nested exception as cause in this case.
         cause = ((InvocationTargetException)e).getTargetException();
       }
-      throw new RuntimeException("Failed to initialize storage "
-                                 + storageClass, cause);
+      RuntimeException re = new RuntimeException("Failed to initialize storage "
+                                                 + storageClass, cause);
+      frameworkError(systemBundle, re);
+      throw re;
     }
     if (props.getBooleanProperty(FWProps.READ_ONLY_PROP)) {
       dataStorage = null;
@@ -388,7 +399,6 @@ public class FrameworkContext  {
     bundleThreads = new LinkedList<BundleThread>();
 
     resolver  = new Resolver(this);
-    listeners = new Listeners(this, perm);
     services  = new Services(this, perm);
 
     // Add this framework to the bundle URL handle
@@ -417,20 +427,22 @@ public class FrameworkContext  {
                       classes,
                       packageAdmin,
                       null);
-
     registerStartLevel();
-
     bundles.load();
-
+    systemBundle.extensionCallStart(null);
+    listeners.initDone();
+    isInit = false;
     log("inited");
 
-    log("Installed bundles:");
-    // Use the ordering in the bundle storage to get a sorted list of bundles.
-    final BundleArchive [] allBAs = storage.getAllBundleArchives();
-    for (final BundleArchive ba : allBAs) {
-      final Bundle b = bundles.getBundle(ba.getBundleLocation());
-      log(" #" +b.getBundleId() +" " +b.getSymbolicName() +":"
-          +b.getVersion() +" location:" +b.getLocation());
+    if (debug.framework) {
+      log("Installed bundles:");
+      // Use the ordering in the bundle storage to get a sorted list of bundles.
+      final BundleArchive [] allBAs = storage.getAllBundleArchives();
+      for (final BundleArchive ba : allBAs) {
+        final Bundle b = bundles.getBundle(ba.getBundleLocation());
+        log(" #" +b.getBundleId() +" " +b.getSymbolicName() +":"
+            +b.getVersion() +" location:" +b.getLocation());
+      }
     }
   }
 
@@ -603,11 +615,6 @@ public class FrameworkContext  {
       }
       startLevelController = new StartLevelController(this);
 
-      // restoreState just reads from persistent storage
-      // open() needs to be called to actually do the work
-      // This is done after framework has been launched.
-      startLevelController.restoreState();
-
       @SuppressWarnings("deprecation")
       final
       String [] clsName = new String [] { org.osgi.service.startlevel.StartLevel.class.getName() };
@@ -754,47 +761,6 @@ public class FrameworkContext  {
     }
   }
 
-  /**
-   * The list of active {@link ExtensionContext} instances for attached
-   * extensions with an ExtensionActivator.
-   */
-  private final List<ExtensionContext> extCtxs = new ArrayList<ExtensionContext>();
-
-  /**
-   * Create a new {@link ExtensionContext} instances for the specified
-   * extension. This will create an instance of the extension
-   * activator class and call its activate-method of.
-   *
-   * @param extension the extension bundle to activate.
-   */
-  void activateExtension(final BundleGeneration extension) {
-    extCtxs.add( new ExtensionContext(this, extension) );
-  }
-
-  /**
-   * Inform all active extension contexts about a newly created bundle
-   * class loader.
-   *
-   * @param bcl the new bundle class loader to inform about.
-   */
-  void bundleClassLoaderCreated(final BundleClassLoader bcl) {
-    for (final ExtensionContext extCtx : extCtxs) {
-      extCtx.bundleClassLoaderCreated(bcl);
-    }
-  }
-
-  /**
-   * Inform all active extension contexts about a closed down bundle
-   * class loader.
-   *
-   * @param bcl the closed down bundle class loader to inform about.
-   */
-  void bundleClassLoaderClosed(final BundleClassLoader bcl) {
-    for (final ExtensionContext extCtx : extCtxs) {
-      extCtx.bundleClassLoaderClosed(bcl);
-    }
-  }
-
 
   /**
    * Convenience method for throwing framework error event.
diff --git a/osgi/framework/src/org/knopflerfish/framework/FrameworkFactoryImpl.java b/osgi/framework/src/org/knopflerfish/framework/FrameworkFactoryImpl.java
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/knopflerfish/framework/FrameworkWiringImpl.java b/osgi/framework/src/org/knopflerfish/framework/FrameworkWiringImpl.java
index 31e6c64..ac798c6 100644
--- a/osgi/framework/src/org/knopflerfish/framework/FrameworkWiringImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/FrameworkWiringImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,12 +34,19 @@
 package org.knopflerfish.framework;
 
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Set;
 
 import org.osgi.framework.Bundle;
+import org.osgi.framework.Filter;
 import org.osgi.framework.FrameworkListener;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.wiring.BundleCapability;
 import org.osgi.framework.wiring.FrameworkWiring;
+import org.osgi.resource.Requirement;
 
 public class FrameworkWiringImpl implements FrameworkWiring {
 
@@ -85,4 +92,33 @@ public class FrameworkWiringImpl implements FrameworkWiring {
     return res;
   }
 
+  @SuppressWarnings("unchecked")
+  public Collection<BundleCapability> findProviders(Requirement requirement) {
+    final String namespace = requirement.getNamespace();
+    final String filterStr = requirement.getDirectives().get("filter");
+    Filter filter;
+    if (filterStr != null) {
+      try {
+        filter = FrameworkUtil.createFilter(filterStr);
+      } catch (InvalidSyntaxException ise) {
+        final String msg = "Invalid filter directive '" + filterStr + "': " + ise;
+        throw new IllegalArgumentException(msg, ise);
+      }
+    } else {
+      filter = null;
+    }
+    HashSet<BundleCapability> res = new HashSet<BundleCapability>();
+    for (BundleGeneration bg : fwCtx.bundles.getBundleGenerations(null)) {
+      BundleRevisionImpl bri = bg.bundleRevision;
+      if (bri != null) {
+        for (BundleCapability bc : bri.getDeclaredCapabilities(namespace)) {
+          if (null == filter || filter.matches(bc.getAttributes())) {
+            res.add(bc);
+          }
+        }
+      }
+    }
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/ImportPkg.java b/osgi/framework/src/org/knopflerfish/framework/ImportPkg.java
index ce8f6bd..f14e394 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ImportPkg.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ImportPkg.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005-2013, KNOPFLERFISH project
+ * Copyright (c) 2005-2017, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,7 +57,10 @@ import org.knopflerfish.framework.Util.HeaderEntry;
  *
  * @author Jan Stein, Gunnar Ekolin
  */
-class ImportPkg implements BundleRequirement, Comparable<ImportPkg> {
+class ImportPkg
+  extends DTOId
+  implements BundleRequirement, Comparable<ImportPkg>
+{
 
   /**
    * The value of the resolution directive for dynamically imported packages.
@@ -298,12 +301,12 @@ class ImportPkg implements BundleRequirement, Comparable<ImportPkg> {
 
 
   /**
-   * Check that we can do an internal wire to the exported package.
+   * Check if resolution is mandatory.
    *
    * @return True if okay, otherwise false.
    */
   boolean mustBeResolved() {
-    return resolution == Constants.RESOLUTION_MANDATORY && internalOk == null;
+    return resolution == Constants.RESOLUTION_MANDATORY;
   }
 
 
@@ -331,10 +334,12 @@ class ImportPkg implements BundleRequirement, Comparable<ImportPkg> {
     // This is handle when resolving package.
     // If one import is mandatory then all must match.
 
-    if (packageRange != null && packageRange.intersection(ip.packageRange).isEmpty()) {
+    if (packageRange != null && ip.packageRange != null &&
+        packageRange.intersection(ip.packageRange).isEmpty()) {
       return false;
     }
-    return bundleRange == null || !bundleRange.intersection(ip.bundleRange).isEmpty();
+    return bundleRange == null || ip.bundleRange == null ||
+        !bundleRange.intersection(ip.bundleRange).isEmpty();
   }
 
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/ListenerEntry.java b/osgi/framework/src/org/knopflerfish/framework/ListenerEntry.java
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/knopflerfish/framework/Listeners.java b/osgi/framework/src/org/knopflerfish/framework/Listeners.java
index d5643f5..7aaabd6 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Listeners.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Listeners.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2017, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -70,6 +70,11 @@ class Listeners {
   HashSet<ListenerEntry> syncBundleListeners = new HashSet<ListenerEntry>();
 
   /**
+   * Init framework event listeners.
+   */
+  private FrameworkListener [] initListeners;
+
+  /**
    * All framework event listeners.
    */
   private final HashSet<ListenerEntry> frameworkListeners = new HashSet<ListenerEntry>();
@@ -106,20 +111,22 @@ class Listeners {
   volatile boolean quit = false;
 
 
-  Listeners(FrameworkContext framework, PermissionOps perm) {
+  Listeners(FrameworkContext framework, PermissionOps perm, FrameworkListener... initListeners) {
     this.fwCtx = framework;
     secure = perm;
     nocacheldap = framework.props.getBooleanProperty(FWProps.LDAP_NOCACHE_PROP);
     serviceListeners = new ServiceListenerState(this);
     final String ets = framework.props.getProperty(FWProps.LISTENER_N_THREADS_PROP);
     int n_threads = 1;
+    Throwable error = null;
     if (ets != null) {
       try {
         n_threads = Integer.parseInt(ets);
       } catch (final NumberFormatException nfe) {
-        // NYI, report error
+        error = nfe;
       }
     }
+    this.initListeners = initListeners;
     if (n_threads > 0) {
       asyncEventQueue = new LinkedList<AsyncEvent>();
       threads = new AsyncEventThread[n_threads];
@@ -130,6 +137,10 @@ class Listeners {
       if (n_threads > 1) {
         activeListeners = new HashMap<ListenerEntry, Thread>();
       }
+      if (error != null) {
+        Throwable t = new Exception("Failed to parse " + FWProps.LISTENER_N_THREADS_PROP, error);
+        framework.frameworkWarning(framework.systemBundle, t);
+      }
     }
   }
 
@@ -140,11 +151,18 @@ class Listeners {
     syncBundleListeners.clear();
     frameworkListeners.clear();
     serviceListeners.clear();
+    initListeners = null;
     secure = null;
     fwCtx = null;
   }
 
 
+  void initDone()
+  {
+    initListeners = null;
+  }
+
+
   /**
    * Add a bundle listener to the current framework.
    *
@@ -342,6 +360,11 @@ class Listeners {
             asyncEventQueue.addLast(new AsyncEvent(new ListenerEntry(null, fl), evt));
           }
         }
+        if (initListeners != null) {
+          for (FrameworkListener il : initListeners) {
+            asyncEventQueue.addLast(new AsyncEvent(new ListenerEntry(null, il), evt));
+          }
+        }
         synchronized (frameworkListeners) {
           for (final ListenerEntry listenerEntry : frameworkListeners) {
             asyncEventQueue.addLast(new AsyncEvent(listenerEntry, evt));
@@ -355,6 +378,11 @@ class Listeners {
           frameworkEvent(new ListenerEntry(null, ofl), evt);
         }
       }
+      if (initListeners != null) {
+        for (FrameworkListener il : initListeners) {
+          frameworkEvent(new ListenerEntry(null, il), evt);
+        }
+      }
       ListenerEntry [] fl;
       synchronized (frameworkListeners) {
         fl = new ListenerEntry[frameworkListeners.size()];
@@ -377,7 +405,7 @@ class Listeners {
                       final Set<ServiceListenerEntry> matchBefore) {
     final ServiceReferenceImpl<?> sr = (ServiceReferenceImpl<?>)evt.getServiceReference();
     final String[] classes = (String[])sr.getProperty(Constants.OBJECTCLASS);
-    final int n = 0;
+    int n = 0;
 
     // TODO: OSGi43 the interplay between ldap filters, hooks and MODIFIED_ENDMATCH should be revised
     if (matchBefore != null) {
@@ -388,11 +416,11 @@ class Listeners {
 
     fwCtx.serviceHooks.filterServiceEventReceivers(evt, receivers);
 
+    final ServicePermission perm = secure.checkPermissions() ?
+      new ServicePermission(sr, ServicePermission.GET) : null;
     for (final ServiceListenerEntry l : receivers) {
       try {
-        if (!l.isRemoved()
-            && (!secure.checkPermissions() ||
-                l.bc.bundle.hasPermission(new ServicePermission(sr, ServicePermission.GET)))) {
+        if (perm == null || l.bc.bundle.hasPermission(perm)) {
           final boolean testAssignable = !(l.listener instanceof AllServiceListener);
           for (int i = 0; i < classes.length; i++) {
             if (testAssignable && !sr.isAssignableTo(l.bc.bundle, classes[i])){
@@ -400,6 +428,7 @@ class Listeners {
             }
             try {
               ((ServiceListener)l.listener).serviceChanged(evt);
+              n++;
             } catch (final Throwable pe) {
               fwCtx.frameworkError(l.bc, pe);
             }
@@ -467,7 +496,7 @@ class Listeners {
     } catch (final Exception pe) {
       // Don't report Error events again, since probably would go into an infinite loop.
       if (evt.getType() != FrameworkEvent.ERROR) {
-        fwCtx.frameworkError(le.bc, pe);
+        fwCtx.frameworkError(le != null ? le.bc : null, pe);
       }
     }
   }
diff --git a/osgi/framework/src/org/knopflerfish/framework/Main.java b/osgi/framework/src/org/knopflerfish/framework/Main.java
index fb776c9..480390a 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Main.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Main.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2015, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -150,6 +150,9 @@ public class Main
    */
   public static void main(String[] args) {
     main = new Main();
+
+    System.out.println(main.bootText);
+
     main.start(args);
     System.exit(0);
   }
@@ -163,20 +166,17 @@ public class Main
     populateSysProps();
     // Setup URLStremFactory so that we can use fwresource:
     FrameworkContext.setupURLStreamHandleFactory();
-  }
-
-
-  protected void start(String[] args) {
-    version = Util.readFrameworkVersion();
     final String tstampYear = Util.readTstampYear();
 
     bootText =
       "Knopflerfish OSGi framework launcher, version " + version + "\n" +
       "Copyright 2003-" +tstampYear +" Knopflerfish. All Rights Reserved.\n" +
       "See http://www.knopflerfish.org for more information.\n";
+  }
 
-    System.out.println(bootText);
 
+  public Framework start(String[] args) {
+    version = Util.readFrameworkVersion();
     // Check if framework is started with no args at all.
     // This typically happens when starting with "java -jar framework.jar"
     // or similar (e.g by double-clicking on framework.jar)
@@ -221,7 +221,7 @@ public class Main
     }
 
     args = expandArgs(args);
-    handleArgs(args);
+    return handleArgs(args);
   }
 
 
@@ -373,6 +373,7 @@ public class Main
           saveStartLevel = false;
         } else if (saveStartLevel && i+1 < args.length && "-startlevel".equals(args[i])) {
           fwProps.put(Constants.FRAMEWORK_BEGINNING_STARTLEVEL, args[i+1]);
+          saveStartLevel = false;
         }
       } catch (final Exception e) {
         e.printStackTrace(System.err);
@@ -464,7 +465,7 @@ public class Main
    *
    * @param args argument line
    */
-  private void handleArgs(String[] args) {
+  private Framework handleArgs(String[] args) {
     boolean bLaunched = false;
 
     // If not init, check if we have saved framework properties
@@ -490,10 +491,14 @@ public class Main
       }
     }
 
+    boolean bg = false;
     // Process all other options.
     for (int i = 0; i < args.length; i++) {
       try {
-        if ("-exit".equals(args[i])) {
+        if ("-bg".equals(args[i])) {
+          println("Background mode.", 0);
+          bg  = true;
+        } else if ("-exit".equals(args[i])) {
           println("Exit.", 0);
           System.exit(0);
         } else if (args[i].startsWith("-F")) {
@@ -665,9 +670,14 @@ public class Main
           assertFramework();
           if (i+1 < args.length) {
             final int n = Integer.parseInt(args[i+1]);
-            final FrameworkStartLevel fsl = framework.adapt(FrameworkStartLevel.class);
-            if (fsl!=null) {
-              fsl.setStartLevel(n);
+            if ((Bundle.ACTIVE&framework.getState()) != 0) {
+              final FrameworkStartLevel fsl = framework.adapt(FrameworkStartLevel.class);
+              if (fsl!=null) {
+                fsl.setStartLevel(n);
+              }
+            } else {
+              error("Startlevel command not available before framework started.\n" +
+                    "Use property 'org.osgi.framework.startlevel.beginning' instead");
             }
             i++;
           } else {
@@ -712,6 +722,9 @@ public class Main
         error("Framework launch failed, " + t.getMessage(), t);
       }
     }
+    if (bg) {
+      return framework;
+    }
     FrameworkEvent stopEvent = null;
     while (true) { // Ignore interrupted exception.
       try {
@@ -720,18 +733,18 @@ public class Main
         case FrameworkEvent.STOPPED:
           // FW terminated, Main is done!
           println("Framework terminated", 0);
-          return;
+          return framework;
         case FrameworkEvent.STOPPED_UPDATE:
           // Automatic FW restart, wait again.
           break;
         case FrameworkEvent.STOPPED_BOOTCLASSPATH_MODIFIED:
           // A manual FW restart with new boot class path is needed.
-          return;
+          return framework;
         case FrameworkEvent.ERROR:
           // Stop failed or other error, give up.
           error("Fatal framework error, terminating.",
                 stopEvent.getThrowable());
-          return;
+          return framework;
         case FrameworkEvent.WAIT_TIMEDOUT:
           // Should not happen with timeout==0, give up.
           error("Framework waitForStop(0) timed out!",
diff --git a/osgi/framework/src/org/knopflerfish/framework/NativeRequirement.java b/osgi/framework/src/org/knopflerfish/framework/NativeRequirement.java
new file mode 100644
index 0000000..ad39838
--- /dev/null
+++ b/osgi/framework/src/org/knopflerfish/framework/NativeRequirement.java
@@ -0,0 +1,364 @@
+/*
+ * Copyright (c) 2016-2016, KNOPFLERFISH project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials
+ *   provided with the distribution.
+ *
+ * - Neither the name of the KNOPFLERFISH project nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.knopflerfish.framework;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import org.osgi.framework.BundleException;
+import org.osgi.framework.Constants;
+import org.osgi.framework.Filter;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.Version;
+import org.osgi.framework.VersionRange;
+import org.osgi.framework.namespace.NativeNamespace;
+import org.osgi.framework.wiring.BundleCapability;
+import org.osgi.framework.wiring.BundleRequirement;
+import org.osgi.framework.wiring.BundleRevision;
+
+import org.knopflerfish.framework.Util.HeaderEntry;
+
+/**
+ * Data structure for native code requirement handling.
+ *
+ * @author Jan Stein
+ */
+class NativeRequirement
+  extends DTOId
+  implements BundleRequirement
+{
+  final BundleGeneration gen;
+  final List<NativeCodeEntry> entries = new ArrayList<NativeCodeEntry>();
+  private boolean optional = false;
+
+
+  NativeRequirement(final BundleGeneration gen, String bnc)
+  {
+    this.gen = gen;
+    final List<HeaderEntry> hes =
+      Util.parseManifestHeader(Constants.BUNDLE_NATIVECODE, bnc, false, false, false);
+    for (final Iterator<HeaderEntry> heIt = hes.iterator(); heIt.hasNext();) {
+      final HeaderEntry he = heIt.next();
+
+      final List<String> keys = he.getKeys();
+      if ("*".equals(keys.get(0))) {
+        if (keys.size() != 1 || heIt.hasNext()) {
+          throw new IllegalArgumentException("Bundle#" + gen.bundle.id +
+                                             ", Unexpected characters after '*' in " + 
+                                             Constants.BUNDLE_NATIVECODE + " header: " + bnc);
+        }
+        optional = true;
+        break;
+      }
+
+      @SuppressWarnings("unchecked")
+        final List<String> procs = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_PROCESSOR);
+
+      @SuppressWarnings("unchecked")
+        final  List<String> oses = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_OSNAME);
+
+      @SuppressWarnings("unchecked")
+        final List<String> vers = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_OSVERSION);
+
+      @SuppressWarnings("unchecked")
+        final List<String> langs = (List<String>) he.getAttributes().get(Constants.BUNDLE_NATIVECODE_LANGUAGE);
+
+      @SuppressWarnings("unchecked")
+        final List<String> sfs = (List<String>) he.getAttributes().get(Constants.SELECTION_FILTER_ATTRIBUTE);
+      String sf = null;
+      if (sfs != null) {
+        sf = sfs.get(0);
+        if (sfs.size() != 1) {
+          throw new IllegalArgumentException("Bundle#" + gen.bundle.id +
+                                             ", Invalid character after native code selection filter: " + sf);
+        }
+      }
+      try {
+        entries.add(new NativeCodeEntry(keys, procs, oses, vers, langs, sf));
+      } catch (InvalidSyntaxException ise) {
+        throw new IllegalArgumentException("Bundle does not specify a valid " + Constants.BUNDLE_NATIVECODE +
+                                           " header. Got exception: " + ise.getMessage());
+      }
+    }
+  }
+
+  /**
+   * Check native code attribute.
+   * 
+   * @return 
+   *
+   * @throws BundleException if native code match fails.
+   */
+  List<String> checkNativeCode() throws BundleException {
+    List<String> best = null;
+    Version bestVer = null;
+    boolean bestLang = false;
+    Map<String,Object> nca = gen.bundle.fwCtx.systemBundle.getNativeCapability().getAttributes();
+    for (NativeCodeEntry ne : entries) {
+      if (ne.filter == null || ne.filter.matches(nca)) {
+        // Compare to previous best
+        if (best != null) {
+          boolean verEqual = false;
+          if (bestVer != null) {
+            if (ne.minVersion == null) {
+              continue;
+            }
+            final int d = bestVer.compareTo(ne.minVersion);
+            if (d == 0) {
+              verEqual = true;
+            } else if (d > 0) {
+              continue;
+            }
+          } else if (ne.minVersion == null) {
+            verEqual = true;
+          }
+          if (verEqual && (!ne.matchLang || bestLang)) {
+            continue;
+          }
+        }
+        best = ne.files;
+        bestVer = ne.minVersion;
+        bestLang = ne.matchLang;
+      }
+    }
+    if (best == null && !optional) {
+      StringBuffer sb = new StringBuffer();
+      sb.append("Bundle#").append(gen.bundle.id);
+      sb.append(", no matching native code libraries, filters=[");
+      boolean first = true;
+      for (NativeCodeEntry ne : entries) {
+        if (first) {
+          first = false;
+        } else {
+          sb.append(", ");
+        }
+        sb.append(ne.filter);
+      }
+      sb.append("], attributes: ").append(nca);
+      throw new BundleException(sb.toString(), BundleException.NATIVECODE_ERROR);
+    }
+    return best;
+  }
+
+
+  /**
+   * String describing this object.
+   *
+   * @return String.
+   */
+  @Override
+  public String toString() {
+    return "NativeRequirement[filter=" + getFilter() + "]";
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public String getNamespace() {
+    return NativeNamespace.NATIVE_NAMESPACE;
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public Map<String, String> getDirectives() {
+    String filter = getFilter();
+    if (filter != null) {
+      if (optional) {
+        Map<String, String> res = new TreeMap<String, String>();
+        res.put(Constants.FILTER_DIRECTIVE, filter);
+        res.put(Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
+        return res;
+      } else {
+        return Collections.singletonMap(Constants.FILTER_DIRECTIVE, filter);
+      }
+    } else {
+      @SuppressWarnings("unchecked")
+      Map<String, String> res = Collections.EMPTY_MAP;
+      return res;
+    }
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public Map<String, Object> getAttributes() {
+    @SuppressWarnings("unchecked")
+    final Map<String, Object> res = Collections.EMPTY_MAP;
+    return res;
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public BundleRevision getResource() {
+    return gen.bundleRevision;
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public BundleRevision getRevision() {
+    return gen.bundleRevision;
+  }
+
+
+  // BundleRequirement method
+  @Override
+  public boolean matches(BundleCapability capability) {
+    if (BundleRevision.PACKAGE_NAMESPACE.equals(capability.getNamespace())) {
+      for (NativeCodeEntry e : entries) {
+        if (e.filter == null || e.filter.matches(capability.getAttributes())) {
+          return true;
+        }
+      }
+    }
+    return false;
+  }
+
+
+  private String getFilter() {
+    StringBuffer sb = new StringBuffer();
+    int elems = 0;
+    for (NativeCodeEntry e : entries) {
+      if (e.filter != null) {
+        sb.append(e.filter.toString());
+        elems++;
+      }
+    }
+    if (elems == 0) {
+      return null;
+    } else if (elems > 1) {
+      sb.insert(0,"(|");
+      sb.append(")");
+    }
+    return sb.toString();
+  }
+
+
+  class NativeCodeEntry
+  {
+    final List<String> files;
+    final Filter filter;
+    final boolean matchLang;
+    final Version minVersion;
+
+
+    NativeCodeEntry(List<String> files, List<String> procs, List<String> oses, List<String> vers, List<String> langs, String sf)
+      throws InvalidSyntaxException
+    {
+      this.files = files;
+      matchLang = langs != null;
+      if (vers != null) {
+        Version mv = null;
+        List<VersionRange> vrs = new ArrayList<VersionRange>(vers.size());
+        for (String s : vers) {
+          VersionRange vr = new VersionRange(s);
+          if (mv == null || mv.compareTo(vr.getLeft()) > 0) {
+            mv = vr.getLeft();
+          }
+          vrs.add(vr);
+        }
+        minVersion = mv;
+        filter = toFilter(procs, oses, vrs, langs, sf);
+      } else {
+        minVersion = null;
+        filter = toFilter(procs, oses, null, langs, sf);
+      }
+    }
+
+
+    private String orString(String key, List<?> vals) {
+      if (vals == null) {
+        return null;
+      }
+      final StringBuffer sb = new StringBuffer(80);
+      if (vals.size() > 1) {
+        sb.append("(|");
+      }
+      for (Object v : vals) {
+        if (v instanceof VersionRange) {
+          sb.append(((VersionRange)v).toFilterString(key));
+        } else {
+          sb.append('(');
+          sb.append(key);
+          sb.append("~=");
+          sb.append(v.toString());
+          sb.append(')');
+        }
+      }
+      if (vals.size() > 1) {
+        sb.append(')');
+      }
+      return sb.toString();
+    }
+
+
+    private int andAdd(StringBuffer sb, String str) {
+      if (str == null) {
+        return 0;
+      }
+      sb.append(str);
+      return 1;
+    }
+        
+    private Filter toFilter(List<String> procs, List<String> oses, List<VersionRange> vers, List<String> langs, String sf)
+      throws InvalidSyntaxException
+    {
+      final StringBuffer sb = new StringBuffer(80);
+      int elems = 0;
+      
+      elems = andAdd(sb, orString(NativeNamespace.CAPABILITY_PROCESSOR_ATTRIBUTE, procs));
+      elems += andAdd(sb, orString(NativeNamespace.CAPABILITY_OSNAME_ATTRIBUTE, oses));
+      elems += andAdd(sb, orString(NativeNamespace.CAPABILITY_OSVERSION_ATTRIBUTE, vers));
+      elems += andAdd(sb, orString(NativeNamespace.CAPABILITY_LANGUAGE_ATTRIBUTE, langs));
+      elems += andAdd(sb, sf);
+      if (elems == 0) {
+        return null;
+      } else if (elems > 1) {
+        sb.insert(0,"(&");
+        sb.append(")");
+      }
+      return FrameworkUtil.createFilter(sb.toString());
+    }
+
+  }
+
+}
diff --git a/osgi/framework/src/org/knopflerfish/framework/PackageAdminImpl.java b/osgi/framework/src/org/knopflerfish/framework/PackageAdminImpl.java
index c3ee544..0b191d2 100644
--- a/osgi/framework/src/org/knopflerfish/framework/PackageAdminImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/PackageAdminImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -345,7 +345,7 @@ public class PackageAdminImpl implements PackageAdmin {
     // Resolve first to avoid dead lock
     BundleImpl [] triggers = slist.toArray(new BundleImpl[slist.size()]);
     for (final BundleImpl rb : slist) {
-      rb.getUpdatedState(triggers);
+      rb.getUpdatedState(triggers, false);
     }
     try {
       fwCtx.resolverHooks.endResolve(triggers);
@@ -395,7 +395,7 @@ public class PackageAdminImpl implements PackageAdmin {
         // TODO Resolve all at once, so that we can handle resolver abort correctly! 
         for (final Bundle bundle : bl) {
           final BundleImpl b = (BundleImpl)bundle;
-          if (b.getUpdatedState(triggers) == Bundle.INSTALLED) {
+          if (b.getUpdatedState(triggers, false) == Bundle.INSTALLED) {
             res = false;
           }
         }
diff --git a/osgi/framework/src/org/knopflerfish/framework/PermissionOps.java b/osgi/framework/src/org/knopflerfish/framework/PermissionOps.java
index 8aa47ee..6b09b7c 100644
--- a/osgi/framework/src/org/knopflerfish/framework/PermissionOps.java
+++ b/osgi/framework/src/org/knopflerfish/framework/PermissionOps.java
@@ -52,6 +52,7 @@ import org.osgi.framework.FrameworkListener;
 import org.osgi.framework.ServiceEvent;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceReference;
+import org.osgi.framework.hooks.weaving.WovenClassListener;
 
 /**
  * This is a wrapper class for operations that requires some kind of security
@@ -180,6 +181,9 @@ class PermissionOps {
   }
 
 
+  void checkImportPackagePermission(String pkg) {
+  }
+
   //
   // Service permission checks
   //
@@ -413,6 +417,10 @@ class PermissionOps {
   }
 
 
+  WovenClassListener getWovenClassListener() {
+    return null;
+  }
+
   //
   // Privileged system calls
   //
@@ -432,4 +440,5 @@ class PermissionOps {
   void purge(BundleImpl b, ProtectionDomain pc) {
   }
 
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/Pkg.java b/osgi/framework/src/org/knopflerfish/framework/Pkg.java
index 01ae72e..b8cc4d9 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Pkg.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Pkg.java
@@ -136,17 +136,14 @@ class Pkg {
     if (!providers.isEmpty()) {
       return providers.get(0);
     } else {
-      ExportPkg best = null;
       // See if there are any resolved exporters.
       for (final ExportPkg exportPkg : exporters) {
         final ExportPkg ep = exportPkg;
-        if (ep.bpkgs.bg.bundle.isResolved()) {
-          if (best == null || best.version.compareTo(ep.version) < 0) {
-            best = ep;
-          }
+        if (ep.bpkgs.isActive()) {
+          return ep;
         }
       }
-      return best;
+      return null;
     }
   }
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/PropertiesDictionary.java b/osgi/framework/src/org/knopflerfish/framework/PropertiesDictionary.java
index e94be9f..e72711a 100644
--- a/osgi/framework/src/org/knopflerfish/framework/PropertiesDictionary.java
+++ b/osgi/framework/src/org/knopflerfish/framework/PropertiesDictionary.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,9 +34,13 @@
 
 package org.knopflerfish.framework;
 
+import java.util.Arrays;
 import java.util.Dictionary;
 import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
 
+import org.osgi.dto.DTO;
 import org.osgi.framework.Constants;
 
 /**
@@ -48,31 +52,42 @@ import org.osgi.framework.Constants;
  */
 class PropertiesDictionary extends Dictionary<String, Object>
 {
+  private final int ocIndex = 0;
+  private final int sidIndex = 1;
+  private final int sbidIndex = 2;
+  private final int ssIndex = 3;
+
+  private static long nextServiceID = 1;
+
   private final String [] keys;
   private final Object [] values;
-  private int size;
 
-  private int ocIndex = -1;
-  private int sidIndex = -1;
+  private int size = ssIndex + 1;
 
-  private static long nextServiceID = 1;
 
-  PropertiesDictionary(@SuppressWarnings("rawtypes") Dictionary in) {
-    final int max_size = in != null ? in.size() + 2 : 2;
+  PropertiesDictionary(@SuppressWarnings("rawtypes") Dictionary in,
+                       String[] classes, Long sid, Long bid, String scope)
+  {
+    final int max_size = (in != null ? in.size() : 0) + size;
     keys = new String[max_size];
     values = new Object[max_size];
-    size = 0;
+    keys[ocIndex] = Constants.OBJECTCLASS;
+    values[ocIndex] = classes;
+    keys[sidIndex] = Constants.SERVICE_ID;
+    values[sidIndex] = sid != null ? sid : new Long(nextServiceID++);
+    keys[sbidIndex] = Constants.SERVICE_BUNDLEID;
+    values[sbidIndex] = bid;
+    keys[ssIndex] = Constants.SERVICE_SCOPE;
+    values[ssIndex] = scope;
     if (in != null) {
       try {
         for (@SuppressWarnings("rawtypes")
         final Enumeration e = in.keys(); e.hasMoreElements();) {
           final String key = (String) e.nextElement();
-          if (ocIndex == -1 && key.equalsIgnoreCase(Constants.OBJECTCLASS)) {
-            ocIndex = size;
-          } else if (sidIndex == -1
-                     && key.equalsIgnoreCase(Constants.SERVICE_ID)) {
-            sidIndex = size;
-          } else {
+          if (!key.equalsIgnoreCase(Constants.OBJECTCLASS) &&
+              !key.equalsIgnoreCase(Constants.SERVICE_ID) &&
+              !key.equalsIgnoreCase(Constants.SERVICE_BUNDLEID) &&
+              !key.equalsIgnoreCase(Constants.SERVICE_SCOPE)) {
             for (int i = size - 1; i >= 0; i--) {
               if (key.equalsIgnoreCase(keys[i])) {
                 throw new IllegalArgumentException(
@@ -80,9 +95,9 @@ class PropertiesDictionary extends Dictionary<String, Object>
                                                        + key);
               }
             }
+            keys[size] = key;
+            values[size++] = in.get(key);
           }
-          keys[size] = key;
-          values[size++] = in.get(key);
         }
       } catch (final ClassCastException ignore) {
         throw new IllegalArgumentException(
@@ -91,28 +106,16 @@ class PropertiesDictionary extends Dictionary<String, Object>
     }
   }
 
-  PropertiesDictionary(@SuppressWarnings("rawtypes") Dictionary in,
-                       String[] classes, Long sid)
-  {
-    this(in);
-    if (ocIndex == -1) {
-      keys[size] = Constants.OBJECTCLASS;
-      ocIndex = size++;
-    }
-    values[ocIndex] = classes;
-    if (sidIndex == -1) {
-      keys[size] = Constants.SERVICE_ID;
-      sidIndex = size++;
-    }
-    values[sidIndex] = sid != null ? sid : new Long(nextServiceID++);
-  }
-
   @Override
   public Object get(Object key) {
     if (key == Constants.OBJECTCLASS) {
       return (ocIndex >= 0) ? values[ocIndex] : null;
     } else if (key == Constants.SERVICE_ID) {
       return (sidIndex >= 0) ? values[sidIndex] : null;
+    } else if (key == Constants.SERVICE_BUNDLEID) {
+      return (sidIndex >= 0) ? values[sbidIndex] : null;
+    } else if (key == Constants.SERVICE_SCOPE) {
+      return (sidIndex >= 0) ? values[ssIndex] : null;
     }
     for (int i = size - 1; i >= 0; i--) {
       if (((String)key).equalsIgnoreCase(keys[i])) {
@@ -151,4 +154,14 @@ class PropertiesDictionary extends Dictionary<String, Object>
 
   @Override
   public Object remove(Object k) { throw new UnsupportedOperationException("Not implemented"); }
+
+
+  Map<String, Object> getDTO() {
+    Map<String, Object> res = new HashMap<String, Object>();
+    for (int i = 0; i < size; i++) {
+      res.put(keys[i], Util.safeDTOObject(values[i]));
+    }
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/RequireBundle.java b/osgi/framework/src/org/knopflerfish/framework/RequireBundle.java
index 2a60d52..ccb2e2c 100644
--- a/osgi/framework/src/org/knopflerfish/framework/RequireBundle.java
+++ b/osgi/framework/src/org/knopflerfish/framework/RequireBundle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006-2013, KNOPFLERFISH project
+ * Copyright (c) 2006-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -50,6 +50,7 @@ import org.osgi.framework.wiring.BundleRevision;
 
 
 class RequireBundle
+  extends DTOId
   implements BundleRequirement, Comparable<RequireBundle>
 {
   // To maintain the creation order in the osgi.wiring.bundle name space.
@@ -167,7 +168,8 @@ class RequireBundle
         !rb.resolution.equals(Constants.RESOLUTION_MANDATORY)) {
       return false;
     }
-    return  bundleRange == null || !bundleRange.intersection(rb.bundleRange).isEmpty();
+    return  bundleRange == null || rb.bundleRange == null ||
+        !bundleRange.intersection(rb.bundleRange).isEmpty();
   }
 
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/Resolver.java b/osgi/framework/src/org/knopflerfish/framework/Resolver.java
index 7908bc2..64190d6 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Resolver.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Resolver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2017, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -99,6 +99,12 @@ class Resolver {
   private HashMap<RequireBundle, BundlePackages> tempRequired = null;
 
   /**
+   * Temporary map of attached fragment bundle packages done during a resolve
+   * operation.
+   */
+  private HashMap<BundlePackages, List<BundlePackages>> tempAttached = null;
+
+  /**
    * Temporary set of package providers that are black listed in the resolve
    * operation.
    */
@@ -151,6 +157,9 @@ class Resolver {
     if (null != tempRequired) {
       tempRequired.clear();
     }
+    if (null != tempAttached) {
+      tempAttached.clear();
+    }
     if (null != tempBlackList) {
       tempBlackList.clear();
     }
@@ -226,6 +235,8 @@ class Resolver {
       tempResolved = new HashSet<BundleGeneration>();
       tempProvider = new HashMap<String, ExportPkg>();
       tempRequired = new HashMap<RequireBundle, BundlePackages>();
+      tempAttached = new HashMap<BundlePackages, List<BundlePackages>>();
+      tempWires = new ArrayList<BundleWireImpl>();
       tempBlackList = new HashSet<ExportPkg>();
       tempBackTracked = new HashSet<BundlePackages>();
       backTrackUses(ip);
@@ -247,6 +258,8 @@ class Resolver {
         tempBlackList = null;
         tempProvider = null;
         tempRequired = null;
+        tempAttached = null;
+        tempWires = null;
         tempResolved = null;
         resolveThread = null;
         notifyAll();
@@ -371,11 +384,11 @@ class Resolver {
       // Not true, wait before starting new resolve process.
       checkThread();
       do {
- 	     try {
-  	      wait();
-    	  } catch (final InterruptedException _ignore) { }
+        try {
+          wait();
+        } catch (final InterruptedException _ignore) { }
       } while (tempResolved != null);
-   	}
+    }
 
     resolveThread = Thread.currentThread();
     tempResolved = new HashSet<BundleGeneration>();
@@ -383,6 +396,13 @@ class Resolver {
       if (!addTempResolved(bg)) {
         res = RESOLVER_HOOK_VETO;
       }
+      if (bg.isFragmentHost()) {
+        for (BundleGeneration fbg : bg.fragments) {
+          if (!addTempResolved(fbg)) {
+            res = RESOLVER_HOOK_VETO;
+          }
+        }
+      }
     } catch (BundleException be) {
       tempResolved = null;
       resolveThread = null;
@@ -402,12 +422,22 @@ class Resolver {
       notifyAll();
       return res;
     }
-    
+
     HashSet<ExportPkg> baseTempBlackList = new HashSet<ExportPkg>();
     tempBlackList = new HashSet<ExportPkg>();
     tempProvider = new HashMap<String, ExportPkg>();
     tempRequired = new HashMap<RequireBundle, BundlePackages>();
+    tempAttached = new HashMap<BundlePackages, List<BundlePackages>>();
     tempWires = new ArrayList<BundleWireImpl>();
+    if (bg.bundle == framework.systemBundle && framework.props.getBooleanProperty(FWProps.RESOLVER_PREFER_SB)) {
+      for (Pkg p : packages.values()) {
+        for (ExportPkg ep : p.exporters) {
+          if (ep.bpkgs.bg == bg) {
+            tempProvider.put(ep.name, ep);
+          }
+        }
+      }
+    }
     try {
       while (true) {
         tempCollision = null;
@@ -437,6 +467,7 @@ class Resolver {
           tempBlackList.addAll(baseTempBlackList);
           tempProvider.clear();
           tempRequired.clear();
+          tempAttached.clear();
           tempWires.clear();
         } else {
           break;
@@ -446,13 +477,14 @@ class Resolver {
       tempResolved = null;
       tempProvider = null;
       tempRequired = null;
+      tempAttached = null;
       tempBlackList = null;
       tempWires = null;
       resolveThread = null;
       notifyAll();
     }
     if (framework.debug.resolver) {
-      framework.debug.println("resolve: Done for " + bg);
+      framework.debug.println("resolve: Done for " + bg + ", result=" + res);
     }
     return res;
   }
@@ -467,6 +499,15 @@ class Resolver {
   }
 
 
+  List<BundlePackages> getFragBundlePackages(BundlePackages fbpkgs)
+  {
+    if (tempAttached != null) {
+      return tempAttached.get(fbpkgs);
+    }
+    return null;
+  }
+
+
   /**
    * Get Pkg object for named package.
    *
@@ -696,7 +737,7 @@ class Resolver {
    */
   private boolean resolvePackages(Iterator<ImportPkg> pkgs, StringBuffer failReason)
       throws BundleException {
-    StringBuffer pkgFail = failReason != null ? new StringBuffer() : null;
+    StringBuffer pkgFail = failReason != null || framework.debug.resolver ? new StringBuffer() : null;
     boolean res = true;
     tempCollision = null;
     while (pkgs.hasNext()) {
@@ -710,16 +751,35 @@ class Resolver {
         framework.debug.println("resolvePackages: check - " + ip.pkgString());
       }
       List<ExportPkg> possibleProvider = new LinkedList<ExportPkg>();
+      int n_resolved = 0;
       for (ExportPkg ep : ip.pkg.exporters) {
+        int ss = framework.debug.resolver ? pkgFail.length() : 0;
         if (ip.checkAttributes(ep)) {
-          if (ip.bpkgs == ep.bpkgs || ip.checkPermission(ep)) {
-            possibleProvider.add(ep);
-          } else if (pkgFail != null) {
-            newFailReason(pkgFail, "No import permission", ep);
+          if (tempBlackList.contains(ep)) {
+            tempBlackListHits++;
+            if (pkgFail != null) {
+              newFailReason(pkgFail, "Package temporary black listed", ep);
+            }
+          } else {
+            if (ip.bpkgs == ep.bpkgs || ip.checkPermission(ep)) {
+              if (ep.bpkgs.isActive()) {
+                possibleProvider.add(n_resolved++, ep);
+              } else {
+                possibleProvider.add(ep);
+              }
+              continue;
+            } else if (pkgFail != null) {
+              newFailReason(pkgFail, "No import permission", ep);
+            }
           }
         } else if (pkgFail != null) {
           newFailReason(pkgFail, "Attributes don't match", ep);
         }
+        if (framework.debug.resolver) {
+          if (ip.pkg.providers.contains(ep)) {
+            framework.debug.println("resolvePackages: rejected provide because - " + pkgFail.substring(ss));
+          }
+        }
       }
       if (pkgFail != null) {
         if (possibleProvider.isEmpty() && pkgFail.length() == 0) {
@@ -764,9 +824,15 @@ class Resolver {
             if (pkgFail != null) {
               newFailReason(pkgFail, "Collied with previous selection", ep);
             }
+            if (framework.debug.resolver) {
+              framework.debug.println("resolvePackages: Provider black listed: " + ep);
+            }
             continue;
           }
           if (ep.zombie) {
+            if (framework.debug.resolver) {
+              framework.debug.println("resolvePackages: Provider zombie, skip: " + ep);
+            }
             continue;
           }
           final HashMap<String, ExportPkg> oldTempProvider = tempProviderClone();
@@ -780,6 +846,9 @@ class Resolver {
             if (pkgFail != null) {
               newFailReason(pkgFail, "Provider rejected because of uses directive ", ep);
             }
+            if (framework.debug.resolver) {
+              framework.debug.println("resolvePackages: Provider rejected because of uses directive: " + ep);
+            }
           }
         }
         if (provider == null) {
@@ -790,17 +859,22 @@ class Resolver {
         }
       }
       if (provider == null) {
-        if (ip.mustBeResolved()) {
-          res = false;
-          if (failReason != null) {
-            failReason.append(FWProps.NL);
-            failReason.append(ip.pkgString());
-            failReason.append(" -- ");
-            failReason.append(pkgFail);
-          }
-        } else {
-          if (framework.debug.resolver) {
-            framework.debug.println("resolvePackages: Ok, no provider for optional " + ip.name);
+        if (ip.internalOk == null) {
+          if (ip.mustBeResolved()) {
+            res = false;
+            if (failReason != null) {
+              failReason.append(FWProps.NL);
+              failReason.append(ip.pkgString());
+              failReason.append(" -- ");
+              failReason.append(pkgFail);
+            }
+            if (framework.debug.resolver) {
+              framework.debug.println("resolvePackages: Failed to find provider for, " + ip.name);
+            }
+          } else {
+            if (framework.debug.resolver) {
+              framework.debug.println("resolvePackages: Ok, no provider for optional, " + ip.name);
+            }
           }
         }
       }
@@ -843,20 +917,14 @@ class Resolver {
         }
         continue;
       }
-      if (ip.bpkgs == ep.bpkgs) {
+      if (ep.bpkgs.bg.isFragment()) {
+        continue;
+      }
+      if (ip.internalOk == null && ip.bpkgs.bg == ep.bpkgs.bg) {
         if (framework.debug.resolver) {
           framework.debug.println("pickProvider: internal wire ok for - " + ep);
         }
         ip.internalOk = ep;
-      } else if (!ep.checkPermission()) {
-        if (framework.debug.resolver) {
-          framework.debug.println("pickProvider: no export permission for - " + ep);
-        }
-        i.remove();
-        if (failReason != null) {
-          newFailReason(failReason, "No export permission for", ep);
-        }
-        continue;
       }
       if (ep.bpkgs.bg.bundle.state != Bundle.INSTALLED) {
         final HashMap<String, ExportPkg> oldTempProvider = tempProviderClone();
@@ -912,10 +980,11 @@ class Resolver {
         framework.debug.println("pickProvider: check possible provider - " + ep);
       }
       if (checkResolve(ep.bpkgs.bg, ep)) {
+        ExportPkg tep = ep.bpkgs.bg.isFragment() ? tempProvider.get(ep.name) : ep;
         if (framework.debug.resolver) {
-          framework.debug.println("pickProvider: " + ip + " - got provider - " + ep);
+          framework.debug.println("pickProvider: " + ip + " - got provider - " + tep);
         }
-        return ep;
+        return tep;
       }
       if (tempCollision != null  && savedCollision  == null) {
         // Save collision so that we can backtrack and try to avoid collision
@@ -964,51 +1033,112 @@ class Resolver {
       return true;
     }
     if (checkBundleSingleton(bg) == null) {
-      boolean retry;
-      final HashSet<ExportPkg> collisions = new HashSet<ExportPkg>();
-      do {
-        retry = false;
-        @SuppressWarnings("unchecked")
-        final HashSet<BundleGeneration> oldTempResolved = (HashSet<BundleGeneration>)tempResolved.clone();
-        if (!addTempResolved(bg)) {
+      List<BundleGeneration> fraghosts = checkFragmentHost(bg);
+      if (fraghosts == null) {
+        if (ep != null && !ep.checkPermission()) {
+          if (framework.debug.resolver) {
+            framework.debug.println("checkResolve: no export permission for - " + ep);
+          }
           return false;
         }
-        final HashMap<String, ExportPkg> oldTempProvider = tempProviderClone();
-        @SuppressWarnings("unchecked")
-        final HashMap<RequireBundle, BundlePackages> oldTempRequired = (HashMap<RequireBundle, BundlePackages>)tempRequired.clone();
-        @SuppressWarnings("unchecked")
-        final HashSet<ExportPkg> oldTempBlackList = (HashSet<ExportPkg>)tempBlackList.clone();
-        tempBlackList.addAll(collisions);
-        final int oldTempWiresSize = tempWires.size();
-        if (ep != null) {
-          tempProvider.put(ep.pkg.pkg, ep);
+        fraghosts = new ArrayList<BundleGeneration>(1);
+        fraghosts.add(null);
+      }
+      SavedTempState savedState = new SavedTempState();
+      SavedTempState savedState2 = savedState;
+      while (!fraghosts.isEmpty()) {
+        if (!addTempResolved(bg)) {
+          return false;
         }
-        final String breq = checkBundleRequirements(bg);
-        if (breq == null) {
-          if (checkRequireBundle(bg) == null) {
-            if (resolvePackages(bg.bpkgs.getImports(), null)) {
-              return true;
+        BundlePackages rbp;
+        ExportPkg rep;
+        BundleGeneration rbg = fraghosts.remove(0);
+        if (rbg != null) {
+          try {
+            if (framework.debug.resolver) {
+              framework.debug.println("checkResolve: fragment export of " + ep + " attach to:" + rbg);
+            }
+            if (rbg.bundle.isResolved()) {
+              rbp = new BundlePackages(rbg.bpkgs, bg.bpkgs);
+            } else {
+              if (checkResolve(rbg, null)) {
+                rbp = new BundlePackages(rbg.bpkgs, bg.bpkgs);
+                savedState2 = new SavedTempState();
+              } else {
+                continue;
+              }
+            }
+            rbp.registerPackages();
+            List<BundlePackages> fbps = tempAttached.get(bg.bpkgs);
+            if (fbps == null) {
+              fbps = new ArrayList<BundlePackages>();
+              tempAttached.put(bg.bpkgs, fbps);
             }
-            if (tempCollision != null) {
-              if (!oldTempProvider.containsValue(tempCollision)) {
-                collisions.add(tempCollision);
-                retry = true;
-                tempCollision = null;
+            fbps.add(rbp);
+          } catch (IllegalStateException ise) {
+            savedState.restore();
+            continue;
+          }
+          if (ep != null) {
+            rep = rbp.getExports(ep.name).next();
+            if (!rep.checkPermission()) {
+              if (framework.debug.resolver) {
+                framework.debug.println("checkResolve: no fragment export permission for - " + rep);
               }
+              savedState.restore();
+              continue;
             }
+          } else {
+            rep = null;
           }
+        } else {
+          rbp = bg.bpkgs;
+          rep = ep;
         }
-        tempResolved = oldTempResolved;
-        tempProvider = oldTempProvider;
-        tempRequired = oldTempRequired;
-        tempBlackList = oldTempBlackList;
-        tempWires.subList(oldTempWiresSize, tempWires.size()).clear();
-      } while (retry);
+        final HashSet<ExportPkg> collisions = new HashSet<ExportPkg>();
+        boolean retry;
+        do {
+          retry = false;
+          tempBlackList.addAll(collisions);
+          if (rep != null) {
+            tempProvider.put(rep.pkg.pkg, rep);
+          }
+          final String breq = checkBundleRequirements(bg);
+          if (breq == null) {
+            if (checkRequireBundle(bg) == null) {
+              if (resolvePackages(rbp.getImports(), null)) {
+                  return true;
+              }
+              if (tempCollision != null) {
+                if (!savedState2.oldTempProvider.containsValue(tempCollision)) {
+                  collisions.add(tempCollision);
+                  retry = true;
+                  tempCollision = null;
+                }
+              }
+            }
+          }
+          if (retry) {
+            savedState2.restore();
+          }
+        } while (retry);
+      }
+      savedState.restore();
     }
     return false;
   }
 
 
+  private List<BundleGeneration> checkFragmentHost(BundleGeneration bg)
+  {
+    if (bg.isFragment()) {
+      return bg.fragment.targets();
+    } else {
+      return null;
+    }
+  }
+
+
   /**
    * Check that the packages that this provider uses do not collied with
    * previous selections. If a bundle doesn't have a uses directive we check all
@@ -1029,7 +1159,11 @@ class Resolver {
       final ArrayList<ExportPkg> checkList = new ArrayList<ExportPkg>();
       while (i.hasNext()) {
         final ImportPkg ip = i.next();
-        if (uses != null && !uses.contains(ip.pkg.pkg)) {
+        if (uses == null) {
+          if (!framework.props.getBooleanProperty(FWProps.RESOLVER_IMPLICIT_USES)) {
+            continue;
+          }
+        } else if (!uses.contains(ip.pkg.pkg)) {
           continue;
         }
         final ExportPkg ep = tempProvider.get(ip.pkg.pkg);
@@ -1038,8 +1172,15 @@ class Resolver {
                                   " with provider, " + ip.provider);
         }
         if (ep == null) {
-          tempProvider.put(ip.pkg.pkg, ip.provider);
-          checkList.add(ip.provider);
+          if (tempBlackList.contains(ip.provider)) {
+            if (framework.debug.resolver) {
+              framework.debug.println("checkUses: black listed provider for, " + ip.pkg.pkg);
+            }
+            return false;
+          } else {
+            tempProvider.put(ip.pkg.pkg, ip.provider);
+            checkList.add(ip.provider);
+          }
         } else if (ep != ip.provider) {
           if (framework.debug.resolver) {
             framework.debug.println("checkUses: mismatch in providers for, " + ip.pkg.pkg);
@@ -1076,18 +1217,16 @@ class Resolver {
       final List<BundleGeneration> bl = framework.bundles.getBundleGenerations(bg.symbolicName);
       if (bl.size() > 1) {
         if (framework.resolverHooks.hasHooks()) {
-          final BundleCapability bc = bg.getBundleCapability();
           Collection<BundleCapability> candidates = new LinkedList<BundleCapability>();
           List<BundleNameVersionCapability> active = new ArrayList<BundleNameVersionCapability>(bl.size());
           for (final BundleGeneration bg2 : bl) {
             if (bg2.singleton) {
               if (bg2 != bg) {
-                BundleNameVersionCapability bc2 = bg2.getBundleCapability();
-                if (bc2 != null) {
+                if (bg2.bundleCapability != null) {
                   if (bg2.bpkgs.isActive()) {
-                    active.add(bc2);
+                    active.add(bg2.bundleCapability);
                   } else {
-                    candidates.add(bc2);
+                    candidates.add(bg2.bundleCapability);
                   }
                 }
               }
@@ -1096,9 +1235,9 @@ class Resolver {
           if (!active.isEmpty()) {
             for (BundleNameVersionCapability abc : active) {
               Collection<BundleCapability> c = new LinkedList<BundleCapability>(candidates);
-              c.add(bc);
+              c.add(bg.bundleCapability);
               framework.resolverHooks.filterSingletonCollisions(abc, c);
-              if (c.contains(bc)) {
+              if (c.contains(bg.bundleCapability)) {
                 return abc.gen;
               } else {
                 candidates.removeAll(c);
@@ -1106,7 +1245,7 @@ class Resolver {
             }
           }
           if (!candidates.isEmpty()) {
-            framework.resolverHooks.filterSingletonCollisions(bc, candidates);
+            framework.resolverHooks.filterSingletonCollisions(bg.bundleCapability, candidates);
             for (final BundleCapability bc2 : candidates) {
               BundleGeneration bg2 = ((BundleRevisionImpl)bc2.getRevision()).gen;
               if (tempResolved.contains(bg2)) {
@@ -1334,56 +1473,66 @@ class Resolver {
     List<BundleImpl> resolve = new ArrayList<BundleImpl>(tempResolved.size());
     for (final BundleGeneration bg : tempResolved) {
       if (!bg.bpkgs.isActive()) {
-        for (final Iterator<ImportPkg> bi = bg.bpkgs.getImports(); bi.hasNext();) {
-          final ImportPkg ip = bi.next();
-          final ExportPkg ep = tempProvider.get(ip.name);
-          if (ep == null) {
-            // There could be an internal connection, that should export a
-            // package
-            if (ip.internalOk != null) {
-              if (ip.internalOk.pkg.providers.isEmpty() &&
-                  ip.internalOk.checkPermission()) {
-                ip.internalOk.pkg.addProvider(ip.internalOk);
-                if (framework.debug.resolver) {
-                  framework.debug.println("registerNewProviders: exported internal wire, "
-                                          + ip + " -> " + ip.internalOk);
-                }
-              } else {
-                if (framework.debug.resolver) {
-                  framework.debug.println("registerNewProviders: internal wire, "
-                                          + ip + " -> " + ip.internalOk);
-                }
-              }
-            }
-          } else {
-            // TODO! This check is already done, we should cache result
-            if (ip.checkAttributes(ep) && ip.checkPermission(ep)) {
-              ip.provider = ep;
-            } else {
-              // Check if got a missmatching internal wire.
+        List<BundlePackages> bps = tempAttached.get(bg.bpkgs);
+        if (bps == null) {
+          bps = Collections.singletonList(bg.bpkgs);
+        }
+        for (BundlePackages bp : bps) {
+          for (final Iterator<ImportPkg> bi = bp.getImports(); bi.hasNext();) {
+            final ImportPkg ip = bi.next();
+            final ExportPkg ep = tempProvider.get(ip.name);
+            if (ep == null) {
+              // There could be an internal connection, that should export a
+              // package
               if (ip.internalOk != null) {
-                if (ip.internalOk == ep) {
+                if (ip.internalOk.pkg.providers.isEmpty() &&
+                    ip.internalOk.checkPermission()) {
+                  ip.internalOk.pkg.addProvider(ip.internalOk);
                   if (framework.debug.resolver) {
-                    framework.debug.println("registerNewProviders: internal wire, " + ip + ", "
-                        + ep);
+                    framework.debug.println("registerNewProviders: exported internal wire, "
+                                            + ip + " -> " + ip.internalOk);
                   }
                 } else {
-                  // TODO, should we resolve when this happens!?
-                  framework.frameworkError(bg.bundle,
-                       new Exception("registerNewProviders: Warning! Internal wire for, " + ip +
-                                     ", does not match exported. " + ep));
+                  if (framework.debug.resolver) {
+                    framework.debug.println("registerNewProviders: internal wire, "
+                                            + ip + " -> " + ip.internalOk);
+                  }
+                }
+              }
+            } else {
+              // TODO! This check is already done, we should cache result
+              if (ip.checkAttributes(ep) && ip.checkPermission(ep)) {
+                ip.provider = ep;
+              } else {
+                // Check if got a missmatching internal wire.
+                if (ip.internalOk != null) {
+                  if (ip.internalOk == ep) {
+                    if (framework.debug.resolver) {
+                      framework.debug.println("registerNewProviders: internal wire, " + ip + ", "
+                          + ep);
+                    }
+                  } else {
+                    // TODO, should we resolve when this happens!?
+                    framework.frameworkError(bg.bundle,
+                         new Exception("registerNewProviders: Warning! Internal wire for, " + ip +
+                                       ", does not match exported. " + ep));
+                  }
                 }
               }
             }
           }
         }
         if (bg.bundle != bundle) {
-          resolve.add(bg.bundle);
+          if (bg.isFragment()) {
+            resolve.add(0, bg.bundle);
+          } else {
+            resolve.add(bg.bundle);
+          }
         }
       }
     }
     for (final BundleImpl b : resolve) {
-      if (b.getUpdatedState(null) == Bundle.INSTALLED) {
+      if (b.getUpdatedState(null, true) == Bundle.INSTALLED) {
         framework.frameworkError(b,
             new Exception("registerNewProviders: InternalError!"));
       }
@@ -1408,14 +1557,56 @@ class Resolver {
   private void checkThread() throws BundleException {
     Thread t = Thread.currentThread();
     if (t.equals(resolveThread)) {
-      throw new BundleException("Can not currently start new resolve during a resolve.");      
+      throw new BundleException("Can not currently start new resolve during a resolve.");
     }
     for (BundleGeneration bg : tempResolved) {
       if (bg.bundle.isBundleThread(t)) {
-		    throw new BundleException("Can not resolve a bundle inside current BundleListener." +
+        throw new BundleException("Can not resolve a bundle inside current BundleListener." +
                                   "Will cause a dead-lock. BID=" + bg.bundle.id);
       }
     }
   }
 
+
+  class SavedTempState {
+
+    final HashSet<BundleGeneration> oldTempResolved;
+    final HashMap<String, ExportPkg> oldTempProvider;
+    final HashMap<RequireBundle, BundlePackages> oldTempRequired;
+    final HashMap<BundlePackages, List<BundlePackages>> oldTempAttached;
+    final HashSet<ExportPkg> oldTempBlackList;
+    final int oldTempWiresSize;
+
+    @SuppressWarnings("unchecked")
+    SavedTempState()
+    {
+      oldTempResolved = (HashSet<BundleGeneration>)tempResolved.clone();
+      oldTempProvider = tempProviderClone();
+      oldTempRequired = (HashMap<RequireBundle, BundlePackages>)tempRequired.clone();
+      oldTempAttached = (HashMap<BundlePackages, List<BundlePackages>>)tempAttached.clone();
+      oldTempBlackList = (HashSet<ExportPkg>)tempBlackList.clone();
+      oldTempWiresSize = tempWires.size();
+    }
+
+    void restore() {
+      // Unregister temporary fragments
+      for (Entry<BundlePackages, List<BundlePackages>> e : tempAttached.entrySet()) {
+        List<BundlePackages> bps = e.getValue();
+        List<BundlePackages> oldbps = oldTempAttached.get(e.getKey());
+        if (oldbps != null) {
+          bps.removeAll(oldbps);
+        }
+        for (BundlePackages bp : bps) {
+          bp.unregisterPackages(true);
+        }
+      }
+      tempResolved = oldTempResolved;
+      tempProvider = oldTempProvider;
+      tempRequired = oldTempRequired;
+      tempAttached = oldTempAttached;
+      tempBlackList = oldTempBlackList;
+      tempWires.subList(oldTempWiresSize, tempWires.size()).clear();
+    }
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/ResolverHooks.java b/osgi/framework/src/org/knopflerfish/framework/ResolverHooks.java
index ae90348..266158d 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ResolverHooks.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ResolverHooks.java
@@ -263,7 +263,7 @@ public class ResolverHooks {
   }
 
 
-  boolean hasHooks() throws BundleException {
+  boolean hasHooks() {
     return active != null;
   }
 
diff --git a/osgi/framework/src/org/knopflerfish/framework/SecurePermissionOps.java b/osgi/framework/src/org/knopflerfish/framework/SecurePermissionOps.java
index 98a0e35..cfffcd4 100644
--- a/osgi/framework/src/org/knopflerfish/framework/SecurePermissionOps.java
+++ b/osgi/framework/src/org/knopflerfish/framework/SecurePermissionOps.java
@@ -74,6 +74,7 @@ import org.osgi.framework.ServiceEvent;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServicePermission;
 import org.osgi.framework.ServiceReference;
+import org.osgi.framework.hooks.weaving.WovenClassListener;
 import org.osgi.service.condpermadmin.ConditionalPermissionAdmin;
 import org.osgi.service.permissionadmin.PermissionAdmin;
 
@@ -386,6 +387,15 @@ public class SecurePermissionOps
     return true;
   }
 
+  @Override
+  void checkImportPackagePermission(String pkg)
+  {
+    final SecurityManager sm = System.getSecurityManager();
+    if (null != sm) {
+      sm.checkPermission(new PackagePermission(pkg, PackagePermission.IMPORT));
+    }
+  }
+
   //
   // Service permission checks
   //
@@ -922,6 +932,11 @@ public class SecurePermissionOps
     }
   }
 
+  @Override
+  WovenClassListener getWovenClassListener() {
+    return ph;
+  }
+
   //
   // Privileged system calls
   //
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceContentHandlerFactory.java b/osgi/framework/src/org/knopflerfish/framework/ServiceContentHandlerFactory.java
index bcdab60..459caa7 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ServiceContentHandlerFactory.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceContentHandlerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -116,7 +116,7 @@ public class ServiceContentHandlerFactory
       @SuppressWarnings("unchecked")
       final ServiceReference<ContentHandler>[] srl
         = (ServiceReference<ContentHandler>[])
-          framework.services.get(ContentHandler.class.getName(), filter, null);
+        framework.services.get(ContentHandler.class.getName(), filter, framework.systemBundle, false);
 
       if (srl != null && srl.length > 0) {
         ContentHandlerWrapper wrapper = wrapMap.get(mimetype);
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceHooks.java b/osgi/framework/src/org/knopflerfish/framework/ServiceHooks.java
old mode 100644
new mode 100755
index 9d0f177..74961b2
--- a/osgi/framework/src/org/knopflerfish/framework/ServiceHooks.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceHooks.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2013, KNOPFLERFISH project
+ * Copyright (c) 2009-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -151,7 +151,7 @@ class ServiceHooks {
 
       for (final ServiceRegistrationImpl<FindHook> fhr : srl) {
         final ServiceReferenceImpl<FindHook> sr = fhr.reference;
-        final FindHook fh = sr.getService(fwCtx.systemBundle);
+        final FindHook fh = sr.getService();
         if (fh != null) {
           try {
             fh.find(bc, service, filter, allServices, filtered);
@@ -187,7 +187,7 @@ class ServiceHooks {
 
       for (final ServiceRegistrationImpl<org.osgi.framework.hooks.service.EventHook> sregi : eventHooks) {
         final ServiceReferenceImpl<org.osgi.framework.hooks.service.EventHook> sr = sregi.reference;
-        final org.osgi.framework.hooks.service.EventHook eh = sr.getService(fwCtx.systemBundle);
+        final org.osgi.framework.hooks.service.EventHook eh = sr.getService();
         if (eh != null) {
           try {
             eh.event(evt, filtered);
@@ -199,6 +199,7 @@ class ServiceHooks {
       }
       // TODO, refactor this for speed!?
       if (start_size != ctxs.size()) {
+        ctxs.add(fwCtx.systemBundle.bundleContext);
         for (final Iterator<ServiceListenerEntry> ir = receivers.iterator(); ir.hasNext(); ) {
           if (!ctxs.contains(ir.next().getBundleContext())) {
             ir.remove();
@@ -220,6 +221,13 @@ class ServiceHooks {
         listeners.get(sle.getBundleContext()).add(sle);
       }
 
+      receivers.clear();
+      Collection<ListenerInfo> sys = listeners.get(fwCtx.systemBundle.bundleContext);
+      if (sys != null) {
+        final Collection<ServiceListenerEntry> sles = (Collection) sys;
+        receivers.addAll(sles);
+      }
+        
       for(final Entry<BundleContext, Collection<ListenerInfo>> e : listeners.entrySet()) {
         e.setValue(new RemoveOnlyCollection<ListenerInfo>(e.getValue()));
       }
@@ -228,7 +236,7 @@ class ServiceHooks {
         = new RemoveOnlyMap<BundleContext, Collection<ListenerInfo>>(listeners);
 
       for(final ServiceRegistrationImpl<EventListenerHook> sri : eventListenerHooks) {
-        final EventListenerHook elh = sri.reference.getService(fwCtx.systemBundle);
+        final EventListenerHook elh = sri.reference.getService();
         if(elh != null) {
           try {
             elh.event(evt, filtered);
@@ -238,7 +246,6 @@ class ServiceHooks {
           }
         }
       }
-      receivers.clear();
       for(final Collection<ListenerInfo> li : listeners.values()) {
         @SuppressWarnings({ "rawtypes", "unchecked" })
         final Collection<ServiceListenerEntry> sles = (Collection) li;
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceListenerEntry.java b/osgi/framework/src/org/knopflerfish/framework/ServiceListenerEntry.java
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceListenerState.java b/osgi/framework/src/org/knopflerfish/framework/ServiceListenerState.java
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/knopflerfish/framework/ListenerEntry.java b/osgi/framework/src/org/knopflerfish/framework/ServiceObjectsImpl.java
similarity index 55%
copy from osgi/framework/src/org/knopflerfish/framework/ListenerEntry.java
copy to osgi/framework/src/org/knopflerfish/framework/ServiceObjectsImpl.java
index 0b50886..61895fb 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ListenerEntry.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceObjectsImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2011, KNOPFLERFISH project
+ * Copyright (c) 2016-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,46 +34,59 @@
 
 package org.knopflerfish.framework;
 
-import java.util.EventListener;
+import org.osgi.framework.ServiceObjects;
+import org.osgi.framework.ServiceReference;
 
-class ListenerEntry {
+
+/**
+ * Implementation of the ServiceObjects object.
+ *
+ * @see org.osgi.framework.ServiceObjects
+ * @author Jan Stein
+ */
+public class ServiceObjectsImpl<S> implements ServiceObjects<S>
+{
   final BundleContextImpl bc;
-  final EventListener listener;
-  boolean bRemoved = false;
+  final ServiceReferenceImpl<S> sr;
 
-  ListenerEntry(BundleContextImpl bc, EventListener l) {
+  ServiceObjectsImpl(BundleContextImpl bc, ServiceReferenceImpl<S> sr) {
     this.bc = bc;
-    listener = l;
+    this.sr = sr;
   }
 
   /**
-   * Listener are considered equal if bc and listener are equal, this so that
-   * the HashSet of listeners should work.
+   * Returns a service object for the {@link #getServiceReference()
+   * associated} service.
+   * 
+   * @see org.osgi.framework.ServiceObjects#getService()
    */
-  public boolean equals(Object o) {
-    if (o instanceof ListenerEntry) {
-      return bc == ((ListenerEntry) o).bc && listener == ((ListenerEntry) o).listener;
-    }
-    return false;
+  public S getService() {
+    bc.checkValid(); 
+    return sr.getService(bc.bundle, true);
   }
 
   /**
-   * Only use listener as hash value, since it is almost always unique.
+   * Releases a service object for the {@link #getServiceReference()
+   * associated} service.
+   *
+   * @see org.osgi.framework.ServiceObjects#ungetService()
    */
-  public int hashCode() {
-    return listener.hashCode();
-  }
-
-  /**
-   */
-  void setRemoved(boolean b) {
-    this.bRemoved = b;
+  public void ungetService(S service) {
+    bc.checkValid(); 
+    if (service == null) {
+      throw new IllegalArgumentException("null Service is not valid input to ungetService(Object)");
+    }
+    sr.ungetService(bc.bundle, service);
   }
 
   /**
+   * Returns the {@link ServiceReference} for the service associated with this
+   * {@code ServiceObjects} object.
+   * 
+   * @see org.osgi.framework.ServiceObjects#getServiceReference()
    */
-  public boolean isRemoved() {
-    return bRemoved;
+  public ServiceReference<S> getServiceReference() {
+    return sr;
   }
 
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceReferenceImpl.java b/osgi/framework/src/org/knopflerfish/framework/ServiceReferenceImpl.java
index 12d7c15..b14ea45 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ServiceReferenceImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceReferenceImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -175,11 +175,7 @@ public class ServiceReferenceImpl<S> implements ServiceReference<S>
    * ServiceReference, i.e., whose usage count for this service
    * is greater than zero.
    *
-   * @return array of bundles whose usage count for the service wrapped by
-   * this ServiceReference is greater than zero, or <tt>null</tt> if no
-   * bundles currently are using this service
-   *
-   * @since 1.1
+   * @see org.osgi.framework.ServiceReference#getUsingBundles
    */
   public Bundle[] getUsingBundles() {
     return registration.getUsingBundles();
@@ -193,11 +189,23 @@ public class ServiceReferenceImpl<S> implements ServiceReference<S>
    * Get the service object.
    *
    * @param bundle requester of service.
+   * @param multiple get multiple services if possible.
    * @return Service requested or null in case of failure.
    */
-  S getService(final BundleImpl bundle) {
+  S getService(final BundleImpl bundle, boolean multiple) {
     bundle.fwCtx.perm.checkGetServicePerms(this);
-    return registration.getService(bundle);
+    return registration.getService(bundle, multiple);
+  }
+
+
+  /**
+   * Get the service object for system bundle.
+   *
+   * @param bundle requester of service.
+   * @return Service requested or null in case of failure.
+   */
+  S getService() {
+    return registration.getService(registration.fwCtx.systemBundle, false);
   }
 
 
@@ -205,10 +213,11 @@ public class ServiceReferenceImpl<S> implements ServiceReference<S>
    * Unget the service object.
    *
    * @param bundle Bundle who wants remove service.
+   * @param service Specific service to unget is we have multiple services.
    * @return True if service was used, otherwise false.
    */
-  boolean ungetService(BundleImpl bundle) {
-    return registration.ungetService(bundle, true);
+  boolean ungetService(BundleImpl bundle, S service) {
+    return registration.ungetService(bundle, true, service);
   }
 
 
@@ -222,6 +231,15 @@ public class ServiceReferenceImpl<S> implements ServiceReference<S>
     return registration.getProperties();
   }
 
+  /**
+   * Check if registration is available.
+   *
+   * @return True if service is registered, otherwise false.
+   */
+  boolean isAvailable() {
+    return registration.isAvailable();
+  }
+
   //
   // Private methods
   //
@@ -326,10 +344,7 @@ public class ServiceReferenceImpl<S> implements ServiceReference<S>
           if (sService == null) {
             throw new IllegalStateException("Service is unregistered");
           }
-          if (p.providers.size() == 1) {
-            // Only one version available, allow.
-            return true;
-          } else if (sService instanceof ServiceFactory) {
+          if (sService instanceof ServiceFactory) {
             // Factory, allow.
             return true;
           } else {
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceRegistrationImpl.java b/osgi/framework/src/org/knopflerfish/framework/ServiceRegistrationImpl.java
index 636ec68..f2916bb 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ServiceRegistrationImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceRegistrationImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2012, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -34,11 +34,15 @@
 
 package org.knopflerfish.framework;
 
+import java.util.ArrayList;
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Set;
 
 import org.osgi.framework.Bundle;
@@ -48,6 +52,7 @@ import org.osgi.framework.ServiceException;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.framework.dto.ServiceReferenceDTO;
 
 
 /**
@@ -69,11 +74,16 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
   BundleImpl bundle;
 
   /**
-   * Service or ServiceFactory object.
+   * Service, ServiceFactory or ServiceFactory object.
    */
   Object service;
 
   /**
+   * Service scope
+   */
+  final String scope;
+
+  /**
    * Reference object to this service registration.
    */
   ServiceReferenceImpl<S> reference;
@@ -84,7 +94,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
   private PropertiesDictionary properties;
 
   /**
-   * Bundles dependent on this service. Integer is used as
+   * Bundles dependent on this service. An Integer is used as
    * reference counter, counting number of unbalanced getService().
    */
   private Hashtable<Bundle,Integer> dependents = new Hashtable<Bundle, Integer>();
@@ -92,7 +102,12 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
   /**
    * Object instances that factory has produced.
    */
-  private HashMap<Bundle,S> serviceInstances = new HashMap<Bundle, S>();
+  private HashMap<Bundle,S> serviceInstances = null;
+
+  /**
+   * Object instances that factory has produced.
+   */
+  private HashMap<Bundle,List<S>> prototypeServiceInstances = null;
 
   /**
    * Unget in progress for bundle in set.
@@ -132,13 +147,20 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
    * @param s Service object.
    * @param props Properties describing service.
    */
-  ServiceRegistrationImpl(BundleImpl b, Object s, PropertiesDictionary props) {
+  ServiceRegistrationImpl(BundleImpl b, Object s, String ss, PropertiesDictionary props) {
     fwCtx = b.fwCtx;
     bundle = b;
     service = s;
     properties = props;
     reference = new ServiceReferenceImpl<S>(this);
     available = true;
+    scope = ss;
+    if (scope == Constants.SCOPE_BUNDLE) {
+      serviceInstances = new HashMap<Bundle, S>();
+    } else if (scope == Constants.SCOPE_PROTOTYPE) {
+      serviceInstances = new HashMap<Bundle, S>();
+      prototypeServiceInstances = new HashMap<Bundle, List<S>>();
+    }
   }
 
   //
@@ -177,7 +199,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
             before = fwCtx.listeners.getMatchingServiceListeners(reference);
             final String[] classes = (String[])properties.get(Constants.OBJECTCLASS);
             final Long sid = (Long)properties.get(Constants.SERVICE_ID);
-            properties = new PropertiesDictionary(props, classes, sid);
+            properties = new PropertiesDictionary(props, classes, sid, new Long(bundle.id), scope);
             final Object new_rank = properties.get(Constants.SERVICE_RANKING);
             if (old_rank != new_rank && new_rank instanceof Integer &&
                 !((Integer)new_rank).equals(old_rank)) {
@@ -235,7 +257,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
       final Bundle [] using = getUsingBundles();
       if (using != null) {
         for (final Bundle element : using) {
-          ungetService(element, false);
+          ungetService(element, false, null);
         }
       }
       synchronized (properties) {
@@ -244,6 +266,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
         reference = null;
         service = null;
         serviceInstances = null;
+        prototypeServiceInstances = null;
         unregistering = false;
       }
     }
@@ -254,6 +277,14 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
   //
 
   /**
+   * Is service available
+   */
+  boolean isAvailable() {
+    return available;
+  }
+
+
+  /**
    * Get all properties
    */
   PropertiesDictionary getProperties() {
@@ -275,13 +306,23 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
    * @param bundle requester of service.
    * @return Service requested or null in case of failure.
    */
-  S getService(Bundle b) {
+  S getService(Bundle b, boolean multiple) {
     Integer ref;
     BundleImpl sBundle = null;
+
+    if (multiple && scope != Constants.SCOPE_PROTOTYPE) {
+      multiple = false;
+    }
     synchronized (properties) {
       if (available) {
         ref = dependents.get(b);
-        if (service instanceof ServiceFactory) {
+        if (scope == Constants.SCOPE_SINGLETON) {
+          dependents.put(b, new Integer(ref != null ? ref.intValue() + 1 : 1));
+          @SuppressWarnings("unchecked")
+          final
+          S res = (S) service;
+          return res;
+        } else if (!multiple) {
           if (ref == null) {
             dependents.put(b, new Integer(0));
             factoryThread = Thread.currentThread();
@@ -290,12 +331,6 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
               throw new IllegalStateException("Recursive call of getService");
             }
           }
-        } else {
-          dependents.put(b, new Integer(ref != null ? ref.intValue() + 1 : 1));
-          @SuppressWarnings("unchecked")
-          final
-          S res = (S) service;
-          return res;
         }
         sBundle = bundle;
       } else {
@@ -303,7 +338,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
       }
     }
     S s = null;
-    if (ref == null) {
+    if (ref == null || multiple) {
       try {
         s = sBundle.fwCtx.perm.callGetService(this, b);
         if (s == null) {
@@ -318,8 +353,7 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
       }
       if (s != null) {
         final String[] classes = (String[])getProperty(Constants.OBJECTCLASS);
-        for (final String classe : classes) {
-          final String cls = classe;
+        for (final String cls : classes) {
           if (!sBundle.fwCtx.services.checkServiceClass(s, cls)) {
             sBundle.fwCtx.frameworkError(sBundle,
                 new ServiceException("ServiceFactory produced an object " +
@@ -331,13 +365,15 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
         }
       }
       if (s == null) {
-        synchronized (properties) {
-          if (dependents != null) {
-            dependents.remove(b);
+        if (!multiple) {
+          synchronized (properties) {
+            if (dependents != null && ref == null) {
+              dependents.remove(b);
+            }
+            factoryThread = null;
           }
-          factoryThread = null;
-          return null;
         }
+        return null;
       }
     }
 
@@ -359,11 +395,20 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
           }
         }
       } else {
-        factoryThread = null;
-        serviceInstances.put(b, s);
-        properties.notifyAll();
+        if (multiple) {
+          List<S> il = prototypeServiceInstances.get(b);
+          if (il == null) {
+            il = new LinkedList<S>();
+            prototypeServiceInstances.put(b, il);
+          }
+          il.add(s);
+        } else {
+          factoryThread = null;
+          serviceInstances.put(b, s);
+          properties.notifyAll();
+        }
       }
-      if (s != null) {
+      if (s != null && !multiple) {
         ref = dependents != null ? (Integer)dependents.get(b) : null;
         if (ref != null) {
           dependents.put(b, new Integer(ref.intValue() + 1));
@@ -390,16 +435,14 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
     final Hashtable<Bundle, Integer> d = dependents;
     if (d != null) {
       synchronized (d) {
-        int size = d.size() + ungetInProgress.size();
-        if (size > 0) {
-          final Bundle[] res =  new Bundle[size];
-          for (final Enumeration<Bundle> e = d.keys(); e.hasMoreElements(); ) {
-            res[--size] = e.nextElement();
-          }
-          for (final Bundle b : ungetInProgress) {
-            res[--size] = b;
-          }
-          return res;
+        HashSet<Bundle> bs = new HashSet<Bundle>();
+        bs.addAll(d.keySet());
+        bs.addAll(ungetInProgress);
+        if (prototypeServiceInstances != null) {
+          bs.addAll(prototypeServiceInstances.keySet());
+        }
+        if (!bs.isEmpty()) {
+          return bs.toArray(new Bundle[bs.size()]);
         }
       }
     }
@@ -415,10 +458,15 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
   boolean isUsedByBundle(Bundle b) {
     final Hashtable<Bundle, Integer> deps = dependents;
     if (deps != null) {
-      return deps.containsKey(b);
-    } else {
-      return false;
+      boolean res = deps.containsKey(b);
+      if (!res) {
+        if (prototypeServiceInstances != null) {
+          res = prototypeServiceInstances.containsKey(b);
+        }
+      }
+      return res;
     }
+    return false;
   }
 
   /**
@@ -431,46 +479,107 @@ public class ServiceRegistrationImpl<S> implements ServiceRegistration<S>
    * @return True if service was used, otherwise false.
    *
    */
-  boolean ungetService(Bundle b, boolean checkRefCounter) {
-    S serviceToRemove = null;
-    Hashtable<Bundle,Integer> deps;
+  boolean ungetService(Bundle b, boolean checkRefCounter,  S uservice) {
+    List<S> servicesToRemove = new ArrayList<S>();
+    Hashtable<Bundle,Integer> deps = null;
     BundleImpl sBundle;
+    boolean res = false;
+
     synchronized (properties) {
       if (dependents == null) {
         return false;
       }
-      final Object countInteger = dependents.get(b);
-      if (countInteger == null) {
-        return false;
+      if (scope == Constants.SCOPE_PROTOTYPE) {
+        if (uservice != null) {
+          List<S> sl = prototypeServiceInstances.get(b);
+          if (sl != null) {
+            for (Iterator<S> i = sl.iterator(); i.hasNext(); ) {
+              if (i.next() == uservice) {
+                i.remove();
+                servicesToRemove.add(uservice);
+                res = true;
+                break;
+              }
+            }
+          }
+          if (!res) {
+            throw new IllegalArgumentException("Service is not in use or not from this service reference");
+          }
+        } else if (!checkRefCounter) {
+          List<S> sl = prototypeServiceInstances.get(b);
+          if (sl != null && !sl.isEmpty()) {
+            servicesToRemove.addAll(sl);
+            sl.clear();
+            res = true;
+          }
+        }
       }
+      if (uservice == null || scope != Constants.SCOPE_PROTOTYPE) {
+        final Object countInteger = dependents.get(b);
+        if (countInteger != null) {
+          if (uservice != null) {
+            S s = scope == Constants.SCOPE_SINGLETON ? (S)service : serviceInstances.get(b);
+            if (s != uservice) {
+              throw new IllegalArgumentException("Service is not in user or not from this service reference");
+            }
+          }
 
-      final int count = ((Integer) countInteger).intValue();
-      if (checkRefCounter && count > 1) {
-        dependents.put(b, new Integer(count - 1));
-      } else {
-        synchronized (dependents) {
-          ungetInProgress.add(b);
-          dependents.remove(b);
+          final int count = ((Integer) countInteger).intValue();
+          if (checkRefCounter && count > 1) {
+            dependents.put(b, new Integer(count - 1));
+          } else {
+            synchronized (dependents) {
+              ungetInProgress.add(b);
+              dependents.remove(b);
+              deps = dependents;
+            }
+            if (scope != Constants.SCOPE_SINGLETON) {
+              S s = serviceInstances.remove(b);
+              if (s != null) {
+                servicesToRemove.add(s);
+              }
+            }
+          }
+          res = true;
         }
-        serviceToRemove = serviceInstances.remove(b);
       }
-      deps = dependents;
       sBundle = bundle;
     }
 
-    if (serviceToRemove != null) {
-      if (service instanceof ServiceFactory) {
-        try {
-          sBundle.fwCtx.perm.callUngetService(this, b, serviceToRemove);
-        } catch (final Throwable e) {
-          sBundle.fwCtx.frameworkError(sBundle, e);
-        }
+    for (S s : servicesToRemove) {
+      try {
+        sBundle.fwCtx.perm.callUngetService(this, b, s);
+      } catch (final Throwable e) {
+        sBundle.fwCtx.frameworkError(sBundle, e);
       }
     }
-    synchronized (deps) {
-      ungetInProgress.remove(b);
+    if (deps != null) {
+      synchronized (deps) {
+        ungetInProgress.remove(b);
+      }
     }
-    return true;
+    return res;
   }
 
+  ServiceReferenceDTO getDTO() {
+    ServiceReferenceDTO res = new ServiceReferenceDTO();
+    PropertiesDictionary p = properties;
+    res.id = ((Long)p.get(Constants.SERVICE_ID)).longValue();
+    res.properties = p.getDTO();
+    Bundle [] using = getUsingBundles();
+    if (using != null) {
+      res.usingBundles = new long [using.length];
+      for (int i = 0; i < using.length; i++) {
+        res.usingBundles[i] = using[i].getBundleId();
+      }
+    } else {
+      res.usingBundles = new long [0];
+    }
+    BundleImpl b = bundle;
+    if (b == null) {
+      return null;
+    }
+    res.bundle = b.id;
+    return res;
+  }
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java b/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java
index b04d284..82ae6eb 100644
--- a/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java
+++ b/osgi/framework/src/org/knopflerfish/framework/ServiceURLStreamHandlerFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -219,7 +219,7 @@ public class ServiceURLStreamHandlerFactory
         @SuppressWarnings("unchecked")
         final ServiceReference<URLStreamHandlerService>[] srl
           = (ServiceReference<URLStreamHandlerService>[]) sfw.services
-            .get(URLStreamHandlerService.class.getName(), filter, null);
+            .get(URLStreamHandlerService.class.getName(), filter, sfw.systemBundle, false);
 
         if (srl != null && srl.length > 0) {
           synchronized (wrapMap) {
diff --git a/osgi/framework/src/org/knopflerfish/framework/Services.java b/osgi/framework/src/org/knopflerfish/framework/Services.java
index b50382b..d05a6b8 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Services.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Services.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -46,6 +46,7 @@ import java.util.Set;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Constants;
 import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.PrototypeServiceFactory;
 import org.osgi.framework.ServiceEvent;
 import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceReference;
@@ -123,9 +124,14 @@ class Services {
     if (service == null) {
       throw new IllegalArgumentException("Can't register null as a service");
     }
+    String scope;
+    if (service instanceof ServiceFactory) {
+      scope = service instanceof PrototypeServiceFactory ? Constants.SCOPE_PROTOTYPE : Constants.SCOPE_BUNDLE;
+    } else {
+      scope = Constants.SCOPE_SINGLETON;
+    }
     // Check if service implements claimed classes and that they exist.
-    for (final String classe : classes) {
-      final String cls = classe;
+    for (final String cls : classes) {
       if (cls == null) {
         throw new IllegalArgumentException("Can't register as null class");
       }
@@ -144,7 +150,7 @@ class Services {
             ("Registeration of a ConditionalPermissionAdmin service is not allowed");
         }
       }
-      if (!(service instanceof ServiceFactory)) {
+      if (scope == Constants.SCOPE_SINGLETON) {
         if (!checkServiceClass(service, cls)) {
           throw new IllegalArgumentException
             ("Service object is not an instance of " + cls);
@@ -154,8 +160,8 @@ class Services {
 
     @SuppressWarnings("rawtypes")
     final ServiceRegistrationImpl<?> res =
-      new ServiceRegistrationImpl(bundle, service,
-                                  new PropertiesDictionary(properties, classes, null));
+      new ServiceRegistrationImpl(bundle, service, scope,
+                                  new PropertiesDictionary(properties, classes, null, new Long(bundle.id), scope));
     synchronized (this) {
       services.put(res, classes);
       for (final String clazz : classes) {
@@ -264,11 +270,14 @@ class Services {
    *
    * @param bundle bundle requesting reference
    * @param clazz The class name of requested service.
+   * @param doAssignableToTest whether to if the bundle that registered the service
+   * referenced by this ServiceReference and the specified bundle are both wired to
+   * same source for the registration class.
    * @return A {@link ServiceReference} object.
    */
-  synchronized ServiceReference<?> get(BundleImpl bundle, String clazz) {
+  synchronized ServiceReference<?> get(BundleImpl bundle, String clazz, boolean doAssignableToTest) {
     try {
-      final ServiceReference<?>[] srs = get(clazz, null, bundle);
+      final ServiceReference<?>[] srs = get(clazz, null, bundle, doAssignableToTest);
       if (framework.debug.service_reference) {
         framework.debug.println("get service ref " + clazz + " for bundle " + bundle.location
                                 + " = " + (srs != null ? srs[0] : null));
@@ -287,14 +296,13 @@ class Services {
    *
    * @param clazz The class name of requested service.
    * @param filter The property filter.
-   * @param bundle bundle requesting reference. can be null if doAssignableToTest is false
-   * (this is not an interface class so don't check)
-   * @param isAssignableToTest whether to if the bundle that registered the service
+   * @param bundle bundle requesting reference.
+   * @param doAssignableToTest whether to if the bundle that registered the service
    * referenced by this ServiceReference and the specified bundle are both wired to
    * same source for the registration class.
    * @return An array of {@link ServiceReference} object.
    */
-  synchronized ServiceReference<?>[] get(String clazz, String filter, BundleImpl bundle)
+  synchronized ServiceReference<?>[] get(String clazz, String filter, BundleImpl bundle, boolean doAssignableToTest)
     throws InvalidSyntaxException {
     Iterator<ServiceRegistrationImpl<?>> s;
     LDAPExpr ldap = null;
@@ -341,7 +349,7 @@ class Services {
         ldap = new LDAPExpr(filter);
       }
     }
-    final Collection<ServiceReference<?>> res
+    Collection<ServiceReference<?>> res
       = new ArrayList<ServiceReference<?>>();
     while (s.hasNext()) {
       final ServiceRegistrationImpl<?> sr = s.next();
@@ -350,7 +358,7 @@ class Services {
         continue; //sr not part of returned set
       }
       if (filter == null || ldap.evaluate(sr.getProperties(), false)) {
-        if (bundle != null) {
+        if (doAssignableToTest) {
           final String[] classes = services.get(sr);
           for (int i = 0; i < classes.length; i++) {
             if (!sri.isAssignableTo(bundle, classes[i])){
@@ -367,12 +375,19 @@ class Services {
     if (res.isEmpty()) {
       return null;
     } else {
-      if (bundle != null) {
+      ArrayList<ServiceReference<?>> allSaved = null;
+      if (bundle == framework.systemBundle) {
+        allSaved = new ArrayList<ServiceReference<?>>(res);
+      }
+      if (doAssignableToTest) {
         framework.serviceHooks.filterServiceReferences(bundle.bundleContext,
                                                 clazz, filter, false, res);
       } else {
         framework.serviceHooks.filterServiceReferences(null, clazz, filter, true, res);
       }
+      if (allSaved != null) {
+        res = allSaved;
+      }
       if (res.isEmpty()) {
         return null;
       } else {
@@ -435,6 +450,16 @@ class Services {
   }
 
 
+  /**
+   * Get all services registered.
+   *
+   * @return A set of {@link ServiceRegistration} objects
+   */
+  synchronized Set<ServiceRegistrationImpl<?>> getAllRegistered() {
+    return new HashSet<ServiceRegistrationImpl<?>>(services.keySet());
+  }
+
+
   static final Util.Comparator<ServiceRegistrationImpl<?>,ServiceRegistrationImpl<?>> sComp
   = new Util.Comparator<ServiceRegistrationImpl<?>, ServiceRegistrationImpl<?>>() {
       /**
diff --git a/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java b/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java
index c7682f7..00fd29e 100644
--- a/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java
+++ b/osgi/framework/src/org/knopflerfish/framework/StartLevelController.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,7 +35,6 @@
 package org.knopflerfish.framework;
 
 import java.io.File;
-import java.util.List;
 import java.util.Vector;
 
 import org.osgi.framework.Bundle;
@@ -46,6 +45,8 @@ import org.osgi.framework.ServiceFactory;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.framework.startlevel.BundleStartLevel;
 import org.osgi.framework.startlevel.FrameworkStartLevel;
+import org.osgi.framework.startlevel.dto.BundleStartLevelDTO;
+import org.osgi.framework.startlevel.dto.FrameworkStartLevelDTO;
 import org.osgi.service.startlevel.StartLevel;
 
 
@@ -66,18 +67,15 @@ public class StartLevelController
   final static int START_MIN = 0;
   final static int START_MAX = Integer.MAX_VALUE;
 
-  final static String LEVEL_FILE = "currentlevel";
   final static String INITIAL_LEVEL_FILE = "initiallevel";
 
   Thread        wc;
-  long          wcDelay  = 2000;
   boolean       bRun     = false;
-  Queue<Runnable> jobQueue = new Queue<Runnable>(100);
+  Queue<Runnable> jobQueue = new Queue<Runnable>(0);
 
   int currentLevel     = 0;
   int initStartLevel   = 1;
   int targetStartLevel = currentLevel;
-  boolean acceptChanges = true;
 
   final FrameworkContext fwCtx;
 
@@ -97,6 +95,14 @@ public class StartLevelController
 
     readOnly = fwCtx.props.getBooleanProperty(FWProps.READ_ONLY_PROP);
     storage = Util.getFileStorage(fwCtx, "startlevel", !readOnly);
+
+    // Create first job to goto beginning start-level
+    setStartLevel0(-1, false);
+ 
+    // restoreState just reads from persistent storage
+    // open() needs to be called to actually do the work
+    // This is done after framework has been launched.
+    restoreState();
   }
 
   void open() {
@@ -104,18 +110,15 @@ public class StartLevelController
       fwCtx.debug.println("startlevel: open");
     }
 
-    final Runnable lastJob = jobQueue.lastElement();
+    final Runnable beginJob = jobQueue.firstElement();
     wc = new Thread(fwCtx.threadGroup, this, "startlevel job");
-    synchronized (lastJob) {
+    synchronized (beginJob) {
       bRun = true;
       wc.start();
-      if (!acceptChanges) {
-        acceptChanges = true;
-      }
       // Wait for the last of the jobs scheduled before starting the
       // framework to complete before return
       try {
-        lastJob.wait();
+        beginJob.wait();
       } catch (final InterruptedException _ignore) { }
     }
   }
@@ -129,44 +132,13 @@ public class StartLevelController
    * <p>Note that {@link open()} needs to be called for any work to
    * be done.</p>
    */
-  void restoreState() {
+  private void restoreState() {
     if (fwCtx.debug.startlevel) {
       fwCtx.debug.println("startlevel: restoreState");
     }
-    if (storage != null) {
-      // Set the target start level to go to when open() is called.
-      int startLevel = -1;
-      try {
-        final String s = Util.getContent(new File(storage, LEVEL_FILE));
-        if (s != null) {
-          startLevel = Integer.parseInt(s);
-          if (fwCtx.debug.startlevel) {
-            fwCtx.debug.println("startlevel: restored level " + startLevel);
-          }
-        }
-      } catch (final Exception _ignored) { }
-      if (startLevel == -1) {
-        // No stored start level to restore, try the beginning start level
-        final String sBeginningLevel
-          = fwCtx.props.getProperty(Constants.FRAMEWORK_BEGINNING_STARTLEVEL);
-        try {
-          startLevel = Integer.parseInt(sBeginningLevel);
-          if (fwCtx.debug.startlevel) {
-            fwCtx.debug.println("startlevel: beginning level " + startLevel);
-          }
-        } catch (final NumberFormatException nfe) {
-          fwCtx.debug.printStackTrace("Invalid number '" + sBeginningLevel +
-                                      "' in value of property named '"
-                                      + Constants.FRAMEWORK_BEGINNING_STARTLEVEL
-                                      + "'.", nfe);
-        }
-      }
-      if (startLevel<0) {
-        startLevel = 1;
-      }
-      setStartLevel0(startLevel, false, false, true);
 
-      // Restore the initial bundle start level
+    // Restore the initial bundle start level
+    if (storage != null) {
       try {
         final String s = Util.getContent(new File(storage, INITIAL_LEVEL_FILE));
         if (s != null) {
@@ -177,45 +149,32 @@ public class StartLevelController
   }
 
 
-  void close() {
-    if (fwCtx.debug.startlevel) {
-      fwCtx.debug.println("*** closing startlevel service");
-    }
-
-    bRun = false;
-    jobQueue.insert(new Runnable() {
-        public void run() {
-          jobQueue.close();
-        }
-      });
-    if(wc != null) {
-      try {
-        wc.join(wcDelay * 2);
-      } catch (final Exception ignored) {
-      }
-      wc = null;
-    }
-  }
-
   void shutdown() {
-    acceptChanges = false;
     synchronized (wc) {
-      setStartLevel0(0, false, true, false);
-      while (currentLevel > 0) {
-        try { wc.wait(); } catch (final Exception e) {}
+      setStartLevel0(0, false);
+      while (bRun) {
+        try {
+          wc.join();
+        } catch (InterruptedException _ignore) { }
       }
     }
-    close();
+    if (fwCtx.debug.startlevel) {
+      fwCtx.debug.println("*** closed startlevel service");
+    }
   }
 
   public void run() {
     while(bRun) {
       try {
-        final Runnable job = jobQueue.removeWait((float)(wcDelay / 1000.0));
+        final Runnable job = jobQueue.remove();
         if (job != null) {
           job.run();
           synchronized (job) {
-            job.notify();
+            if (currentLevel == 0) {
+              bRun = false;
+              jobQueue.close();
+            }
+            job.notifyAll();
           }
         }
       } catch (final Exception ignored) {
@@ -236,21 +195,20 @@ public class StartLevelController
 
   void setStartLevel(final int startLevel, final FrameworkListener... listeners)
   {
+    if (!bRun) {
+      throw new IllegalStateException("StartLevelService isn't running yet");
+    }
     fwCtx.perm.checkStartLevelAdminPerm();
     if (startLevel <= 0) {
       throw new IllegalArgumentException("Initial start level must be > 0, is "
                                          + startLevel);
     }
-    if (acceptChanges) {
-      // No start-level changed events if called before open() or after close().
-      setStartLevel0(startLevel, bRun, false, true, listeners);
-    }
+    // No start-level changed events if called before open() or after close().
+    setStartLevel0(startLevel, true, listeners);
   }
 
   private void setStartLevel0(final int startLevel,
                               final boolean notifyFw,
-                              final boolean notifyWC,
-                              final boolean storeLevel,
                               final FrameworkListener... listeners)
   {
     if (fwCtx.debug.startlevel) {
@@ -260,7 +218,26 @@ public class StartLevelController
     jobQueue.insert(new Runnable() {
       public void run() {
         final int sl = bCompat ? 1 : startLevel;
-        targetStartLevel = sl;
+
+        // Set the beginning start level to go to when open() is called.
+        if (sl == -1) {
+          final String sBeginningLevel
+            = fwCtx.props.getProperty(Constants.FRAMEWORK_BEGINNING_STARTLEVEL);
+          try {
+            targetStartLevel = Integer.parseInt(sBeginningLevel);
+          } catch (final NumberFormatException nfe) {
+            fwCtx.debug.printStackTrace("Invalid number '" + sBeginningLevel +
+                                        "' in value of property named '"
+                                        + Constants.FRAMEWORK_BEGINNING_STARTLEVEL
+                                        + "'.", nfe);
+            targetStartLevel = 1;
+          }
+          if (fwCtx.debug.startlevel) {
+            fwCtx.debug.println("startlevel: beginning level " + targetStartLevel);
+          }
+        } else {
+          targetStartLevel = sl;
+        }
 
         while (targetStartLevel > currentLevel) {
           increaseStartLevel();
@@ -270,16 +247,6 @@ public class StartLevelController
           decreaseStartLevel();
         }
 
-        // Skip level save in mem storage since bundle levels
-        // won't be saved anyway
-        if (storeLevel && storage != null && !readOnly) {
-          try {
-            Util.putContent(new File(storage, LEVEL_FILE),
-                            Integer.toString(currentLevel));
-          } catch (final Exception e) {
-            e.printStackTrace();
-          }
-        }
         if (notifyFw) {
           final FrameworkEvent event
             = new FrameworkEvent(FrameworkEvent.STARTLEVEL_CHANGED,
@@ -287,11 +254,6 @@ public class StartLevelController
           // Send event to all registered framework listeners
           fwCtx.listeners.frameworkEvent(event, listeners);
         }
-        if (notifyWC && wc != null) {
-          synchronized (wc) {
-            wc.notifyAll();
-          }
-        }
       }
     });
   }
@@ -311,10 +273,9 @@ public class StartLevelController
       }
       final Vector<BundleImpl> set = new Vector<BundleImpl>();
 
-      final List<BundleImpl> bundles = fwCtx.bundles.getBundles();
-
-      for (final BundleImpl bs : bundles) {
-        if (canStart(bs)) {
+      for (final BundleImpl bs : fwCtx.bundles.getBundles()) {
+        BundleArchive archive = bs.current().archive;
+        if (archive != null) {
           if (bs.getStartLevel() == currentLevel) {
             if (bs.current().archive.getAutostartSetting()!=-1) {
               set.addElement(bs);
@@ -327,21 +288,24 @@ public class StartLevelController
 
       for (int i = 0; i < set.size(); i++) {
         final BundleImpl bs = set.elementAt(i);
-        try {
-          if (bs.current().archive.getAutostartSetting()!=-1) {
-            if (fwCtx.debug.startlevel) {
-              fwCtx.debug.println("startlevel: start " + bs);
-            }
-            int startOptions = Bundle.START_TRANSIENT;
-            if (isBundleActivationPolicyUsed(bs.current().archive)) {
-              startOptions |= Bundle.START_ACTIVATION_POLICY;
+        BundleArchive archive = bs.current().archive;
+        if (archive != null) {
+          try {
+            if (bs.current().archive.getAutostartSetting()!=-1) {
+              if (fwCtx.debug.startlevel) {
+                fwCtx.debug.println("startlevel: start " + bs);
+              }
+              int startOptions = Bundle.START_TRANSIENT;
+              if (isBundleActivationPolicyUsed(bs.current().archive)) {
+                startOptions |= Bundle.START_ACTIVATION_POLICY;
+              }
+              bs.start(startOptions);
             }
-            bs.start(startOptions);
+          } catch (final IllegalStateException ignore) {
+            // Tried to start an uninstalled bundle, skip
+          } catch (final Exception e) {
+            fwCtx.frameworkError(bs, e);
           }
-        } catch (final IllegalStateException ignore) {
-          // Tried to start an uninstalled bundle, skip
-        } catch (final Exception e) {
-          fwCtx.frameworkError(bs, e);
         }
       }
     }
@@ -354,9 +318,7 @@ public class StartLevelController
 
       final Vector<BundleImpl> set = new Vector<BundleImpl>();
 
-      final List<BundleImpl> bundles = fwCtx.bundles.getBundles();
-
-      for (final BundleImpl bs : bundles) {
+      for (final BundleImpl bs : fwCtx.bundles.getBundles()) {
         if (bs.getState() == Bundle.ACTIVE ||
             (bs.getState() == Bundle.STARTING && bs.current().lazyActivation)) {
           if (bs.getStartLevel() == currentLevel + 1) {
@@ -426,11 +388,13 @@ public class StartLevelController
 
     fwCtx.perm.callSetStartLevel(bundle, bCompat ? 1 : startLevel);
 
-    jobQueue.insert(new Runnable() {
-      public void run() {
-        syncStartLevel(bundle);
-      }
-    });
+    if (bRun) {
+      jobQueue.insert(new Runnable() {
+        public void run() {
+          syncStartLevel(bundle);
+        }
+      });
+    }
   }
 
 
@@ -454,7 +418,7 @@ public class StartLevelController
               }
               bs.start(startOptions);
             }
-          } else if (bs.getStartLevel() > currentLevel) {
+          } else {
             if ((bs.getState() & (Bundle.ACTIVE|Bundle.STARTING)) != 0) {
               if (fwCtx.debug.startlevel) {
                 fwCtx.debug.println("startlevel: stop " + bs);
@@ -584,7 +548,7 @@ public class StartLevelController
 
   }
 
-  BundleStartLevel bundleStartLevel(final BundleImpl bi) {
+  BundleStartLevelImpl bundleStartLevel(final BundleImpl bi) {
     return new BundleStartLevelImpl(this, bi);
   }
 
@@ -624,6 +588,16 @@ public class StartLevelController
       return st.isBundleActivationPolicyUsed(getBundleArchive());
     }
 
+    BundleStartLevelDTO getDTO()
+    {
+      BundleStartLevelDTO res = new BundleStartLevelDTO();
+      res.bundle = bi.id;
+      res.startLevel = getStartLevel();
+      res.activationPolicyUsed = isActivationPolicyUsed();
+      res.persistentlyStarted = isPersistentlyStarted();
+      return res;
+    }
+
     private BundleArchive getBundleArchive() {
       final BundleArchive res = bi.current().archive;
       if (res == null && bi.id != 0) {
@@ -634,9 +608,9 @@ public class StartLevelController
 
   }
 
-  FrameworkStartLevel frameworkStartLevel(final BundleImpl bi)
+  FrameworkStartLevelImpl frameworkStartLevel()
   {
-    return new FrameworkStartLevelImpl(this, bi);
+    return new FrameworkStartLevelImpl(this, fwCtx.systemBundle);
   }
 
   static class FrameworkStartLevelImpl
@@ -676,5 +650,13 @@ public class StartLevelController
     {
       st.setInitialBundleStartLevel(startlevel);
     }
+
+    FrameworkStartLevelDTO getDTO()
+    {
+      FrameworkStartLevelDTO res = new FrameworkStartLevelDTO();
+      res.startLevel = getStartLevel();
+      res.initialBundleStartLevel = getInitialBundleStartLevel();
+      return res;
+    }
   }
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/SystemBundle.java b/osgi/framework/src/org/knopflerfish/framework/SystemBundle.java
index 9af63e6..02db0ed 100644
--- a/osgi/framework/src/org/knopflerfish/framework/SystemBundle.java
+++ b/osgi/framework/src/org/knopflerfish/framework/SystemBundle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -45,6 +45,7 @@ import java.io.PrintStream;
 import java.io.Reader;
 import java.lang.reflect.Method;
 import java.net.URL;
+import java.util.ArrayList;
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.HashMap;
@@ -54,19 +55,28 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.SortedSet;
+import java.util.TreeMap;
 import java.util.TreeSet;
 import java.util.Vector;
 
 import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
 import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.FrameworkListener;
 import org.osgi.framework.Version;
 import org.osgi.framework.VersionRange;
+import org.osgi.framework.dto.BundleDTO;
+import org.osgi.framework.dto.FrameworkDTO;
+import org.osgi.framework.dto.ServiceReferenceDTO;
 import org.osgi.framework.launch.Framework;
 import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
+import org.osgi.framework.namespace.NativeNamespace;
 import org.osgi.framework.startlevel.FrameworkStartLevel;
+import org.osgi.framework.startlevel.dto.FrameworkStartLevelDTO;
 import org.osgi.framework.wiring.FrameworkWiring;
 
 /**
@@ -117,6 +127,7 @@ public class SystemBundle extends BundleImpl implements Framework {
 
   private FrameworkWiringImpl fwWiring;
 
+  private TreeMap<BundleImpl, BundleActivator> extensions = new TreeMap<BundleImpl, BundleActivator>();;
 
   /**
    * Construct the System Bundle handle.
@@ -130,10 +141,20 @@ public class SystemBundle extends BundleImpl implements Framework {
   /**
    * Initialize this framework.
    *
-   * @see org.osgi.framework.Framework#init
+   * @see org.osgi.framework.launch.Framework#init()
    */
   @Override
   public void init() throws BundleException {
+    init(new FrameworkListener [0]);
+  }
+
+  /**
+   * Initialize this framework and call listeners.
+   *
+   * @see org.osgi.framework.launch.Framework#init(FrameworkListener...)
+   */
+  @Override
+  public void init(FrameworkListener... listeners) throws BundleException {
     secure.checkExecuteAdminPerm(this);
 
     synchronized (lock) {
@@ -141,6 +162,7 @@ public class SystemBundle extends BundleImpl implements Framework {
 
       switch (state) {
       case INSTALLED:
+        state = RESOLVED;
       case RESOLVED:
         break;
       case STARTING:
@@ -149,7 +171,7 @@ public class SystemBundle extends BundleImpl implements Framework {
       default:
         throw new IllegalStateException("INTERNAL ERROR, Illegal state, " + state);
       }
-      doInit();
+      doInit(listeners);
     }
   }
 
@@ -231,7 +253,7 @@ public class SystemBundle extends BundleImpl implements Framework {
             if (stopEvent != null) {
               break;
             }
-          } catch (final InterruptedException _) {
+          } catch (final InterruptedException _ignore) {
           }
           if (timeout > 0) {
             timeout = timeout - (Util.timeMillis() - st);
@@ -389,10 +411,16 @@ public class SystemBundle extends BundleImpl implements Framework {
       res = fwWiring;
     } else if (FrameworkStartLevel.class.equals(type)) {
       if (fwCtx.startLevelController != null) {
-        res = fwCtx.startLevelController.frameworkStartLevel(this);
+        res = fwCtx.startLevelController.frameworkStartLevel();
       }
     } else if (Framework.class.equals(type)) {
       res = this;
+    } else if (FrameworkStartLevelDTO.class.equals(type)) {
+      if (fwCtx.startLevelController != null) {
+        res = fwCtx.startLevelController.frameworkStartLevel().getDTO();
+      }
+    } else if (FrameworkDTO.class.equals(type)) {
+      res = getFrameworkDTO();
     } else {
       // TODO filter which adaptation we can do?!
       res = adaptSecure(type);
@@ -439,28 +467,29 @@ public class SystemBundle extends BundleImpl implements Framework {
 
 
   /**
-   * Adds an bundle as an extension that will be included in the boot class path
-   * on restart.
-   * @throws BundleException Should not happened.
+   * Adds an bundle as an extension.
+   * TODO, check that bootclasspath extensions really are on the
+   * bootclasspath.
    */
   void attachExtension(BundleGeneration extension) throws BundleException  {
     if (extension.isBootClassPathExtension()) {
       // if we attach during startup, we assume that bundle is in BCP.
       if (getClassLoader() == null) {
-        current().attachFragment(extension);
+        current().attachFragment(extension, false);
       } else {
-        throw new UnsupportedOperationException(
-            "Bootclasspath extension can not be dynamicly activated");
+        throw new BundleException("Bootclasspath extension can not be dynamicly activated", BundleException.UNSUPPORTED_OPERATION);
       }
     } else {
+      if (extensions.containsKey(extension.bundle)) {
+        throw new BundleException("Framework extension updates can not be resolved", BundleException.STATECHANGE_ERROR);
+      }
       try {
         addClassPathURL(new URL("file:" + extension.archive.getJarLocation()));
-        current().attachFragment(extension);
-        handleExtensionActivator(extension);
       } catch (final Exception e) {
-        throw new UnsupportedOperationException(
-            "Framework extension could not be dynamicly activated, " + e);
+        throw new BundleException("Framework extension could not be dynamicly activated", BundleException.UNSUPPORTED_OPERATION, e);
       }
+      current().attachFragment(extension, false);
+      extensions.put(extension.bundle, handleExtensionActivator(extension));
     }
   }
 
@@ -520,37 +549,50 @@ public class SystemBundle extends BundleImpl implements Framework {
         fwCtx.props.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES));
     if (sp.length() == 0) {
       // Try the system packages file
-      addSysPackagesFromFile(sp, fwCtx.props.getProperty(FWProps.SYSTEM_PACKAGES_FILE_PROP), null);
-      if (sp.length() == 0) {
+      String sysPkgFile = fwCtx.props.getProperty(FWProps.SYSTEM_PACKAGES_FILE_PROP);
+      if (sysPkgFile.length() != 0) {
+        addSysPackagesFromFile(sp, sysPkgFile, null);
+      } else {
         // Try the system packages base property.
         sp.append(fwCtx.props.getProperty(FWProps.SYSTEM_PACKAGES_BASE_PROP));
 
         if (sp.length() == 0) {
-          // use default set of packages.
-          String jver = fwCtx.props.getProperty(FWProps.SYSTEM_PACKAGES_VERSION_PROP);
-
-          Version jv;
-          if (jver == null) {
-            jv = new Version(FWProps.javaVersionMajor, FWProps.javaVersionMinor, 0);
+          if (FWProps.androidApiLevel >= 0) {
+            addSysPackagesFromResource(sp, "android_packages.txt", new Version(FWProps.androidApiLevel, 0, 0));
           } else {
-            try {
-              jv = new Version(jver);
-            } catch (IllegalArgumentException _ignore){
-              if (fwCtx.debug.framework) {
-                fwCtx.debug.println("No built in list of Java packages to be exported "
-                    + "by the system bundle for JRE with version '" + jver
-                    + "', using the list for 1.7.");
+            // use default set of packages.
+            String jver = fwCtx.props.getProperty(FWProps.SYSTEM_PACKAGES_VERSION_PROP);
+
+            Version jv = new Version(1, 7, 0);
+            if (jver == null) {
+              if (FWProps.javaVersionMajor >= 0) {
+                int minor = FWProps.javaVersionMinor > 0 ? FWProps.javaVersionMinor : 0;
+                jv = new Version(FWProps.javaVersionMajor, minor, 0);
+              } else {
+                if (fwCtx.debug.framework) {
+                  fwCtx.debug.println("No built in list of Java packages to be exported "
+                      + "by the system bundle for JRE with unknown version, using the list for " + jv);
+                }
+              }
+            } else {
+              try {
+                jv = new Version(jver);
+              } catch (IllegalArgumentException _ignore){
+                if (fwCtx.debug.framework) {
+                  fwCtx.debug.println("No built in list of Java packages to be exported "
+                      + "by the system bundle for JRE with version '" + jver
+                      + "', using the list for " + jv);
+                }
               }
-              jv = new Version(1,7,0);
             }
+            addSysPackagesFromResource(sp, "packages.txt", jv);
           }
-          addSysPackagesFromFile(sp, "packages.txt", jv);
         } else {
           if (sp.charAt(sp.length() - 1) == ',') {
             sp.deleteCharAt(sp.length() - 1);
           }
         }
-        addSysPackagesFromFile(sp, "exports", null);
+        addSysPackagesFromResource(sp, "exports", null);
       }
     }
     final String extraPkgs = fwCtx.props.getProperty(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA);
@@ -586,6 +628,7 @@ public class SystemBundle extends BundleImpl implements Framework {
     }
     gen.setWired();
     fwWiring = new FrameworkWiringImpl(fwCtx);
+    state = STARTING;
   }
 
 
@@ -603,6 +646,27 @@ public class SystemBundle extends BundleImpl implements Framework {
         }
       }
     }
+    exportPackageString = null;
+    provideCapabilityString = null;
+    generations.clear();
+    fwWiring = null;
+  }
+
+
+  BundleCapabilityImpl getNativeCapability() {
+    return current().getDeclaredCapabilities().get(NativeNamespace.NATIVE_NAMESPACE).get(0);
+  }
+
+
+  void extensionCallStart(BundleImpl b) {
+    if (b != null) {
+      callBundleActivatorStart(b);
+    } else {
+      BundleImpl[] bs = extensions.keySet().toArray(new BundleImpl[extensions.size()]);
+      for (BundleImpl be : bs) {
+        callBundleActivatorStart(be);
+      }
+    }
   }
 
   //
@@ -612,63 +676,92 @@ public class SystemBundle extends BundleImpl implements Framework {
   /**
    *
    */
-  private void doInit() throws BundleException {
-    state = STARTING;
+  private void doInit(FrameworkListener... listeners) throws BundleException {
     bootClassPathHasChanged = false;
-    fwCtx.init();
+    fwCtx.init(listeners);
   }
 
 
   /**
-   * Read a file with package names and add them to a stringbuffer. The file is
-   * searched for in the current working directory, then on the class path.
+   * Read a file with package names and add them to a stringbuffer.
    * Each line can have a java version guard at the end with format <tt>!VersionRange</tt>.
    *
    * @param sp Buffer to append the exports to. Same format as the
    *          Export-Package manifest header.
-   * @param sysPkgFile Name of the file to load packages to be exported from.
+   * @param sysPkgFile File name.
    * @param guard Version to test version guarded lines against.
    */
   private void addSysPackagesFromFile(StringBuffer sp, String sysPkgFile, Version guard) {
-    if (null == sysPkgFile || 0 == sysPkgFile.length()) {
-      return;
-    }
-
     if (fwCtx.debug.resolver) {
       fwCtx.debug.println("Will add system packages from file " + sysPkgFile);
     }
-
-    URL url = null;
     final File f = new File(new File(sysPkgFile).getAbsolutePath());
 
     if (!f.exists() || !f.isFile()) {
-      url = SystemBundle.class.getResource(sysPkgFile);
-      if (null == url) {
-        url = SystemBundle.class.getResource("/" + sysPkgFile);
+      throw new IllegalArgumentException("Could not add system bundle package exports from '"
+                                         + sysPkgFile + "', file not found.");
+    } else {
+      try {
+        addSysPackagesFromStream(sp, new FileReader(f), guard);
+      } catch (final IOException e) {
+        throw new IllegalArgumentException("Failed to read " + sysPkgFile + ": " + e);
+      } catch (final IllegalArgumentException e) {
+        throw new  IllegalArgumentException("Failed to parse " + sysPkgFile + ": " + e);
       }
-      if (null == url) {
-        if (fwCtx.debug.resolver) {
-          fwCtx.debug.println("Could not add system bundle package exports from '" + sysPkgFile
-              + "', file not found.");
-        }
+      if (fwCtx.debug.resolver) {
+        fwCtx.debug.println("\treading from " + f.getAbsolutePath());
       }
     }
-    BufferedReader in = null;
-    try {
-      Reader reader = null;
-      String source = null;
+  }
 
-      if (null == url) {
-        reader = new FileReader(f);
-        source = f.getAbsolutePath().toString();
-      } else {
-        reader = new InputStreamReader(url.openStream());
-        source = url.toString();
+
+  /**
+   * Read a resource with package names and add them to a stringbuffer.
+   * Each line can have a java version guard at the end with format <tt>!VersionRange</tt>.
+   *
+   * @param sp Buffer to append the exports to. Same format as the
+   *          Export-Package manifest header.
+   * @param sysPkgResource Resource name.
+   * @param guard Version to test version guarded lines against.
+   */
+  private void addSysPackagesFromResource(StringBuffer sp, String sysPkgResource, Version guard) {
+    if (fwCtx.debug.resolver) {
+      fwCtx.debug.println("Will add system packages from resource " + sysPkgResource);
+    }
+    URL url = SystemBundle.class.getResource(sysPkgResource);
+    if (null == url) {
+      url = SystemBundle.class.getResource("/" + sysPkgResource);
+    }
+    if (null != url) {
+      try {
+        addSysPackagesFromStream(sp, new InputStreamReader(url.openStream()), guard);
+      } catch (final IOException e) {
+        throw new IllegalArgumentException("Failed to read resource " + sysPkgResource + ": " + e);
+      } catch (final IllegalArgumentException e) {
+        throw new  IllegalArgumentException("Failed to parse resource " + sysPkgResource + ": " + e);
       }
-      in = new BufferedReader(reader);
       if (fwCtx.debug.resolver) {
-        fwCtx.debug.println("\treading from " + source);
+        fwCtx.debug.println("\treading from " + url);
       }
+    }
+  }
+
+
+  /**
+   * Read a stream with package names and add them to a stringbuffer.
+   * Each line can have a java version guard at the end with format <tt>!VersionRange</tt>.
+   *
+   * @param sp Buffer to append the exports to. Same format as the
+   *          Export-Package manifest header.
+   * @param reader Reader for stream to load packages to be exported from.
+   * @param guard Version to test version guarded lines against.
+   */
+  private void addSysPackagesFromStream(StringBuffer sp, Reader reader, Version guard)
+    throws IOException
+  {
+    BufferedReader in = null;
+    try {
+      in = new BufferedReader(reader);
 
       String line;
       for (line = in.readLine(); line != null; line = in.readLine()) {
@@ -676,14 +769,12 @@ public class SystemBundle extends BundleImpl implements Framework {
         if (line.length() > 0 && !line.startsWith("#")) {
           int idx = line.lastIndexOf('!');
           if (idx != -1) {
-            try {
-              if (new VersionRange(line.substring(idx +1)).includes(guard)) {
-                line = line.substring(0, idx);
-              } else {
-                // Not in version range skip.
-                continue;
-              }
-            } catch (IllegalArgumentException _ignore) { }
+            if (new VersionRange(line.substring(idx +1)).includes(guard)) {
+              line = line.substring(0, idx);
+            } else {
+              // Not in version range skip.
+              continue;
+            }
           }
           if (sp.length() > 0) {
             sp.append(",");
@@ -691,8 +782,6 @@ public class SystemBundle extends BundleImpl implements Framework {
           sp.append(line);
         }
       }
-    } catch (final IOException e) {
-      throw new IllegalArgumentException("Failed to read " + sysPkgFile + ": " + e);
     } finally {
       try {
         in.close();
@@ -913,6 +1002,7 @@ public class SystemBundle extends BundleImpl implements Framework {
         stopAllBundles();
         saveClasspaths();
       }
+      extensionCallStop();
       synchronized (lock) {
         fwCtx.uninit();
         shutdownThread = null;
@@ -970,10 +1060,8 @@ public class SystemBundle extends BundleImpl implements Framework {
       }
     }
 
-    final List<BundleImpl> allBundles = fwCtx.bundles.getBundles();
-
     // Set state to INSTALLED and purge any unrefreshed bundles
-    for (final BundleImpl bundleImpl : allBundles) {
+    for (final BundleImpl bundleImpl : fwCtx.bundles.getBundles()) {
       final BundleImpl b = bundleImpl;
       if (b.getBundleId() != 0) {
         b.setStateInstalled(false);
@@ -1041,17 +1129,79 @@ public class SystemBundle extends BundleImpl implements Framework {
    *
    * @param extension the extension bundle to process.
    */
-  private void handleExtensionActivator(final BundleGeneration extension) {
+  private BundleActivator handleExtensionActivator(final BundleGeneration extension) throws BundleException {
     String extActivatorName =
-      extension.archive.getAttribute("Extension-Activator");
+      extension.archive.getAttribute(Constants.EXTENSION_BUNDLE_ACTIVATOR);
     extActivatorName = null!=extActivatorName ? extActivatorName.trim() : null;
 
-    if (null!=extActivatorName && extActivatorName.length()>0) {
-      fwCtx.log("Activating extension: " + extension.symbolicName
+    if (null != extActivatorName && extActivatorName.length() > 0) {
+      fwCtx.log("Create bundle activator for extension: " + extension.symbolicName
                 + ":" +extension.version + " using: " +extActivatorName);
-      fwCtx.activateExtension(extension);
+      try {
+        final Class<BundleActivator> c = (Class<BundleActivator>)Class.forName(extActivatorName);
+        return c.newInstance();
+      } catch (Throwable t) {
+        final String msg = "Failed to instanciate extension activator " + extActivatorName + ", " + extension.bundle;
+        fwCtx.log(msg, t);
+        throw new BundleException(msg, BundleException.ACTIVATOR_ERROR, t);
+      }
+    }
+    return null;
+  }
+
+
+  private void callBundleActivatorStart(BundleImpl b) {
+    BundleActivator ba = extensions.get(b);
+    if (ba != null) {
+      if (fwCtx.debug.framework) {
+        fwCtx.debug.println("Call extension bundle start: " + b);
+      }
+      try {
+        ba.start(bundleContext);
+      } catch (final Throwable t) {
+        extensions.put(b, null);
+        final String msg = "Failed to start framework extension, " + b;
+        fwCtx.frameworkError(b, new BundleException(msg, BundleException.ACTIVATOR_ERROR, t));
+      }
+    }
+  }
+
+
+  private void extensionCallStop() {
+    BundleImpl[] bs = extensions.keySet().toArray(new BundleImpl[extensions.size()]);
+    for (int i = bs.length - 1; i >= 0; i--) {
+      if (fwCtx.debug.framework) {
+        fwCtx.debug.println("Call extension bundle stop: " + bs[i]);
+      }
+      BundleActivator ba = extensions.get(bs[i]);
+      if (ba != null) {
+        try {
+          ba.stop(bundleContext);
+        } catch (final Throwable t) {
+          final String msg = "Failed to stop framework extension, " + bs[i];
+          fwCtx.frameworkError(bs[i], new BundleException(msg, BundleException.ACTIVATOR_ERROR, t));
+        }
+      }
     }
+    extensions.clear();
   }
 
 
+  private FrameworkDTO getFrameworkDTO() {
+    FrameworkDTO res = new FrameworkDTO();
+    res.bundles = new ArrayList<BundleDTO>();
+    for (BundleImpl bi : fwCtx.bundles.getBundles()) {
+      res.bundles.add(bi.getDTO());
+    }
+    res.properties = fwCtx.props.getFWProperties();
+    res.services = new ArrayList<ServiceReferenceDTO>();
+    for (ServiceRegistrationImpl sri : fwCtx.services.getAllRegistered()) {
+      ServiceReferenceDTO srdto = sri.getDTO();
+      if (srdto != null) {
+        res.services.add(srdto);
+      }
+    }
+    return res;
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/Util.java b/osgi/framework/src/org/knopflerfish/framework/Util.java
index 5eeef4b..8f369a7 100644
--- a/osgi/framework/src/org/knopflerfish/framework/Util.java
+++ b/osgi/framework/src/org/knopflerfish/framework/Util.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -58,6 +58,8 @@ import java.util.Vector;
 
 import org.osgi.framework.Constants;
 import org.osgi.framework.Version;
+import org.osgi.dto.DTO;
+
 
 public class Util {
 
@@ -1306,4 +1308,37 @@ public class Util {
     }
   }
 
+  public static Map<String, Object> safeDTOMap(Map<String, Object> m) {
+    Map<String, Object> res = new HashMap<String, Object>();
+    for (Map.Entry<String, Object> e : m.entrySet()) {
+      res.put(e.getKey(), safeDTOObject(e.getValue()));
+    }
+    return res;
+  }
+
+  public static Object safeDTOObject(Object val) {
+    Class c = val.getClass();
+    Object res = val;
+    if (c.isArray()) {
+      if (!validDTOType(c.getComponentType())) {
+        Object [] oa = (Object[])val;
+        String [] sa = new String [oa.length];
+        for (int i = 0; i < sa.length; i++) {
+          sa[i] = oa[i].toString();
+        }
+        res = sa;
+      }
+    } else if (!validDTOType(c)) {
+      res = val.toString();
+    }
+    return res;
+  }
+
+  public static boolean validDTOType(Class c) {
+    return c == String.class || c == Boolean.class || 
+      (c.isPrimitive() && c != Boolean.TYPE && c != Character.TYPE) ||
+      Number.class.isAssignableFrom(c) ||
+      DTO.class.isAssignableFrom(c);
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/WeavingHooks.java b/osgi/framework/src/org/knopflerfish/framework/WeavingHooks.java
index b2ea139..a4a8ae5 100644
--- a/osgi/framework/src/org/knopflerfish/framework/WeavingHooks.java
+++ b/osgi/framework/src/org/knopflerfish/framework/WeavingHooks.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2013, KNOPFLERFISH project
+ * Copyright (c) 2013-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,7 @@ package org.knopflerfish.framework;
 import java.security.ProtectionDomain;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 import java.util.ListIterator;
@@ -46,6 +47,7 @@ import org.osgi.framework.ServiceReference;
 import org.osgi.framework.hooks.weaving.WeavingException;
 import org.osgi.framework.hooks.weaving.WeavingHook;
 import org.osgi.framework.hooks.weaving.WovenClass;
+import org.osgi.framework.hooks.weaving.WovenClassListener;
 import org.osgi.framework.wiring.BundleWiring;
 import org.osgi.util.tracker.ServiceTracker;
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
@@ -53,6 +55,7 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer;
 class WeavingHooks {
   final private FrameworkContext fwCtx;
   ServiceTracker<WeavingHook, TrackedWeavingHook> weavingHookTracker;
+  ServiceTracker<WovenClassListener,WovenClassListener> listenerTracker;
 
   WeavingHooks(FrameworkContext fwCtx) {
     this.fwCtx = fwCtx;
@@ -66,8 +69,12 @@ class WeavingHooks {
     weavingHookTracker = new ServiceTracker<WeavingHook, TrackedWeavingHook>(
         fwCtx.systemBundle.bundleContext, WeavingHook.class,
         new ServiceTrackerCustomizer<WeavingHook, TrackedWeavingHook>() {
+          int cnt = 0;
           public TrackedWeavingHook addingService(
               ServiceReference<WeavingHook> reference) {
+            if (cnt++ == 0) {
+              openListener();
+            }
             return new TrackedWeavingHook(
                 fwCtx.systemBundle.bundleContext
                     .getService(reference), reference);
@@ -75,27 +82,41 @@ class WeavingHooks {
 
           public void modifiedService(ServiceReference<WeavingHook> reference,
               TrackedWeavingHook service) {
-
           }
 
           public void removedService(ServiceReference<WeavingHook> reference,
               TrackedWeavingHook service) {
+            if (--cnt == 0) {
+              closeListener();
+            }
           }
         });
 
     weavingHookTracker.open();
   }
 
+  private void openListener() {
+    listenerTracker = new ServiceTracker<WovenClassListener,WovenClassListener>
+      (fwCtx.systemBundle.bundleContext, WovenClassListener.class, null);
+    listenerTracker.open();
+  }
+
   synchronized void close() {
     weavingHookTracker.close();
     weavingHookTracker = null;
   }
 
+  private void closeListener() {
+    listenerTracker.close();
+    listenerTracker = null;
+  }
+
   synchronized public boolean isOpen() {
     return weavingHookTracker != null;
   }
 
   synchronized void callHooks(WovenClassImpl wc) throws Exception {
+    boolean ok = false;
     if (!isOpen()) {
       return;
     }
@@ -129,11 +150,33 @@ class WeavingHooks {
           throw cfe;
         }
       }
+      ok = true;
     } finally {
-      wc.markAsComplete();
+      wc.markAsComplete(ok);
+    }
+  }
+
+  synchronized void callListeners(WovenClassImpl wc) {
+    WovenClassListener wcl = fwCtx.perm.getWovenClassListener();
+    if (wcl != null) {
+      wcl.modified(wc);
+    }
+    if (listenerTracker == null) {
+      return;
+    }
+    ServiceReference<WovenClassListener> [] srs = listenerTracker.getServiceReferences();
+    if (srs != null) {
+      for (ServiceReference<WovenClassListener> wlsr : srs) {
+        try {
+          fwCtx.systemBundle.bundleContext.getService(wlsr).modified(wc);
+        } catch (final Throwable t) {
+          fwCtx.frameworkWarning(wlsr.getBundle(), t);
+        }
+      }
     }
   }
 
+
   static class TrackedWeavingHook implements WeavingHook {
     final WeavingHook tracked;
     final ServiceReference<WeavingHook> reference;
@@ -161,10 +204,10 @@ class WeavingHooks {
   static class WovenClassImpl implements WovenClass {
     final BundleImpl bundle;
     final String name;
-    byte[] current = null;
-    boolean complete = false;
+    byte[] current;
+    int state = WovenClass.TRANSFORMING;
     Class<?> c = null;
-    final List<String> dynamicImports = new DynamicImportList<String>(this);
+    final List<String> dynamicImports = new DynamicImportList(this);
   
     WovenClassImpl(BundleImpl bundle, String name, byte[] initial) {
       this.bundle = bundle;
@@ -174,23 +217,26 @@ class WeavingHooks {
   
     public byte[] getBytes() {
       bundle.fwCtx.perm.checkWeaveAdminPerm(bundle);
-      if (complete) {
+      if (state == WovenClass.TRANSFORMING) {
+        return current;
+      } else {
         final byte[] r = new byte[current.length];
         System.arraycopy(current, 0, r, 0, current.length);
         return r;
-      } else {
-        return current;
       }
     }
   
     public void setBytes(byte[] newBytes) {
       bundle.fwCtx.perm.checkWeaveAdminPerm(bundle);
-      if (complete)
+      if ((state & (WovenClass.TRANSFORMED | WovenClass.DEFINED |
+                    WovenClass.TRANSFORMING_FAILED | WovenClass.DEFINE_FAILED)) != 0) {
         throw new IllegalStateException(
             "Trying to call WovenClass.setBytes(byte[]) after weaving is complete");
-      if (newBytes == null)
+      }
+      if (newBytes == null) {
         throw new NullPointerException(
             "Trying to call WovenClass.setBytes(byte[]) with null newBytes");
+      }
       current = newBytes;
     }
   
@@ -199,7 +245,7 @@ class WeavingHooks {
     }
   
     public boolean isWeavingComplete() {
-      return complete;
+      return (state & (WovenClass.DEFINED | WovenClass.TRANSFORMING_FAILED | WovenClass.DEFINE_FAILED)) != 0;
     }
   
     public String getClassName() {
@@ -217,14 +263,20 @@ class WeavingHooks {
     public BundleWiring getBundleWiring() {
       return bundle.current().bundleRevision.getWiring();
     }
-  
-    void markAsComplete() {
-      complete = true;
+
+    public int getState() {
+      return state;
+    }
+
+    void markAsComplete(boolean ok) {
+      state = ok ? WovenClass.TRANSFORMED : WovenClass.TRANSFORMING_FAILED;
+      bundle.fwCtx.weavingHooks.callListeners(this);
     }
   
     void setDefinedClass(Class<?> c) {
-      markAsComplete();
+      state = c != null ? WovenClass.DEFINED : WovenClass.DEFINE_FAILED;
       this.c = c;
+      bundle.fwCtx.weavingHooks.callListeners(this);
     }
   
     @Override
@@ -262,54 +314,55 @@ class WeavingHooks {
     }
   }
 
-  public static class DynamicImportList<E> implements List<E> {
+
+  public static class DynamicImportList implements List<String> {
   
-    final private List<E> org;
+    final private List<String> org;
     final private WovenClassImpl parent;
     
     public DynamicImportList(WovenClassImpl parent) {
       this.parent = parent;
-      this.org = new ArrayList<E>();
+      this.org = new ArrayList<String>();
     }
 
 
-    public DynamicImportList(WovenClassImpl parent, List<E> subList) {
+    public DynamicImportList(WovenClassImpl parent, List<String> subList) {
       this.parent = parent;
       org = subList;
     }
 
 
     @Override
-    public boolean add(E elem) {
-      checkChangeAllowed();
+    public boolean add(String elem) {
+      checkChangeAllowed(Collections.singletonList(elem));
       return org.add(elem);
     }
 
 
     @Override
-    public void add(int index, E elem) {
-      checkChangeAllowed();
+    public void add(int index, String elem) {
+      checkChangeAllowed(Collections.singletonList(elem));
       org.add(index, elem);
     }
   
 
     @Override
-    public boolean addAll(Collection<? extends E> elems) {
-      checkChangeAllowed();
+    public boolean addAll(Collection<? extends String> elems) {
+      checkChangeAllowed(elems);
       return org.addAll(elems);
     }
 
 
     @Override
-    public boolean addAll(int index, Collection<? extends E> elems) {
-      checkChangeAllowed();
+    public boolean addAll(int index, Collection<? extends String> elems) {
+      checkChangeAllowed(elems);
       return org.addAll(index, elems);
     }
 
 
     @Override
     public void clear() {
-      checkChangeAllowed();
+      checkChangeAllowed(null);
       org.clear();
     }
 
@@ -327,7 +380,7 @@ class WeavingHooks {
 
 
     @Override
-    public E get(int index) {
+    public String get(int index) {
       return org.get(index);
     }
 
@@ -345,8 +398,8 @@ class WeavingHooks {
 
 
     @Override
-    public Iterator<E> iterator() {
-      return new DynamicListIterator<E>(parent, org.listIterator());
+    public Iterator<String> iterator() {
+      return new DynamicListIterator(parent, org.listIterator());
     }
 
 
@@ -357,48 +410,48 @@ class WeavingHooks {
 
 
     @Override
-    public ListIterator<E> listIterator() {
-      return new DynamicListIterator<E>(parent, org.listIterator());
+    public ListIterator<String> listIterator() {
+      return new DynamicListIterator(parent, org.listIterator());
     }
 
 
     @Override
-    public ListIterator<E> listIterator(int index) {
-      return new DynamicListIterator<E>(parent, org.listIterator(index));
+    public ListIterator<String> listIterator(int index) {
+      return new DynamicListIterator(parent, org.listIterator(index));
     }
 
 
     @Override
-    public E remove(int index) {
-      checkChangeAllowed();
+    public String remove(int index) {
+      checkChangeAllowed(null);
       return org.remove(index);
     }
   
 
     @Override
     public boolean remove(Object elem) {
-      checkChangeAllowed();
+      checkChangeAllowed(null);
       return org.remove(elem);
     }
   
 
     @Override
     public boolean removeAll(Collection<?> elems) {
-      checkChangeAllowed();
+      checkChangeAllowed(null);
       return org.removeAll(elems);
     }
   
 
     @Override
     public boolean retainAll(Collection<?> elems) {
-      checkChangeAllowed();
+      checkChangeAllowed(null);
       return org.removeAll(elems);
     }
 
 
     @Override
-    public E set(int index, E elem) {
-      checkChangeAllowed();
+    public String set(int index, String elem) {
+      checkChangeAllowed(Collections.singletonList(elem));
       return org.set(index, elem);
     }
 
@@ -410,8 +463,8 @@ class WeavingHooks {
 
 
     @Override
-    public List<E> subList(int from, int to) {
-      return new DynamicImportList<E>(parent, org.subList(from, to));
+    public List<String> subList(int from, int to) {
+      return new DynamicImportList(parent, org.subList(from, to));
     }
 
 
@@ -427,29 +480,34 @@ class WeavingHooks {
     }
 
 
-    private void checkChangeAllowed() throws UnsupportedOperationException {
+    private void checkChangeAllowed(Collection<? extends String> elems) throws UnsupportedOperationException {
       if (parent.isWeavingComplete()) {
         throw new IllegalStateException("Parent WovenClass is frozen");
       }
       parent.bundle.fwCtx.perm.checkWeaveAdminPerm(parent.bundle);
+      if (elems != null) {
+        for (String pkg : elems) {
+          parent.bundle.fwCtx.perm.checkImportPackagePermission(pkg);
+        }
+      }
     }
   
   }
 
-  public static class DynamicListIterator<E> implements ListIterator<E> {
+  public static class DynamicListIterator implements ListIterator<String> {
 
     final private WovenClassImpl parent;
-    final private ListIterator<E> org;
+    final private ListIterator<String> org;
  
 
-    public DynamicListIterator(WovenClassImpl parent, ListIterator<E> org) {
+    public DynamicListIterator(WovenClassImpl parent, ListIterator<String> org) {
       this.parent = parent;
       this.org = org;
     }
 
     @Override
-    public void add(E elem) {
-      checkChangeAllowed();
+    public void add(String elem) {
+      checkChangeAllowed(elem);
       org.add(elem);
     }
 
@@ -464,7 +522,7 @@ class WeavingHooks {
     }
 
     @Override
-    public E next() {
+    public String next() {
       return org.next();
     }
 
@@ -474,7 +532,7 @@ class WeavingHooks {
     }
 
     @Override
-    public E previous() {
+    public String previous() {
       return org.previous();
     }
 
@@ -485,21 +543,24 @@ class WeavingHooks {
 
     @Override
     public void remove() {
-      checkChangeAllowed();
+      checkChangeAllowed(null);
       org.remove();
     }
 
     @Override
-    public void set(E elem) {
-      checkChangeAllowed();
+    public void set(String elem) {
+      checkChangeAllowed(elem);
       org.set(elem);
     }
   
-    private void checkChangeAllowed() throws UnsupportedOperationException {
+    private void checkChangeAllowed(String elem) throws UnsupportedOperationException {
       if (parent.isWeavingComplete()) {
         throw new IllegalStateException("Parent WovenClass is frozen");
       }
       parent.bundle.fwCtx.perm.checkWeaveAdminPerm(parent.bundle);
+      if (elem != null) {
+        parent.bundle.fwCtx.perm.checkImportPackagePermission(elem);
+      }
     }
   
   }
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/BundleStorageImpl.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/BundleStorageImpl.java
new file mode 100644
index 0000000..8e3a5d9
--- /dev/null
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/BundleStorageImpl.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2015-2015, KNOPFLERFISH project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials
+ *   provided with the distribution.
+ *
+ * - Neither the name of the KNOPFLERFISH project nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.knopflerfish.framework.bundlestorage.dex;
+
+import org.knopflerfish.framework.FWProps;
+import org.knopflerfish.framework.FileTree;
+import org.knopflerfish.framework.FrameworkContext;
+import org.knopflerfish.framework.bundlestorage.file.Archive;
+import org.knopflerfish.framework.bundlestorage.file.BundleArchiveImpl;
+import org.osgi.framework.Constants;
+
+
+/**
+ * Storage of all bundles jar content.
+ *
+ */
+public class BundleStorageImpl extends org.knopflerfish.framework.bundlestorage.file.BundleStorageImpl {
+
+  private final static String ALWAYS_UNPACK_PROP =
+    "org.knopflerfish.framework.bundlestorage.dex.always_unpack";
+  private final static String REFERENCE_PROP =
+    "org.knopflerfish.framework.bundlestorage.dex.reference";
+  private final static String TRUSTED_PROP =
+    "org.knopflerfish.framework.bundlestorage.dex.trusted";
+
+  public BundleStorageImpl(FrameworkContext framework) {
+    super(framework);
+  }
+
+  protected Archive createArchive(BundleArchiveImpl ba, FileTree dir, int rev) {
+    return new DexArchive(ba, dir, rev);
+  }
+
+  /**
+   * Initialize values for properties.
+   *
+   */
+  protected void initProps(FWProps props) {
+    props.setPropertyDefault(ALWAYS_UNPACK_PROP, FWProps.FALSE);
+    props.setPropertyDefault(REFERENCE_PROP, FWProps.FALSE);
+    props.setPropertyDefault(TRUSTED_PROP, FWProps.TRUE);
+    alwaysUnpack = props.getBooleanProperty(ALWAYS_UNPACK_PROP);
+    fileReference = props.getBooleanProperty(REFERENCE_PROP);
+    trustedStorage = props.getBooleanProperty(TRUSTED_PROP);
+    unpack = true;
+    execPermCmd = props.getProperty(Constants.FRAMEWORK_EXECPERMISSION).trim();
+    checkSigned = props.getBooleanProperty(FWProps.BUNDLESTORAGE_CHECKSIGNED_PROP);
+    isWindows = false;
+    jarVerifierBug = false;
+    readOnly = props.getBooleanProperty(FWProps.READ_ONLY_PROP);
+   }
+
+}
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/DexArchive.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/DexArchive.java
new file mode 100644
index 0000000..8d5df00
--- /dev/null
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/dex/DexArchive.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (c) 2015-2015, KNOPFLERFISH project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following
+ * conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above
+ *   copyright notice, this list of conditions and the following
+ *   disclaimer in the documentation and/or other materials
+ *   provided with the distribution.
+ *
+ * - Neither the name of the KNOPFLERFISH project nor the names of its
+ *   contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.knopflerfish.framework.bundlestorage.dex;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.Enumeration;
+
+import org.knopflerfish.framework.FileTree;
+import org.knopflerfish.framework.bundlestorage.file.Archive;
+import org.knopflerfish.framework.bundlestorage.file.BundleArchiveImpl;
+
+import dalvik.system.DexFile;
+
+/**
+ * JAR with classes.dex file handling.
+ *
+ */
+public class DexArchive extends Archive {
+
+  private static final String CLASSES_DEX = "classes.dex";
+  private static final String CLASS_SUFFIX = ".class";
+  private DexFile dexFile = null;
+
+
+  /**
+   * Create an Archive based on contents of an InputStream, the archive is saved
+   * as local copy in the specified directory.
+   *
+   * @param ba BundleArchiveImpl for this archive.
+   */
+  DexArchive(BundleArchiveImpl ba, FileTree dir, int rev) {
+    super(ba, dir, rev);
+  }
+
+  @Override
+  protected void downloadArchive(InputStream is, URL source)
+      throws IOException {
+    super.downloadArchive(is, source);
+    initDexFile();
+  }
+
+  @Override
+  protected void restoreArchive() throws IOException {
+    super.restoreArchive();
+    initDexFile();
+  }
+
+  @Override
+  protected Archive subArchive(String path, int id) throws IOException {
+    Archive res = super.subArchive(path, id);
+    if (res.isJar()) {
+      ((DexArchive)res).initDexFile();
+    }
+    return res;
+  }
+
+  @Override
+  public boolean exists(String path, boolean onlyDirs) {
+    if (path.endsWith(CLASS_SUFFIX) && !onlyDirs) {
+      if (dexFile == null) {
+        throw new RuntimeException("No " + CLASSES_DEX + " found for archive: " + file);
+      }
+      String name = path.substring(0, path.length() - CLASS_SUFFIX.length()).replace('/', '.');
+      for (Enumeration<String> e = dexFile.entries(); e.hasMoreElements(); ) {
+        String ee = e.nextElement();
+        if (name.equals(ee)) {
+          return true;
+        }
+      }
+      return false;
+    } else {
+      return super.exists(path, onlyDirs);
+    }
+  }
+
+  /**
+   * Return null to indicate that we can not get class bytes from DEX files
+   */
+  @Override
+  public byte[] getClassBytes(String name) {
+    return null;
+  }
+
+  /**
+   * Load a class using the Dalvik DexFile API.
+   * <p>
+   * This relies in the bundle having a "classes.dex" in its root
+   * <p>
+   * TODO: We should create a specific bundle storage module for DEX files.
+   * <p>
+   * 
+   * To create such a bundle, do
+   * <ol>
+   * <li><code>dx --dex --output=classes.dex bundle.jar</code>
+   * <li><code>aapt add bundle.jar classes.dex</code>
+   * </ol>
+   */
+  @Override
+  public Class<?> loadClassBytes(String name, ClassLoader cl) {
+    return dexFile.loadClass(name.replace('.', '/'), cl);
+  }
+
+  private void initDexFile() {
+    String dexopt = new File(bundleDir, "dexopt" + revision + (subId > 0 ? "_" + subId : "")).getAbsolutePath();
+    if (jar != null) {
+      if (jar.getEntry(CLASSES_DEX) != null) {
+        dexFile = DexFile.loadDex(file.getAbsolutePath(),  dexopt, 0);
+      }
+    } else {
+      dexFile = DexFile.loadDex(new File(file, CLASSES_DEX).getAbsolutePath(), dexopt, 0);
+    }
+  }
+
+}
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java
index 0442e61..94d0a6d 100644
--- a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/Archive.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -116,9 +116,14 @@ public class Archive implements FileArchive {
   final private static String OSGI_OPT_DIR = "OSGI-OPT/";
 
   /**
+   * FileTree handle for bundle storage directory.
+   */
+  protected FileTree bundleDir;
+
+  /**
    * File handle for file that contains current archive.
    */
-  private FileTree file;
+  protected FileTree file;
 
   /**
    * Set to true if above file is a reference outside framework storage.
@@ -128,9 +133,7 @@ public class Archive implements FileArchive {
   /**
    * JAR file handle for file that contains current archive.
    */
-  private ZipFile jar;
-
-  final private String location;
+  protected ZipFile jar = null;
 
   /**
    * Certificates for this archive.
@@ -171,7 +174,10 @@ public class Archive implements FileArchive {
   /**
    *
    */
-  final private int subId;
+  protected int subId;
+
+  protected int revision;
+
 
 
   /**
@@ -181,19 +187,28 @@ public class Archive implements FileArchive {
    * @param ba BundleArchiveImpl for this archive.
    * @param dir Directory to save data in.
    * @param rev Revision of bundle content (used for updates).
+   */
+  protected Archive(BundleArchiveImpl ba, FileTree dir, int rev) {
+    this.ba = ba;
+    this.bundleDir = dir;
+    this.revision = rev;
+  }
+
+
+  /**
+   * Create an Archive based on contents of an InputStream, the archive is saved
+   * as local copy in the specified directory.
+   *
    * @param is Jar file data in an InputStream.
    * @param url URL to use to CodeSource.
-   * @param location Location for archive
    */
-  Archive(BundleArchiveImpl ba, File dir, int rev, InputStream is, URL source, String location)
+  protected void downloadArchive(InputStream is, URL source)
       throws IOException {
-    this.location = location;
-    this.ba = ba;
     subId = 0;
 
     boolean isDirectory = false;
     final FileTree sourceFile;
-    final FileTree bsFile = new FileTree(dir, ARCHIVE + rev);
+    final FileTree bsFile = new FileTree(bundleDir, ARCHIVE + revision);
 
     if (isReference(source)) {
       fileIsReference = true;
@@ -233,9 +248,9 @@ public class Archive implements FileArchive {
         ji = new JarInputStream(bis, ba.storage.checkSigned);
         manifest = ji.getManifest();
         // If manifest == null then, Manifest probably not first in JAR, should
-        // we complain?
-        // Now, try to use the jar anyway. Maybe the manifest is there.
-        if (manifest == null || !needUnpack(manifest.getMainAttributes())) {
+        // we complain? Or if on Android there is a problem with JAR in JAR reading.
+        // So we unpack to be sure we can access everything.
+        if (manifest != null && !needUnpack(manifest.getMainAttributes())) {
           bis.reset();
         } else {
           doUnpack = true;
@@ -280,7 +295,6 @@ public class Archive implements FileArchive {
         if (verify) {
           checkCertificates(verifiedEntries);
         }
-        jar = null;
       }
     }
     if (!doUnpack) {
@@ -294,7 +308,6 @@ public class Archive implements FileArchive {
         if (ba.storage.checkSigned) {
           // NYI! Verify signed directory
         }
-        jar = null;
       } else {
         if (!fileIsReference) {
           loadFile(file, bis);
@@ -306,7 +319,7 @@ public class Archive implements FileArchive {
       }
     }
     if (manifest != null) {
-      manifest = new AutoManifest(ba.storage.framework, manifest, location);
+      manifest = new AutoManifest(ba.storage.framework, manifest, ba.location);
     } else {
       manifest = getManifest();
     }
@@ -325,56 +338,25 @@ public class Archive implements FileArchive {
 
 
   /**
-   * Get the file path from an URL, handling the case where it's a
-   * reference:file: URL
-   */
-  String getFile(URL source) {
-    final String sfile = source.getFile();
-    if (sfile.startsWith("file:")) {
-      return sfile.substring(5);
-    } else {
-      return sfile;
-    }
-  }
-
-
-  boolean isFile(URL source) {
-    return source != null && "file".equals(source.getProtocol());
-  }
-
-
-  /**
-   * Check if an URL is a reference: URL or if we have global references on all
-   * file: URLs
-   */
-  boolean isReference(URL source) {
-    return (source != null)
-        && ("reference".equals(source.getProtocol()) || (ba.storage.fileReference && isFile(source)));
-  }
-
-
-  /**
    * Create an Archive based on contents of a saved archive in the specified
    * directory. Take lowest versioned archive and remove rest.
    *
    */
-  Archive(BundleArchiveImpl ba, File dir, int rev, String location) throws IOException {
-    this.location = location;
-    this.ba = ba;
+  protected void restoreArchive() throws IOException {
     subId = 0;
-    final String[] f = dir.list();
+    final String[] f = bundleDir.list();
     file = null;
-    if (rev != -1) {
-      file = new FileTree(dir, ARCHIVE + rev);
+    if (revision != -1) {
+      file = new FileTree(bundleDir, ARCHIVE + revision);
     } else {
-      rev = Integer.MAX_VALUE;
+      revision = Integer.MAX_VALUE;
       for (final String element : f) {
         if (element.startsWith(ARCHIVE)) {
           try {
             final int c = Integer.parseInt(element.substring(ARCHIVE.length()));
-            if (c < rev) {
-              rev = c;
-              file = new FileTree(dir, element);
+            if (c < revision) {
+              revision = c;
+              file = new FileTree(bundleDir, element);
             }
           } catch (final NumberFormatException ignore) {
           }
@@ -385,8 +367,8 @@ public class Archive implements FileArchive {
       if (element.startsWith(ARCHIVE)) {
         try {
           final int c = Integer.parseInt(element.substring(ARCHIVE.length()));
-          if (c != rev) {
-            (new FileTree(dir, element)).delete();
+          if (c != revision) {
+            (new FileTree(bundleDir, element)).delete();
           }
         } catch (final NumberFormatException ignore) {
         }
@@ -394,35 +376,31 @@ public class Archive implements FileArchive {
       if (element.startsWith(SUBDIR)) {
         try {
           final int c = Integer.parseInt(element.substring(SUBDIR.length()));
-          if (c != rev) {
-            (new FileTree(dir, element)).delete();
+          if (c != revision) {
+            (new FileTree(bundleDir, element)).delete();
           }
         } catch (final NumberFormatException ignore) {
         }
       }
     }
     if (file == null) {
-      if (location != null) {
-        try {
-          final URL url = new URL(location);
-          if (isReference(url)) {
-            file = new FileTree(getFile(url));
-          }
-        } catch (final Exception e) {
-          throw new IOException("Bad file URL stored in referenced jar in: "
-              + dir.getAbsolutePath() + ", location=" + location + ", e=" + e);
+      try {
+        final URL url = new URL(ba.location);
+        if (isReference(url)) {
+          file = new FileTree(getFile(url));
         }
+      } catch (final Exception e) {
+        throw new IOException("Bad file URL stored in referenced jar in: "
+            + bundleDir.getAbsolutePath() + ", location=" + ba.location + ", e=" + e);
       }
       if (file == null || !file.exists()) {
-        throw new IOException("No saved jar file found in: " + dir.getAbsolutePath()
-            + ", old location=" + location);
+        throw new IOException("No saved jar file found in: " + bundleDir.getAbsolutePath()
+            + ", old location=" + ba.location);
       }
       fileIsReference = true;
     }
 
-    if (file.isDirectory()) {
-      jar = null;
-    } else {
+    if (!file.isDirectory()) {
       jar = new ZipFile(file);
     }
     if (ba.storage.checkSigned) {
@@ -440,37 +418,35 @@ public class Archive implements FileArchive {
    * new archive is saved in a subdirectory below local copy of the existing
    * Archive.
    *
-   * @param a Parent Archive.
    * @param path Path of new Archive inside old Archive.
+   * @param id Sub-id of Archive.
    * @exception FileNotFoundException if no such Jar file in archive.
    * @exception IOException if failed to read Jar file.
    */
-  Archive(Archive a, String path, int id) throws IOException {
-    this.location = a.location;
-    this.ba = a.ba;
-    subId = id;
-    if (a.jar != null) {
-      jar = a.jar;
+  protected Archive subArchive(String path, int id) throws IOException {
+    Archive res = ba.storage.createArchive(ba, bundleDir, revision);
+    res.subId = id;
+    if (jar != null) {
+      res.jar = jar;
       // Try a directory first, make sure that path ends with "/"
       if (!path.endsWith("/")) {
         path += "/";
       }
-      subJar = jar.getEntry(path);
-      if (subJar == null) {
-        subJar = jar.getEntry(path.substring(0, path.length() - 1));
+      res.subJar = jar.getEntry(path);
+      if (res.subJar == null) {
+        res.subJar = jar.getEntry(path.substring(0, path.length() - 1));
       }
-      if (subJar == null) {
+      if (res.subJar == null) {
         throw new IOException("No such JAR component: " + path);
       }
-      file = a.file;
+      res.file = file;
     } else {
-      file = findFile(a.file, path);
-      if (file.isDirectory()) {
-        jar = null;
-      } else {
-        jar = new ZipFile(file);
+      res.file = findFile(file, path);
+      if (!res.file.isDirectory()) {
+        res.jar = new ZipFile(res.file);
       }
     }
+    return res;
   }
 
 
@@ -490,6 +466,35 @@ public class Archive implements FileArchive {
 
 
   /**
+   * Get the file path from an URL, handling the case where it's a
+   * reference:file: URL
+   */
+  private String getFile(URL source) {
+    final String sfile = source.getFile();
+    if (sfile.startsWith("file:")) {
+      return sfile.substring(5);
+    } else {
+      return sfile;
+    }
+  }
+
+
+  private boolean isFile(URL source) {
+    return source != null && "file".equals(source.getProtocol());
+  }
+
+
+  /**
+   * Check if an URL is a reference: URL or if we have global references on all
+   * file: URLs
+   */
+  private boolean isReference(URL source) {
+    return (source != null)
+        && ("reference".equals(source.getProtocol()) || (ba.storage.fileReference && isFile(source)));
+  }
+
+
+  /**
    * Get revision number this archive.
    *
    * @return Archive revision number
@@ -591,9 +596,6 @@ public class Archive implements FileArchive {
     if (bClosed) {
       return null;
     }
-    if (component.startsWith("/")) {
-      throw new RuntimeException("Assert! Path should never start with / here");
-    }
     ZipEntry ze;
     try {
       if (jar != null) {
@@ -727,6 +729,17 @@ public class Archive implements FileArchive {
   }
 
 
+  public boolean isJar() {
+    return jar != null;
+  }
+
+
+  @Override
+  public Class<?> loadClassBytes(String name, ClassLoader cl) {
+    return null;
+  }
+
+
   /**
    * Get a BundleResourceStream to named entry inside an Archive.
    *
@@ -1167,6 +1180,14 @@ public class Archive implements FileArchive {
 
 
   /**
+   * Returns the File object for this bundle.
+   */
+  protected File getFile() {
+    return file;
+  }
+
+
+  /**
    * Returns the path to this bundle.
    */
   String getPath() {
@@ -1201,6 +1222,11 @@ public class Archive implements FileArchive {
     Util.parseManifestHeader(Constants.IMPORT_PACKAGE,
                              a.getValue(Constants.IMPORT_PACKAGE), false, true,
                              false);
+    if (ba.storage.isReadOnly() && !file.isDirectory() && needUnpack(a)) {
+      throw new IllegalArgumentException("Framework is in read-only mode, we can not " +
+                                         "install bundles that needs to be downloaded " +
+                                         "(e.g. has native code or an internal Bundle-ClassPath)");
+    }
     // NYI, more checks?
   }
 
@@ -1262,7 +1288,7 @@ public class Archive implements FileArchive {
     // TBD: Should recognize entry with lower case?
     final BundleResourceStream mi = getBundleResourceStream("META-INF/MANIFEST.MF");
     if (mi != null) {
-      return new AutoManifest(ba.storage.framework, new Manifest(mi), location);
+      return new AutoManifest(ba.storage.framework, new Manifest(mi), ba.location);
     } else {
       throw new IOException("Manifest is missing");
     }
@@ -1300,7 +1326,7 @@ public class Archive implements FileArchive {
    * @param is InputStream to read from.
    */
   private void loadFile(File output, InputStream is) throws IOException {
-    if (ba.storage.isReadOnly()) {
+    if (output != null && ba.storage.isReadOnly()) {
       throw new IOException("Bundle storage is read-only, unable to save: " + output);
     }
     OutputStream os = null;
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java
index 511c548..6e500f4 100644
--- a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleArchiveImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2015, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -67,7 +67,7 @@ import org.knopflerfish.framework.bundlestorage.Util;
  * @author Philippe Laporte
  * @author Mats-Ola Persson
  */
-class BundleArchiveImpl implements BundleArchive
+public class BundleArchiveImpl implements BundleArchive
 {
 
   /**
@@ -82,14 +82,14 @@ class BundleArchiveImpl implements BundleArchive
 
   final BundleStorageImpl storage;
 
+  final String location;
+
   private final Archive archive;
 
   private BundleGeneration bundleGeneration = null;
 
   private final long id;
 
-  final private String location;
-
   private int autostartSetting = -1; // => not started.
 
   private final FileTree bundleDir;
@@ -125,11 +125,12 @@ class BundleArchiveImpl implements BundleArchive
       source = new URL(bundleLocation);
     } catch (final Exception e) {
     }
-    bundleDir        = dir;
-    storage          = bundleStorage;
-    id               = bundleId;
-    location         = bundleLocation;
-    archive          = new Archive(this, bundleDir, 0, is, source, location);
+    bundleDir = dir;
+    storage = bundleStorage;
+    id = bundleId;
+    location = bundleLocation;
+    archive = storage.createArchive(this, bundleDir, 0);
+    archive.downloadArchive(is, source);
     putContent(LOCATION_FILE, location);
   }
 
@@ -175,9 +176,10 @@ class BundleArchiveImpl implements BundleArchive
       } catch (final NumberFormatException ignore) {}
     }
 
-    id            = bundleId;
-    storage       = bundleStorage;
-    archive       = new Archive(this, bundleDir, rev, location);
+    id = bundleId;
+    storage = bundleStorage;
+    archive = storage.createArchive(this, bundleDir, rev);
+    archive.restoreArchive();
   }
 
 
@@ -200,7 +202,8 @@ class BundleArchiveImpl implements BundleArchive
     if(bReference) {
       source = new URL(location);
     }
-    archive = new Archive(this, bundleDir, rev, is, source, location);
+    archive = storage.createArchive(this, bundleDir, rev);
+    archive.downloadArchive(is, source);
     if(!bReference) {
       putContent(REV_FILE, Integer.toString(rev));
     }
@@ -235,7 +238,7 @@ class BundleArchiveImpl implements BundleArchive
       archives = new ArrayList<Archive>();
     }
     try {
-      final Archive a = new Archive(archive, path, archives.size() + 1);
+      Archive a = archive.subArchive(path, archives.size() + 1);
       archives.add(a);
       return a;
     } catch (final IOException io) {
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java
index 39b0fc9..0a34ff8 100644
--- a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/file/BundleStorageImpl.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2014, KNOPFLERFISH project
+ * Copyright (c) 2003-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -39,13 +39,13 @@ import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
-import org.osgi.framework.Constants;
 import org.knopflerfish.framework.BundleArchive;
 import org.knopflerfish.framework.BundleStorage;
 import org.knopflerfish.framework.FWProps;
 import org.knopflerfish.framework.FileTree;
 import org.knopflerfish.framework.FrameworkContext;
 import org.knopflerfish.framework.Util;
+import org.osgi.framework.Constants;
 
 
 /**
@@ -70,39 +70,39 @@ public class BundleStorageImpl implements BundleStorage {
    * Controls if we should try to unpack bundles with sub-jars and
    * native code.
    */
-  boolean alwaysUnpack;
+  protected boolean alwaysUnpack;
 
   /**
    * Controls if file: URLs should be referenced only, not copied
    * to bundle storage dir
    */
-  boolean fileReference;
+  protected boolean fileReference;
 
   /**
    * Controls if we should trust file storage to be secure.
    */
-  boolean trustedStorage;
+  protected boolean trustedStorage;
 
   /**
    * Controls if we should try to unpack bundles with sub-jars and
    * native code.
    */
-  boolean unpack;
+  protected boolean unpack;
 
   /**
    * Optional OS-command to set executable permission on native code.
    */
-  String execPermCmd;
+  protected String execPermCmd;
 
   /**
    * Is current OS a Windows OS.
    */
-  boolean isWindows;
+  protected boolean isWindows;
 
   /**
    * Is JarVerifier bug present.
    */
-  boolean jarVerifierBug;
+  protected boolean jarVerifierBug;
 
   /**
    * Top directory for storing all jar data for bundles.
@@ -128,12 +128,12 @@ public class BundleStorageImpl implements BundleStorage {
   /**
    * If we should check if bundles are signed
    */
-  boolean checkSigned;
+  protected boolean checkSigned;
 
   /**
    * True if we shouldn't write any files.
    */
-  private boolean readOnly;
+  protected boolean readOnly;
 
   /**
    * Create a container for all bundle data in this framework.
@@ -143,6 +143,14 @@ public class BundleStorageImpl implements BundleStorage {
   public BundleStorageImpl(FrameworkContext framework) {
     this.framework = framework;
     initProps(framework.props);
+    if (isReadOnly()) {
+      if (alwaysUnpack) {
+        throw new RuntimeException("Property '" + ALWAYS_UNPACK_PROP + "' must be false when we are in read only mode!");
+      }
+      if (unpack) {
+        throw new RuntimeException("Property '" + UNPACK_PROP + "' must be false when we are in read only mode!");
+      }
+    }
     // See if we have a storage directory
     bundlesDir = Util.getFileStorage(framework, "bs", !isReadOnly());
     if (bundlesDir == null) {
@@ -169,7 +177,7 @@ public class BundleStorageImpl implements BundleStorage {
       if (dir.isDirectory()) {
         try {
           final boolean bUninstalled = BundleArchiveImpl.isUninstalled(dir);
-          if(bUninstalled) {
+          if (bUninstalled) {
             // silently remove any bundle marked as uninstalled
             dir.delete();
           } else {
@@ -303,6 +311,10 @@ public class BundleStorageImpl implements BundleStorage {
     bundlesDir = null;
   }
 
+  protected Archive createArchive(BundleArchiveImpl ba, FileTree dir, int rev) {
+    return new Archive(ba, dir, rev);
+  }
+
   //
   // Package methods
   //
diff --git a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/memory/Archive.java b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/memory/Archive.java
index 82fde41..669eba3 100644
--- a/osgi/framework/src/org/knopflerfish/framework/bundlestorage/memory/Archive.java
+++ b/osgi/framework/src/org/knopflerfish/framework/bundlestorage/memory/Archive.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2013, KNOPFLERFISH project
+ * Copyright (c) 2003-2015, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -282,6 +282,49 @@ class Archive implements FileArchive {
   }
 
 
+  @Override
+  public Class<?> loadClassBytes(String name, ClassLoader cl) {
+    return null;
+  }
+
+
+  @Override
+  public boolean exists(String path, boolean onlyDirs) {
+    if (path.equals("")) {
+      return true;
+    }
+    if (onlyDirs) {
+      if (!path.endsWith("/")) {
+        path = path + "/";
+      }
+      for (String k : content.keySet()) {
+        if (k.startsWith(path)) {
+          return true;
+        }
+      }
+      return false;
+    } else {
+      return content.containsKey(path);
+    }
+  }
+
+
+  @Override
+  public Set<String> listDir(String path) {
+    Set<String> res = new HashSet<String>();
+    if (path.length() > 0 && !path.endsWith("/")) {
+      path = path + "/";
+    }
+    for (String k : content.keySet()) {
+      String e = matchPath(path, k);
+      if (e != null) {
+        res.add(e);
+      }
+    }
+    return res;
+  }
+
+
   //
   // Private methods
   //
@@ -326,43 +369,6 @@ class Archive implements FileArchive {
   }
 
 
-  @Override
-  public boolean exists(String path, boolean onlyDirs) {
-    if (path.equals("")) {
-      return true;
-    }
-    if (onlyDirs) {
-      if (!path.endsWith("/")) {
-        path = path + "/";
-      }
-      for (String k : content.keySet()) {
-        if (k.startsWith(path)) {
-          return true;
-        }
-      }
-      return false;
-    } else {
-      return content.containsKey(path);
-    }
-  }
-
-
-  @Override
-  public Set<String> listDir(String path) {
-    Set<String> res = new HashSet<String>();
-    if (path.length() > 0 && !path.endsWith("/")) {
-      path = path + "/";
-    }
-    for (String k : content.keySet()) {
-      String e = matchPath(path, k);
-      if (e != null) {
-        res.add(e);
-      }
-    }
-    return res;
-  }
-
-
   private String matchPath(String basePath, String path) {
     final int len = basePath.length();
     if (path.length() > len && path.startsWith(basePath)) {
diff --git a/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java b/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
index 7983c47..695b2a9 100644
--- a/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
+++ b/osgi/framework/src/org/knopflerfish/framework/permissions/ConditionalPermissionInfoStorage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2008-2014, KNOPFLERFISH project
+ * Copyright (c) 2008-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -86,7 +86,7 @@ class ConditionalPermissionInfoStorage {
     if (condPermDir == null) {
       System.err.println("Property org.osgi.framework.dir not set," +
                          "conditional permission info will not be saved between sessions");
-    } else {
+    } else if (condPermDir.isDirectory()) {
       load();
     }
   }
@@ -234,7 +234,7 @@ class ConditionalPermissionInfoStorage {
       ConditionalPermissionInfoImpl cpi;
       try {
         cpi = (ConditionalPermissionInfoImpl)checkTable.get(i);
-      } catch (final ClassCastException _) {
+      } catch (final ClassCastException _ignore) {
         throw new IllegalStateException("Illegal class of element in updated table, index=" + i);
       }
       if (cpi == null) {
diff --git a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java
index eab1220..276da9e 100644
--- a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java
+++ b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionInfoStorage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006-2014, KNOPFLERFISH project
+ * Copyright (c) 2006-2016, KNOPFLERFISH project
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -90,7 +90,7 @@ class PermissionInfoStorage {
     if (permDir == null) {
       System.err.println("Property org.osgi.framework.dir not set," +
                          "permission data will not be saved between sessions");
-    } else {
+    } else if (permDir.isDirectory()) {
       load();
     }
   }
diff --git a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsHandle.java b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsHandle.java
index a39611e..09b1c4f 100644
--- a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsHandle.java
+++ b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsHandle.java
@@ -41,6 +41,9 @@ import java.util.Hashtable;
 import java.util.Iterator;
 
 import org.osgi.framework.Bundle;
+import org.osgi.framework.PackagePermission;
+import org.osgi.framework.hooks.weaving.WovenClass;
+import org.osgi.framework.hooks.weaving.WovenClassListener;
 
 import org.knopflerfish.framework.FrameworkContext;
 
@@ -48,7 +51,7 @@ import org.knopflerfish.framework.FrameworkContext;
 /**
  *
  */
-public class PermissionsHandle {
+public class PermissionsHandle implements WovenClassListener {
 
   FrameworkContext framework;
 
@@ -160,4 +163,19 @@ public class PermissionsHandle {
     return pcCache.values().iterator();
   }
 
+
+  /**
+   * Listener for woven classes.
+   */
+  @Override
+  public void modified(WovenClass wc)
+  {
+    if ((wc.getState() & (WovenClass.DEFINED|WovenClass.DEFINE_FAILED)) != 0) {
+      PermissionsWrapper pw = pcCache.get(new Long(wc.getBundleWiring().getBundle().getBundleId()));
+      if (pw != null) { // TODO, is this really necessary.
+        pw.addWovenDynamicImport(wc.getDynamicImports());
+      }
+    }
+  }
+
 }
diff --git a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsWrapper.java b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsWrapper.java
index 09b057f..cb4d92c 100644
--- a/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsWrapper.java
+++ b/osgi/framework/src/org/knopflerfish/framework/permissions/PermissionsWrapper.java
@@ -41,6 +41,7 @@ import java.security.Permission;
 import java.security.PermissionCollection;
 import java.security.Permissions;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.Enumeration;
 import java.util.List;
 import java.util.NoSuchElementException;
@@ -49,6 +50,7 @@ import java.util.PropertyPermission;
 import org.osgi.framework.AdminPermission;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.CapabilityPermission;
+import org.osgi.framework.PackagePermission;
 import org.osgi.framework.namespace.ExecutionEnvironmentNamespace;
 import org.osgi.service.condpermadmin.ConditionalPermissionInfo;
 import org.osgi.service.permissionadmin.PermissionInfo;
@@ -240,6 +242,47 @@ public class PermissionsWrapper extends PermissionCollection {
   /**
    *
    */
+  synchronized void updateChangedConditionalPermission(ConditionalPermissionInfoImpl cpi,
+                                                       int cpi_pos,
+                                                       int remove_pos,
+                                                       int expected_size)
+  {
+    final ConditionalPermission new_cp = cpi != null ? cpi
+        .getConditionalPermission(bundle) : null;
+    @SuppressWarnings("unused")
+    ConditionalPermission old_cp;
+    if (cpi_pos == remove_pos) {
+      old_cp = condPermList.set(cpi_pos, new_cp);
+    } else if (remove_pos == -1) {
+      condPermList.add(cpi_pos, new_cp);
+      old_cp = null;
+    } else if (cpi_pos == -1) {
+      old_cp = condPermList.remove(remove_pos);
+    } else {
+      // Case with different remove & insert position not used, yet
+      throw new RuntimeException("NYI");
+    }
+    if (expected_size != condPermList.size()) {
+      debug.printStackTrace("ASSERT, table size differ, " + expected_size
+                            + " != " + condPermList.size(), new Throwable());
+      throw new RuntimeException("ASSERT ERROR");
+    }
+    // TBD! How to optimize?   if (new_cp != null || old_cp != null) {
+      invalidate();
+    //    }
+  }
+
+
+  synchronized void addWovenDynamicImport(Collection<String> pkgs) {
+    for (String pkg : pkgs) {
+      implicitPermissions.add(new PackagePermission(pkg, PackagePermission.IMPORT));
+    }
+  }
+
+
+  /**
+   *
+   */
   private PermissionCollection getPerms0() {
     if (systemPermissions == null) {
       final PermissionCollection p = makePermissionCollection();
@@ -399,40 +442,6 @@ public class PermissionsWrapper extends PermissionCollection {
   /**
    *
    */
-  synchronized void updateChangedConditionalPermission(ConditionalPermissionInfoImpl cpi,
-                                                       int cpi_pos,
-                                                       int remove_pos,
-                                                       int expected_size)
-  {
-    final ConditionalPermission new_cp = cpi != null ? cpi
-        .getConditionalPermission(bundle) : null;
-    @SuppressWarnings("unused")
-    ConditionalPermission old_cp;
-    if (cpi_pos == remove_pos) {
-      old_cp = condPermList.set(cpi_pos, new_cp);
-    } else if (remove_pos == -1) {
-      condPermList.add(cpi_pos, new_cp);
-      old_cp = null;
-    } else if (cpi_pos == -1) {
-      old_cp = condPermList.remove(remove_pos);
-    } else {
-      // Case with different remove & insert position not used, yet
-      throw new RuntimeException("NYI");
-    }
-    if (expected_size != condPermList.size()) {
-      debug.printStackTrace("ASSERT, table size differ, " + expected_size
-                            + " != " + condPermList.size(), new Throwable());
-      throw new RuntimeException("ASSERT ERROR");
-    }
-    // TBD! How to optimize?   if (new_cp != null || old_cp != null) {
-      invalidate();
-    //    }
-  }
-
-
-  /**
-   *
-   */
   private void initCondPermList() {
     // cpinfos is locked when we are here.
     final ArrayList<ConditionalPermissionInfoImpl> cpis = cpinfos.getAll();
diff --git a/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java b/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java
index 743fac5..1289f17 100644
--- a/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java
+++ b/osgi/framework/src/org/knopflerfish/framework/validator/SelfSignedValidator.java
@@ -90,7 +90,7 @@ public class SelfSignedValidator implements Validator {
           cert.checkValidity();
         }
       }
-    } catch (CertificateException _) {
+    } catch (CertificateException _ignore) {
       return false;
     }
     return true;
diff --git a/osgi/framework/src/org/osgi/dto/DTO.java b/osgi/framework/src/org/osgi/dto/DTO.java
new file mode 100644
index 0000000..6d81b2a
--- /dev/null
+++ b/osgi/framework/src/org/osgi/dto/DTO.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.dto;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.IdentityHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Super type for Data Transfer Objects.
+ * 
+ * <p>
+ * A Data Transfer Object (DTO) is easily serializable having only public fields
+ * of primitive types and their wrapper classes, Strings, and DTOs. List, Set,
+ * Map and array aggregates may also be used. The aggregates must only hold
+ * objects of the listed types or aggregates.
+ * 
+ * <p>
+ * The object graph from a Data Transfer Object must be a tree to simplify
+ * serialization and deserialization.
+ * 
+ * @author $Id: adaf574b3fb54fee6daf068749c2a2ba818e16a5 $
+ * @NotThreadSafe
+ */
+public abstract class DTO {
+
+    /**
+     * Return a string representation of this DTO suitable for use when
+     * debugging.
+     * 
+     * <p>
+     * The format of the string representation is not specified and subject to
+     * change.
+     * 
+     * @return A string representation of this DTO suitable for use when
+     *         debugging.
+     */
+    @Override
+    public String toString() {
+        return appendValue(new StringBuilder(), new IdentityHashMap<Object, String>(), "#", this).toString();
+    }
+
+    /**
+     * Append the specified DTO's string representation to the specified
+     * StringBuilder.
+     * 
+     * @param result StringBuilder to which the string representation is
+     *        appended.
+     * @param objectRefs References to "seen" objects.
+     * @param refpath The reference path of the specified DTO.
+     * @param dto The DTO whose string representation is to be appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendDTO(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final DTO dto) {
+        result.append("{");
+        String delim = "";
+        for (Field field : dto.getClass().getFields()) {
+            if (Modifier.isStatic(field.getModifiers())) {
+                continue;
+            }
+            result.append(delim);
+            final String name = field.getName();
+            appendString(result, name);
+            result.append(":");
+            Object value = null;
+            try {
+                value = field.get(dto);
+            } catch (IllegalAccessException e) {
+                // use null value;
+            }
+            appendValue(result, objectRefs, refpath + "/" + name, value);
+            delim = ", ";
+        }
+        result.append("}");
+        return result;
+    }
+
+    /**
+     * Append the specified value's string representation to the specified
+     * StringBuilder.
+     * 
+     * <p>
+     * This method handles cycles in the object graph, using path-based
+     * references, even though the specification requires the object graph from
+     * a DTO to be a tree.
+     * 
+     * @param result StringBuilder to which the string representation is
+     *        appended.
+     * @param objectRefs References to "seen" objects.
+     * @param refpath The reference path of the specified value.
+     * @param value The object whose string representation is to be appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendValue(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Object value) {
+        if (value == null) {
+            return result.append("null");
+        }
+        // Simple Java types
+        if (value instanceof String || value instanceof Character) {
+            return appendString(result, compress(value.toString()));
+        }
+        if (value instanceof Number || value instanceof Boolean) {
+            return result.append(value.toString());
+        }
+
+        // Complex types
+        final String path = objectRefs.get(value);
+        if (path != null) {
+            result.append("{\"$ref\":");
+            appendString(result, path);
+            result.append("}");
+            return result;
+        }
+        objectRefs.put(value, refpath);
+
+        if (value instanceof DTO) {
+            return appendDTO(result, objectRefs, refpath, (DTO) value);
+        }
+        if (value instanceof Map) {
+            return appendMap(result, objectRefs, refpath, (Map<?, ?>) value);
+        }
+        if (value instanceof List || value instanceof Set) {
+            return appendIterable(result, objectRefs, refpath, (Iterable<?>) value);
+        }
+        if (value.getClass().isArray()) {
+            return appendArray(result, objectRefs, refpath, value);
+        }
+        return appendString(result, compress(value.toString()));
+    }
+
+    /**
+     * Append the specified array's string representation to the specified
+     * StringBuilder.
+     * 
+     * @param result StringBuilder to which the string representation is
+     *        appended.
+     * @param objectRefs References to "seen" objects.
+     * @param refpath The reference path of the specified array.
+     * @param array The array whose string representation is to be appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendArray(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Object array) {
+        result.append("[");
+        final int length = Array.getLength(array);
+        for (int i = 0; i < length; i++) {
+            if (i > 0) {
+                result.append(",");
+            }
+            appendValue(result, objectRefs, refpath + "/" + i, Array.get(array, i));
+        }
+        result.append("]");
+        return result;
+    }
+
+    /**
+     * Append the specified iterable's string representation to the specified
+     * StringBuilder.
+     * 
+     * @param result StringBuilder to which the string representation is
+     *        appended.
+     * @param objectRefs References to "seen" objects.
+     * @param refpath The reference path of the specified list.
+     * @param iterable The iterable whose string representation is to be
+     *        appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendIterable(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Iterable<?> iterable) {
+        result.append("[");
+        int i = 0;
+        for (Object item : iterable) {
+            if (i > 0) {
+                result.append(",");
+            }
+            appendValue(result, objectRefs, refpath + "/" + i, item);
+            i++;
+        }
+        result.append("]");
+        return result;
+    }
+
+    /**
+     * Append the specified map's string representation to the specified
+     * StringBuilder.
+     * 
+     * @param result StringBuilder to which the string representation is
+     *        appended.
+     * @param objectRefs References to "seen" objects.
+     * @param refpath The reference path of the specified map.
+     * @param map The map whose string representation is to be appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendMap(final StringBuilder result, final Map<Object, String> objectRefs, final String refpath, final Map<?, ?> map) {
+        result.append("{");
+        String delim = "";
+        for (Map.Entry<?, ?> entry : map.entrySet()) {
+            result.append(delim);
+            final String name = String.valueOf(entry.getKey());
+            appendString(result, name);
+            result.append(":");
+            final Object value = entry.getValue();
+            appendValue(result, objectRefs, refpath + "/" + name, value);
+            delim = ", ";
+        }
+        result.append("}");
+        return result;
+    }
+
+    /**
+     * Append the specified string to the specified StringBuilder.
+     * 
+     * @param result StringBuilder to which the string is appended.
+     * @param string The string to be appended.
+     * @return The specified StringBuilder.
+     */
+    private static StringBuilder appendString(final StringBuilder result, final CharSequence string) {
+        result.append("\"");
+        int i = result.length();
+        result.append(string);
+        while (i < result.length()) { // escape if necessary
+            char c = result.charAt(i);
+            if ((c == '"') || (c == '\\')) {
+                result.insert(i, '\\');
+                i = i + 2;
+                continue;
+            }
+            if (c < 0x20) {
+                result.insert(i + 1, Integer.toHexString(c | 0x10000));
+                result.replace(i, i + 2, "\\u");
+                i = i + 6;
+                continue;
+            }
+            i++;
+        }
+        result.append("\"");
+        return result;
+    }
+
+    /**
+     * Compress, in length, the specified string.
+     * 
+     * @param in The string to potentially compress.
+     * @return The string compressed, if necessary.
+     */
+    private static CharSequence compress(final CharSequence in) {
+        final int length = in.length();
+        if (length <= 21) {
+            return in;
+        }
+        StringBuilder result = new StringBuilder(21);
+        result.append(in, 0, 9);
+        result.append("...");
+        result.append(in, length - 9, length);
+        return result;
+    }
+}
diff --git a/osgi/framework/src/org/osgi/framework/launch/package-info.java b/osgi/framework/src/org/osgi/dto/package-info.java
similarity index 52%
copy from osgi/framework/src/org/osgi/framework/launch/package-info.java
copy to osgi/framework/src/org/osgi/dto/package-info.java
index a1c54d4..fe739e2 100644
--- a/osgi/framework/src/org/osgi/framework/launch/package-info.java
+++ b/osgi/framework/src/org/osgi/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,19 +15,28 @@
  */
 
 /**
- * Framework Launch Package Version 1.1.
+ * OSGi Data Transfer Object Package Version 1.0.
  *
  * <p>
  * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
  *
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework.launch; version="[1.1,2.0)"}
+ * {@code  Import-Package: org.osgi.dto; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.dto; version="[1.0,1.1)"}
  *
- * @version $Id: f1e5d25386dfcda77fb66659963a62209c4f6d60 $
+ * @author $Id: 1209bb5e60e6b6fc8239119a2dd4a2c15b9a40f2 $
  */
 
-package org.osgi.framework.launch;
+ at Version("1.0")
+package org.osgi.dto;
+
+import org.osgi.annotation.versioning.Version;
 
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo b/osgi/framework/src/org/osgi/dto/packageinfo
similarity index 100%
copy from osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo
copy to osgi/framework/src/org/osgi/dto/packageinfo
diff --git a/osgi/framework/src/org/osgi/framework/AdaptPermission.java b/osgi/framework/src/org/osgi/framework/AdaptPermission.java
old mode 100644
new mode 100755
index fbe70c1..918e469
--- a/osgi/framework/src/org/osgi/framework/AdaptPermission.java
+++ b/osgi/framework/src/org/osgi/framework/AdaptPermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,7 +41,7 @@ import java.util.Map;
  * {@code AdaptPermission} has one action: {@code adapt}.
  * 
  * @ThreadSafe
- * @version $Id: 3bc095bd294db2d8ea25971a3d71991de1495b1a $
+ * @author $Id: 9f0866e633ce08566547b4955a2ece54c46944e0 $
  */
 public final class AdaptPermission extends BasicPermission {
 
@@ -286,6 +286,7 @@ public final class AdaptPermission extends BasicPermission {
 	 * @return {@code true} if the specified permission is implied by this
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof AdaptPermission)) {
 			return false;
@@ -339,6 +340,7 @@ public final class AdaptPermission extends BasicPermission {
 	 * @return Canonical string representation of the {@code AdaptPermission}
 	 *         actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -353,6 +355,7 @@ public final class AdaptPermission extends BasicPermission {
 	 * 
 	 * @return A new {@code PermissionCollection} object.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new AdaptPermissionCollection();
 	}
@@ -369,6 +372,7 @@ public final class AdaptPermission extends BasicPermission {
 	 *         the same name and actions as this {@code AdaptPermission} object;
 	 *         {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -388,6 +392,7 @@ public final class AdaptPermission extends BasicPermission {
 	 * 
 	 * @return A hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -424,9 +429,8 @@ public final class AdaptPermission extends BasicPermission {
 	}
 
 	/**
-	 * Called by {@code <@link AdaptPermission#implies(Permission)>}. This
-	 * method is only called on a requested permission which cannot have a
-	 * filter set.
+	 * Called by {@link AdaptPermission#implies(Permission)}. This method is
+	 * only called on a requested permission which cannot have a filter set.
 	 * 
 	 * @return a map of properties for this permission.
 	 */
@@ -438,8 +442,8 @@ public final class AdaptPermission extends BasicPermission {
 		final Map<String, Object> map = new HashMap<String, Object>(5);
 		map.put("adaptClass", getName());
 		if (bundle != null) {
-			AccessController.doPrivileged(new PrivilegedAction<Object>() {
-				public Object run() {
+			AccessController.doPrivileged(new PrivilegedAction<Void>() {
+				public Void run() {
 					map.put("id", new Long(bundle.getBundleId()));
 					map.put("location", bundle.getLocation());
 					String name = bundle.getSymbolicName();
@@ -502,6 +506,7 @@ final class AdaptPermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code AdaptPermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(final Permission permission) {
 		if (!(permission instanceof AdaptPermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -547,6 +552,7 @@ final class AdaptPermissionCollection extends PermissionCollection {
 	 * @return {@code true} if {@code permission} is a proper subset of a
 	 *         permission in the set; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(final Permission permission) {
 		if (!(permission instanceof AdaptPermission)) {
 			return false;
@@ -590,6 +596,7 @@ final class AdaptPermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all {@code AdaptPermission} objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		return Collections.enumeration(all);
@@ -607,7 +614,9 @@ final class AdaptPermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
-		permissions = (HashMap<String, AdaptPermission>) gfields.get("permissions", null);
+		@SuppressWarnings("unchecked")
+		HashMap<String, AdaptPermission> p = (HashMap<String, AdaptPermission>) gfields.get("permissions", null);
+		permissions = p;
 		all_allowed = gfields.get("all_allowed", false);
 	}
 }
diff --git a/osgi/framework/src/org/osgi/framework/AdminPermission.java b/osgi/framework/src/org/osgi/framework/AdminPermission.java
index 324360c..26e9093 100644
--- a/osgi/framework/src/org/osgi/framework/AdminPermission.java
+++ b/osgi/framework/src/org/osgi/framework/AdminPermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -52,8 +52,10 @@ import java.util.Map;
  * lifecycle          BundleContext.installBundle
  *                    Bundle.update
  *                    Bundle.uninstall
- * listener           BundleContext.addBundleListener for SynchronousBundleListener
- *                    BundleContext.removeBundleListener for SynchronousBundleListener
+ * listener           BundleContext.addBundleListener for
+ *                      SynchronousBundleListener
+ *                    BundleContext.removeBundleListener for
+ *                      SynchronousBundleListener
  * metadata           Bundle.getHeaders
  *                    Bundle.getLocation
  * resolve            FrameworkWiring.refreshBundles
@@ -67,7 +69,8 @@ import java.util.Map;
  * startlevel         FrameworkStartLevel.setStartLevel
  *                    FrameworkStartLevel.setInitialBundleStartLevel
  * context            Bundle.getBundleContext
- * weave              WovenClass.setBytes
+ * weave              WovenClass.getBytes
+ *                    WovenClass.setBytes
  *                    WovenClass.getDynamicImports for modification
  * </pre>
  * 
@@ -89,7 +92,7 @@ import java.util.Map;
  * Filter attribute names are processed in a case sensitive manner.
  * 
  * @ThreadSafe
- * @version $Id: cd883e81fde210ce8f0cabaebea377378d672818 $
+ * @author $Id: 2a803b07dcdc9af47ca0cb208d96fcd9c0bcfb0c $
  */
 
 public final class AdminPermission extends BasicPermission {
@@ -236,8 +239,9 @@ public final class AdminPermission extends BasicPermission {
 	 * Examples:
 	 * 
 	 * <pre>
-	 * (signer=\*,o=ACME,c=US)   
-	 * (&(signer=\*,o=ACME,c=US)(name=com.acme.*)(location=http://www.acme.com/bundles/*))
+	 * (signer=\*,o=ACME,c=US)
+	 * (&(signer=\*,o=ACME,c=US)(name=com.acme.*)
+	 *   (location=http://www.acme.com/bundles/*))
 	 * (id>=1)
 	 * </pre>
 	 * 
@@ -593,6 +597,7 @@ public final class AdminPermission extends BasicPermission {
 	 * @return {@code true} if the specified permission is implied by this
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof AdminPermission)) {
 			return false;
@@ -663,6 +668,7 @@ public final class AdminPermission extends BasicPermission {
 	 * @return Canonical string representation of the {@code AdminPermission}
 	 *         actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -740,6 +746,7 @@ public final class AdminPermission extends BasicPermission {
 	 * 
 	 * @return A new {@code PermissionCollection} object.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new AdminPermissionCollection();
 	}
@@ -751,6 +758,7 @@ public final class AdminPermission extends BasicPermission {
 	 * @return {@code true} if {@code obj} is equivalent to this
 	 *         {@code AdminPermission}; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -770,6 +778,7 @@ public final class AdminPermission extends BasicPermission {
 	 * 
 	 * @return Hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -833,8 +842,8 @@ public final class AdminPermission extends BasicPermission {
 		recurse.set(bundle);
 		try {
 			final Map<String, Object> map = new HashMap<String, Object>(4);
-			AccessController.doPrivileged(new PrivilegedAction<Object>() {
-				public Object run() {
+			AccessController.doPrivileged(new PrivilegedAction<Void>() {
+				public Void run() {
 					map.put("id", new Long(bundle.getBundleId()));
 					map.put("location", bundle.getLocation());
 					String name = bundle.getSymbolicName();
@@ -893,6 +902,7 @@ final class AdminPermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code AdminPermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(Permission permission) {
 		if (!(permission instanceof AdminPermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -936,6 +946,7 @@ final class AdminPermissionCollection extends PermissionCollection {
 	 *         {@code AdminPermission} in this collection, {@code false}
 	 *         otherwise.
 	 */
+	@Override
 	public boolean implies(Permission permission) {
 		if (!(permission instanceof AdminPermission)) {
 			return false;
@@ -979,6 +990,7 @@ final class AdminPermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all {@code AdminPermission} objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		return Collections.enumeration(all);
@@ -997,6 +1009,7 @@ final class AdminPermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
+		@SuppressWarnings("unchecked")
 		Hashtable<String, AdminPermission> hashtable = (Hashtable<String, AdminPermission>) gfields.get("permissions", null);
 		permissions = new HashMap<String, AdminPermission>(hashtable);
 		all_allowed = gfields.get("all_allowed", false);
diff --git a/osgi/framework/src/org/osgi/framework/AllServiceListener.java b/osgi/framework/src/org/osgi/framework/AllServiceListener.java
index 71e27cd..4db7ba3 100644
--- a/osgi/framework/src/org/osgi/framework/AllServiceListener.java
+++ b/osgi/framework/src/org/osgi/framework/AllServiceListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2005, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * A {@code ServiceEvent} listener that does not filter based upon package
  * wiring. {@code AllServiceListener} is a listener interface that may be
@@ -52,9 +54,9 @@ package org.osgi.framework;
  * @see ServicePermission
  * @ThreadSafe
  * @since 1.3
- * @version $Id: 7a0c82db414be7064a06e1868eb41a8c8f8d9d6c $
+ * @author $Id: fc2039183bb7c2117c182949118bb4cdd3b2e6c2 $
  */
-
+ at ConsumerType
 public interface AllServiceListener extends ServiceListener {
 	// This is a marker interface
 }
diff --git a/osgi/framework/src/org/osgi/framework/Bundle.java b/osgi/framework/src/org/osgi/framework/Bundle.java
index d814e9a..b9334ae 100644
--- a/osgi/framework/src/org/osgi/framework/Bundle.java
+++ b/osgi/framework/src/org/osgi/framework/Bundle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,7 @@ import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.List;
 import java.util.Map;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.wiring.FrameworkWiring;
 
 /**
@@ -44,12 +45,12 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * <p>
  * A bundle can be in one of six states:
  * <ul>
- * <li>{@link #UNINSTALLED}
- * <li>{@link #INSTALLED}
- * <li>{@link #RESOLVED}
- * <li>{@link #STARTING}
- * <li>{@link #STOPPING}
- * <li>{@link #ACTIVE}
+ * <li>{@link #UNINSTALLED}</li>
+ * <li>{@link #INSTALLED}</li>
+ * <li>{@link #RESOLVED}</li>
+ * <li>{@link #STARTING}</li>
+ * <li>{@link #STOPPING}</li>
+ * <li>{@link #ACTIVE}</li>
  * </ul>
  * <p>
  * Values assigned to these states have no specified ordering; they represent
@@ -74,9 +75,9 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * bundle id} and is greater if it has a higher bundle id.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 8a58ab72af389b1999b88348e4944203b7096510 $
+ * @author $Id: 81a8f18b2fcc7810817cd19f6d5e0709db1c1d12 $
  */
+ at ProviderType
 public interface Bundle extends Comparable<Bundle> {
 	/**
 	 * The bundle is uninstalled and may not be used.
@@ -114,14 +115,14 @@ public interface Bundle extends Comparable<Bundle> {
 	 * include:
 	 * <ul>
 	 * <li>The bundle's class path from its {@link Constants#BUNDLE_CLASSPATH}
-	 * Manifest header.
+	 * Manifest header.</li>
 	 * <li>The bundle's package dependencies from its
 	 * {@link Constants#EXPORT_PACKAGE} and {@link Constants#IMPORT_PACKAGE}
-	 * Manifest headers.
+	 * Manifest headers.</li>
 	 * <li>The bundle's required bundle dependencies from its
-	 * {@link Constants#REQUIRE_BUNDLE} Manifest header.
+	 * {@link Constants#REQUIRE_BUNDLE} Manifest header.</li>
 	 * <li>A fragment bundle's host dependency from its
-	 * {@link Constants#FRAGMENT_HOST} Manifest header.
+	 * {@link Constants#FRAGMENT_HOST} Manifest header.</li>
 	 * </ul>
 	 * <p>
 	 * Note that the bundle is not active yet. A bundle must be put in the
@@ -262,12 +263,11 @@ public interface Bundle extends Comparable<Bundle> {
 	 * <ul>
 	 * <li>If the {@link #START_TRANSIENT} option is set, then a
 	 * {@code BundleException} is thrown indicating this bundle cannot be
-	 * started due to the Framework's current start level.
-	 * 
+	 * started due to the Framework's current start level.</li>
 	 * <li>Otherwise, the Framework must set this bundle's persistent autostart
 	 * setting to <em>Started with declared activation</em> if the
 	 * {@link #START_ACTIVATION_POLICY} option is set or
-	 * <em>Started with eager activation</em> if not set.
+	 * <em>Started with eager activation</em> if not set.</li>
 	 * </ul>
 	 * <p>
 	 * When the Framework's current start level becomes equal to or more than
@@ -279,82 +279,71 @@ public interface Bundle extends Comparable<Bundle> {
 	 * then this method must wait for activation or deactivation to complete
 	 * before continuing. If this does not occur in a reasonable time, a
 	 * {@code BundleException} is thrown to indicate this bundle was unable to
-	 * be started.
-	 * 
-	 * <li>If this bundle's state is {@code ACTIVE} then this method returns
-	 * immediately.
-	 * 
+	 * be started.</li>
 	 * <li>If the {@link #START_TRANSIENT} option is not set then set this
 	 * bundle's autostart setting to <em>Started with declared activation</em>
 	 * if the {@link #START_ACTIVATION_POLICY} option is set or
 	 * <em>Started with eager activation</em> if not set. When the Framework is
 	 * restarted and this bundle's autostart setting is not <em>Stopped</em>,
-	 * this bundle must be automatically started.
-	 * 
+	 * this bundle must be automatically started.</li>
+	 * <li>If this bundle's state is {@code ACTIVE} then this method returns
+	 * immediately.</li>
 	 * <li>If this bundle's state is not {@code RESOLVED}, an attempt is made to
 	 * resolve this bundle. If the Framework cannot resolve this bundle, a
-	 * {@code BundleException} is thrown.
-	 * 
+	 * {@code BundleException} is thrown.</li>
 	 * <li>If the {@link #START_ACTIVATION_POLICY} option is set and this
 	 * bundle's declared activation policy is {@link Constants#ACTIVATION_LAZY
 	 * lazy} then:
 	 * <ul>
 	 * <li>If this bundle's state is {@code STARTING} then this method returns
-	 * immediately.
-	 * <li>This bundle's state is set to {@code STARTING}.
-	 * <li>A bundle event of type {@link BundleEvent#LAZY_ACTIVATION} is fired.
+	 * immediately.</li>
+	 * <li>This bundle's state is set to {@code STARTING}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#LAZY_ACTIVATION} is fired.</li>
 	 * <li>This method returns immediately and the remaining steps will be
-	 * followed when this bundle's activation is later triggered.
+	 * followed when this bundle's activation is later triggered.</li>
 	 * </ul>
-	 * <i></i>
-	 * <li>This bundle's state is set to {@code STARTING}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#STARTING} is fired.
-	 * 
+	 * </li>
+	 * <li>This bundle's state is set to {@code STARTING}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STARTING} is fired.</li>
 	 * <li>The {@link BundleActivator#start(BundleContext)} method of this
 	 * bundle's {@code BundleActivator}, if one is specified, is called. If the
 	 * {@code BundleActivator} is invalid or throws an exception then:
 	 * <ul>
-	 * <li>This bundle's state is set to {@code STOPPING}.
-	 * <li>A bundle event of type {@link BundleEvent#STOPPING} is fired.
-	 * <li>Any services registered by this bundle must be unregistered.
-	 * <li>Any services used by this bundle must be released.
-	 * <li>Any listeners registered by this bundle must be removed.
-	 * <li>This bundle's state is set to {@code RESOLVED}.
-	 * <li>A bundle event of type {@link BundleEvent#STOPPED} is fired.
-	 * <li>A {@code BundleException} is then thrown.
+	 * <li>This bundle's state is set to {@code STOPPING}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STOPPING} is fired.</li>
+	 * <li>Any services registered by this bundle must be unregistered.</li>
+	 * <li>Any services used by this bundle must be released.</li>
+	 * <li>Any listeners registered by this bundle must be removed.</li>
+	 * <li>This bundle's state is set to {@code RESOLVED}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STOPPED} is fired.</li>
+	 * <li>A {@code BundleException} is then thrown.</li>
 	 * </ul>
-	 * <i></i>
-	 * <li>If this bundle's state is {@code UNINSTALLED}, because this bundle
-	 * was uninstalled while the {@code BundleActivator.start} method was
-	 * running, a {@code BundleException} is thrown.
-	 * 
-	 * <li>This bundle's state is set to {@code ACTIVE}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#STARTED} is fired.
+	 * </li>
+	 * <li>This bundle's state is set to {@code ACTIVE}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STARTED} is fired.</li>
 	 * </ol>
 	 * 
 	 * <b>Preconditions </b>
 	 * <ul>
 	 * <li>{@code getState()} in &#x007B; {@code INSTALLED}, {@code RESOLVED}
 	 * &#x007D; or &#x007B; {@code INSTALLED}, {@code RESOLVED},
-	 * {@code STARTING} &#x007D; if this bundle has a lazy activation policy.
+	 * {@code STARTING} &#x007D; if this bundle has a lazy activation policy.</li>
 	 * </ul>
 	 * <b>Postconditions, no exceptions thrown </b>
 	 * <ul>
 	 * <li>Bundle autostart setting is modified unless the
-	 * {@link #START_TRANSIENT} option was set.
+	 * {@link #START_TRANSIENT} option was set.</li>
 	 * <li>{@code getState()} in &#x007B; {@code ACTIVE} &#x007D; unless the
-	 * lazy activation policy was used.
+	 * lazy activation policy was used.</li>
 	 * <li>{@code BundleActivator.start()} has been called and did not throw an
-	 * exception unless the lazy activation policy was used.
+	 * exception unless the lazy activation policy was used.</li>
 	 * </ul>
 	 * <b>Postconditions, when an exception is thrown </b>
 	 * <ul>
 	 * <li>Depending on when the exception occurred, bundle autostart setting is
-	 * modified unless the {@link #START_TRANSIENT} option was set.
+	 * modified unless the {@link #START_TRANSIENT} option was set.</li>
 	 * <li>{@code getState()} not in &#x007B; {@code STARTING}, {@code ACTIVE}
-	 * &#x007D;.
+	 * &#x007D;.</li>
 	 * </ul>
 	 * 
 	 * @param options The options for starting this bundle. See
@@ -404,62 +393,53 @@ public interface Bundle extends Comparable<Bundle> {
 	 * The following steps are required to stop a bundle:
 	 * <ol>
 	 * <li>If this bundle's state is {@code UNINSTALLED} then an
-	 * {@code IllegalStateException} is thrown.
-	 * 
+	 * {@code IllegalStateException} is thrown.</li>
 	 * <li>If this bundle is in the process of being activated or deactivated
 	 * then this method must wait for activation or deactivation to complete
 	 * before continuing. If this does not occur in a reasonable time, a
 	 * {@code BundleException} is thrown to indicate this bundle was unable to
-	 * be stopped.
+	 * be stopped.</li>
 	 * <li>If the {@link #STOP_TRANSIENT} option is not set then then set this
 	 * bundle's persistent autostart setting to to <em>Stopped</em>. When the
 	 * Framework is restarted and this bundle's autostart setting is
-	 * <em>Stopped</em>, this bundle must not be automatically started.
-	 * 
+	 * <em>Stopped</em>, this bundle must not be automatically started.</li>
 	 * <li>If this bundle's state is not {@code STARTING} or {@code ACTIVE} then
-	 * this method returns immediately.
-	 * 
-	 * <li>This bundle's state is set to {@code STOPPING}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#STOPPING} is fired.
-	 * 
+	 * this method returns immediately.</li>
+	 * <li>This bundle's state is set to {@code STOPPING}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STOPPING} is fired.</li>
 	 * <li>If this bundle's state was {@code ACTIVE} prior to setting the state
 	 * to {@code STOPPING}, the {@link BundleActivator#stop(BundleContext)}
 	 * method of this bundle's {@code BundleActivator}, if one is specified, is
 	 * called. If that method throws an exception, this method must continue to
 	 * stop this bundle and a {@code BundleException} must be thrown after
-	 * completion of the remaining steps.
-	 * 
-	 * <li>Any services registered by this bundle must be unregistered.
-	 * <li>Any services used by this bundle must be released.
-	 * <li>Any listeners registered by this bundle must be removed.
-	 * 
+	 * completion of the remaining steps.</li>
+	 * <li>Any services registered by this bundle must be unregistered.</li>
+	 * <li>Any services used by this bundle must be released.</li>
+	 * <li>Any listeners registered by this bundle must be removed.</li>
 	 * <li>If this bundle's state is {@code UNINSTALLED}, because this bundle
 	 * was uninstalled while the {@code BundleActivator.stop} method was
-	 * running, a {@code BundleException} must be thrown.
-	 * 
-	 * <li>This bundle's state is set to {@code RESOLVED}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#STOPPED} is fired.
+	 * running, a {@code BundleException} must be thrown.</li>
+	 * <li>This bundle's state is set to {@code RESOLVED}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#STOPPED} is fired.</li>
 	 * </ol>
 	 * 
 	 * <b>Preconditions </b>
 	 * <ul>
-	 * <li>{@code getState()} in &#x007B; {@code ACTIVE} &#x007D;.
+	 * <li>{@code getState()} in &#x007B; {@code ACTIVE} &#x007D;.</li>
 	 * </ul>
 	 * <b>Postconditions, no exceptions thrown </b>
 	 * <ul>
 	 * <li>Bundle autostart setting is modified unless the
-	 * {@link #STOP_TRANSIENT} option was set.
+	 * {@link #STOP_TRANSIENT} option was set.</li>
 	 * <li>{@code getState()} not in &#x007B; {@code ACTIVE}, {@code STOPPING}
-	 * &#x007D;.
+	 * &#x007D;.</li>
 	 * <li>{@code BundleActivator.stop} has been called and did not throw an
-	 * exception.
+	 * exception.</li>
 	 * </ul>
 	 * <b>Postconditions, when an exception is thrown </b>
 	 * <ul>
 	 * <li>Bundle autostart setting is modified unless the
-	 * {@link #STOP_TRANSIENT} option was set.
+	 * {@link #STOP_TRANSIENT} option was set.</li>
 	 * </ul>
 	 * 
 	 * @param options The options for stopping this bundle. See
@@ -520,45 +500,40 @@ public interface Bundle extends Comparable<Bundle> {
 	 * The following steps are required to update a bundle:
 	 * <ol>
 	 * <li>If this bundle's state is {@code UNINSTALLED} then an
-	 * {@code IllegalStateException} is thrown.
-	 * 
+	 * {@code IllegalStateException} is thrown.</li>
 	 * <li>If this bundle's state is {@code ACTIVE}, {@code STARTING} or
 	 * {@code STOPPING}, this bundle is stopped as described in the
 	 * {@code Bundle.stop} method. If {@code Bundle.stop} throws an exception,
-	 * the exception is rethrown terminating the update.
-	 * 
+	 * the exception is rethrown terminating the update.</li>
 	 * <li>The updated version of this bundle is read from the input stream and
 	 * installed. If the Framework is unable to install the updated version of
 	 * this bundle, the original version of this bundle must be restored and a
 	 * {@code BundleException} must be thrown after completion of the remaining
-	 * steps.
-	 * 
-	 * <li>This bundle's state is set to {@code INSTALLED}.
-	 * 
+	 * steps.</li>
+	 * <li>This bundle's state is set to {@code INSTALLED}.</li>
 	 * <li>If the updated version of this bundle was successfully installed, a
-	 * bundle event of type {@link BundleEvent#UPDATED} is fired.
-	 * 
+	 * bundle event of type {@link BundleEvent#UPDATED} is fired.</li>
 	 * <li>If this bundle's state was originally {@code ACTIVE}, the updated
 	 * bundle is started as described in the {@code Bundle.start} method. If
 	 * {@code Bundle.start} throws an exception, a Framework event of type
-	 * {@link FrameworkEvent#ERROR} is fired containing the exception.
+	 * {@link FrameworkEvent#ERROR} is fired containing the exception.</li>
 	 * </ol>
 	 * 
 	 * <b>Preconditions </b>
 	 * <ul>
-	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.
+	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.</li>
 	 * </ul>
 	 * <b>Postconditions, no exceptions thrown </b>
 	 * <ul>
 	 * <li>{@code getState()} in &#x007B; {@code INSTALLED}, {@code RESOLVED},
-	 * {@code ACTIVE} &#x007D;.
-	 * <li>This bundle has been updated.
+	 * {@code ACTIVE} &#x007D;.</li>
+	 * <li>This bundle has been updated.</li>
 	 * </ul>
 	 * <b>Postconditions, when an exception is thrown </b>
 	 * <ul>
 	 * <li>{@code getState()} in &#x007B; {@code INSTALLED}, {@code RESOLVED},
-	 * {@code ACTIVE} &#x007D;.
-	 * <li>Original bundle is still used; no update occurred.
+	 * {@code ACTIVE} &#x007D;.</li>
+	 * <li>Original bundle is still used; no update occurred.</li>
 	 * </ul>
 	 * 
 	 * @param input The {@code InputStream} from which to read the new bundle or
@@ -633,35 +608,31 @@ public interface Bundle extends Comparable<Bundle> {
 	 * The following steps are required to uninstall a bundle:
 	 * <ol>
 	 * <li>If this bundle's state is {@code UNINSTALLED} then an
-	 * {@code IllegalStateException} is thrown.
-	 * 
+	 * {@code IllegalStateException} is thrown.</li>
 	 * <li>If this bundle's state is {@code ACTIVE}, {@code STARTING} or
 	 * {@code STOPPING}, this bundle is stopped as described in the
 	 * {@code Bundle.stop} method. If {@code Bundle.stop} throws an exception, a
 	 * Framework event of type {@link FrameworkEvent#ERROR} is fired containing
-	 * the exception.
-	 * 
-	 * <li>This bundle's state is set to {@code UNINSTALLED}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#UNINSTALLED} is fired.
-	 * 
+	 * the exception.</li>
+	 * <li>This bundle's state is set to {@code UNINSTALLED}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#UNINSTALLED} is fired.</li>
 	 * <li>This bundle and any persistent storage area provided for this bundle
-	 * by the Framework are removed.
+	 * by the Framework are removed.</li>
 	 * </ol>
 	 * 
 	 * <b>Preconditions </b>
 	 * <ul>
-	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.
+	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.</li>
 	 * </ul>
 	 * <b>Postconditions, no exceptions thrown </b>
 	 * <ul>
-	 * <li>{@code getState()} in &#x007B; {@code UNINSTALLED} &#x007D;.
-	 * <li>This bundle has been uninstalled.
+	 * <li>{@code getState()} in &#x007B; {@code UNINSTALLED} &#x007D;.</li>
+	 * <li>This bundle has been uninstalled.</li>
 	 * </ul>
 	 * <b>Postconditions, when an exception is thrown </b>
 	 * <ul>
-	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.
-	 * <li>This Bundle has not been uninstalled.
+	 * <li>{@code getState()} not in &#x007B; {@code UNINSTALLED} &#x007D;.</li>
+	 * <li>This Bundle has not been uninstalled.</li>
 	 * </ul>
 	 * 
 	 * @throws BundleException If the uninstall failed. This can occur if
@@ -727,12 +698,12 @@ public interface Bundle extends Comparable<Bundle> {
 	 * <p>
 	 * A bundle's unique identifier has the following attributes:
 	 * <ul>
-	 * <li>Is unique and persistent.
-	 * <li>Is a {@code long}.
+	 * <li>Is unique and persistent.</li>
+	 * <li>Is a {@code long}.</li>
 	 * <li>Its value is not reused for another bundle, even after a bundle is
-	 * uninstalled.
-	 * <li>Does not change while a bundle remains installed.
-	 * <li>Does not change when a bundle is updated.
+	 * uninstalled.</li>
+	 * <li>Does not change while a bundle remains installed.</li>
+	 * <li>Does not change when a bundle is updated.</li>
 	 * </ul>
 	 * 
 	 * <p>
@@ -789,8 +760,8 @@ public interface Bundle extends Comparable<Bundle> {
 	/**
 	 * Returns this bundle's {@code ServiceReference} list for all services it
 	 * is using or returns {@code null} if this bundle is not using any
-	 * services. A bundle is considered to be using a service if its use count
-	 * for that service is greater than zero.
+	 * services. A bundle is considered to be using a service if it has any
+	 * unreleased service objects.
 	 * 
 	 * <p>
 	 * If the Java Runtime Environment supports permissions, a
diff --git a/osgi/framework/src/org/osgi/framework/BundleActivator.java b/osgi/framework/src/org/osgi/framework/BundleActivator.java
index acdb825..ab80909 100644
--- a/osgi/framework/src/org/osgi/framework/BundleActivator.java
+++ b/osgi/framework/src/org/osgi/framework/BundleActivator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * Customizes the starting and stopping of a bundle.
  * <p>
@@ -34,19 +36,19 @@ package org.osgi.framework;
  * {@code BundleActivator}. The form of the Manifest header is:
  * 
  * <p>
- * {@code Bundle-Activator: <i>class-name</i>}
+ * {@code Bundle-Activator:} <i>class-name</i>
  * 
  * <p>
- * where {@code <i>class-name</i>} is a fully qualified Java classname.
+ * where <i>class-name</i> is a fully qualified Java classname.
  * <p>
  * The specified {@code BundleActivator} class must have a public constructor
  * that takes no parameters so that a {@code BundleActivator} object can be
  * created by {@code Class.newInstance()}.
  * 
  * @NotThreadSafe
- * @version $Id: f5b2debe0064ab60669102d0a087feaeab13dc0e $
+ * @author $Id: a9d91a8ae13157f49a6a55b0c7f25b63b6bd00bd $
  */
-
+ at ConsumerType
 public interface BundleActivator {
 	/**
 	 * Called when this bundle is started so the Framework can perform the
diff --git a/osgi/framework/src/org/osgi/framework/BundleContext.java b/osgi/framework/src/org/osgi/framework/BundleContext.java
index 71c3b92..600f548 100644
--- a/osgi/framework/src/org/osgi/framework/BundleContext.java
+++ b/osgi/framework/src/org/osgi/framework/BundleContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.InputStream;
 import java.util.Collection;
 import java.util.Dictionary;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * A bundle's execution context within the Framework. The context is used to
@@ -29,15 +30,15 @@ import java.util.Dictionary;
  * <p>
  * {@code BundleContext} methods allow a bundle to:
  * <ul>
- * <li>Subscribe to events published by the Framework.
- * <li>Register service objects with the Framework service registry.
- * <li>Retrieve {@code ServiceReferences} from the Framework service registry.
- * <li>Get and release service objects for a referenced service.
- * <li>Install new bundles in the Framework.
- * <li>Get the list of bundles installed in the Framework.
- * <li>Get the {@link Bundle} object for a bundle.
+ * <li>Subscribe to events published by the Framework.</li>
+ * <li>Register service objects with the Framework service registry.</li>
+ * <li>Retrieve {@code ServiceReferences} from the Framework service registry.</li>
+ * <li>Get and release service objects for a referenced service.</li>
+ * <li>Install new bundles in the Framework.</li>
+ * <li>Get the list of bundles installed in the Framework.</li>
+ * <li>Get the {@link Bundle} object for a bundle.</li>
  * <li>Create {@code File} objects for files in a persistent storage area
- * provided for the bundle by the Framework.
+ * provided for the bundle by the Framework.</li>
  * </ul>
  * 
  * <p>
@@ -57,8 +58,17 @@ import java.util.Dictionary;
  * <p>
  * The {@code BundleContext} object is only valid during the execution of its
  * context bundle; that is, during the period from when the context bundle is in
- * the {@code STARTING}, {@code STOPPING}, and {@code ACTIVE} bundle states. If
- * the {@code BundleContext} object is used subsequently, an
+ * the {@code STARTING}, {@code STOPPING}, and {@code ACTIVE} bundle states.
+ * However, the {@code BundleContext} object becomes invalid after
+ * {@link BundleActivator#stop(BundleContext)} returns (if the bundle has a
+ * Bundle Activator). The {@code BundleContext} object becomes invalid before
+ * disposing of any remaining registered services and releasing any remaining
+ * services in use. Since those activities can result in other bundles being
+ * called (for example, {@link ServiceListener}s for
+ * {@link ServiceEvent#UNREGISTERING} events and {@link ServiceFactory}s for
+ * unget operations), those other bundles can observe the stopping bundle in the
+ * {@code STOPPING} state but with an invalid {@code BundleContext} object. If
+ * the {@code BundleContext} object is used after it has become invalid, an
  * {@code IllegalStateException} must be thrown. The {@code BundleContext}
  * object must never be reused after its context bundle is stopped.
  * 
@@ -75,10 +85,9 @@ import java.util.Dictionary;
  * Environment supports permissions.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 4f166fd274f3965e48a7dbc239213d00e062b6d0 $
+ * @author $Id: fbf0b18296a0b85d628ee8c47d0f0f213a914e48 $
  */
-
+ at ProviderType
 public interface BundleContext extends BundleReference {
 
 	/**
@@ -127,29 +136,24 @@ public interface BundleContext extends BundleReference {
 	 * The following steps are required to install a bundle:
 	 * <ol>
 	 * <li>If a bundle containing the same location identifier is already
-	 * installed, the {@code Bundle} object for that bundle is returned.
-	 * 
+	 * installed, the {@code Bundle} object for that bundle is returned.</li>
 	 * <li>The bundle's content is read from the input stream. If this fails, a
-	 * {@link BundleException} is thrown.
-	 * 
+	 * {@link BundleException} is thrown.</li>
 	 * <li>The bundle's associated resources are allocated. The associated
 	 * resources minimally consist of a unique identifier and a persistent
 	 * storage area if the platform has file system support. If this step fails,
-	 * a {@code BundleException} is thrown.
-	 * 
-	 * <li>The bundle's state is set to {@code INSTALLED}.
-	 * 
-	 * <li>A bundle event of type {@link BundleEvent#INSTALLED} is fired.
-	 * 
+	 * a {@code BundleException} is thrown.</li>
+	 * <li>The bundle's state is set to {@code INSTALLED}.</li>
+	 * <li>A bundle event of type {@link BundleEvent#INSTALLED} is fired.</li>
 	 * <li>The {@code Bundle} object for the newly or previously installed
-	 * bundle is returned.
+	 * bundle is returned.</li>
 	 * </ol>
 	 * 
 	 * <b>Postconditions, no exceptions thrown </b>
 	 * <ul>
 	 * <li>{@code getState()} in &#x007B; {@code INSTALLED}, {@code RESOLVED}
-	 * &#x007D;.
-	 * <li>Bundle has a unique ID.
+	 * &#x007D;.</li>
+	 * <li>Bundle has a unique ID.</li>
 	 * </ul>
 	 * <b>Postconditions, when an exception is thrown </b>
 	 * <ul>
@@ -386,29 +390,36 @@ public interface BundleContext extends BundleReference {
 	 * <p>
 	 * The following steps are required to register a service:
 	 * <ol>
-	 * <li>If {@code service} is not a {@code ServiceFactory}, an
+	 * <li>If {@code service} does not implement {@code ServiceFactory}, an
 	 * {@code IllegalArgumentException} is thrown if {@code service} is not an
-	 * {@code instanceof} all the specified class names.
+	 * {@code instanceof} all the specified class names.</li>
 	 * <li>The Framework adds the following service properties to the service
 	 * properties from the specified {@code Dictionary} (which may be
-	 * {@code null}): <br/>
-	 * A property named {@link Constants#SERVICE_ID} identifying the
-	 * registration number of the service <br/>
-	 * A property named {@link Constants#OBJECTCLASS} containing all the
-	 * specified classes. <br/>
+	 * {@code null}):
+	 * <ul>
+	 * <li>A property named {@link Constants#SERVICE_ID} identifying the
+	 * registration number of the service</li>
+	 * <li>A property named {@link Constants#OBJECTCLASS} containing all the
+	 * specified classes.</li>
+	 * <li>A property named {@link Constants#SERVICE_SCOPE} identifying the
+	 * scope of the service.</li>
+	 * <li>A property named {@link Constants#SERVICE_BUNDLEID} identifying the
+	 * the context bundle.</li>
+	 * </ul>
 	 * Properties with these names in the specified {@code Dictionary} will be
-	 * ignored.
+	 * ignored.</li>
 	 * <li>The service is added to the Framework service registry and may now be
-	 * used by other bundles.
-	 * <li>A service event of type {@link ServiceEvent#REGISTERED} is fired.
+	 * used by other bundles.</li>
+	 * <li>A service event of type {@link ServiceEvent#REGISTERED} is fired.</li>
 	 * <li>A {@code ServiceRegistration} object for this registration is
-	 * returned.
+	 * returned.</li>
 	 * </ol>
 	 * 
 	 * @param clazzes The class names under which the service can be located.
 	 *        The class names in this array will be stored in the service's
 	 *        properties under the key {@link Constants#OBJECTCLASS}.
-	 * @param service The service object or a {@code ServiceFactory} object.
+	 * @param service The service object or an object implementing
+	 *        {@code ServiceFactory}.
 	 * @param properties The properties for this service. The keys in the
 	 *        properties object must all be {@code String} objects. See
 	 *        {@link Constants} for a list of standard service property keys.
@@ -422,10 +433,10 @@ public interface BundleContext extends BundleReference {
 	 *         unregister the service.
 	 * @throws IllegalArgumentException If one of the following is true:
 	 *         <ul>
-	 *         <li>{@code service} is {@code null}. <li>{@code service} is not a
-	 *         {@code ServiceFactory} object and is not an instance of all the
-	 *         named classes in {@code clazzes}. <li> {@code properties}
-	 *         contains case variants of the same key name.
+	 *         <li>{@code service} is {@code null}.</li><li>{@code service} does
+	 *         not implement {@code ServiceFactory} and is not an instance of
+	 *         all the specified classes.</li><li> {@code properties} contains
+	 *         case variants of the same key name.</li>
 	 *         </ul>
 	 * @throws SecurityException If the caller does not have the
 	 *         {@code ServicePermission} to register the service for all the
@@ -433,6 +444,7 @@ public interface BundleContext extends BundleReference {
 	 *         permissions.
 	 * @throws IllegalStateException If this BundleContext is no longer valid.
 	 * @see ServiceRegistration
+	 * @see PrototypeServiceFactory
 	 * @see ServiceFactory
 	 */
 	ServiceRegistration<?> registerService(String[] clazzes, Object service, Dictionary<String, ?> properties);
@@ -450,7 +462,8 @@ public interface BundleContext extends BundleReference {
 	 * than just a single string.
 	 * 
 	 * @param clazz The class name under which the service can be located.
-	 * @param service The service object or a {@code ServiceFactory} object.
+	 * @param service The service object or an object implementing
+	 *        {@code ServiceFactory}.
 	 * @param properties The properties for this service.
 	 * @return A {@code ServiceRegistration} object for use by the bundle
 	 *         registering the service to update the service's properties or to
@@ -471,7 +484,8 @@ public interface BundleContext extends BundleReference {
 	 * 
 	 * @param <S> Type of Service.
 	 * @param clazz The class under whose name the service can be located.
-	 * @param service The service object or a {@code ServiceFactory} object.
+	 * @param service The service object or an object implementing
+	 *        {@code ServiceFactory}.
 	 * @param properties The properties for this service.
 	 * @return A {@code ServiceRegistration} object for use by the bundle
 	 *         registering the service to update the service's properties or to
@@ -483,6 +497,29 @@ public interface BundleContext extends BundleReference {
 	<S> ServiceRegistration<S> registerService(Class<S> clazz, S service, Dictionary<String, ?> properties);
 
 	/**
+	 * Registers the specified service factory object with the specified
+	 * properties under the name of the specified class with the Framework.
+	 * 
+	 * <p>
+	 * This method is otherwise identical to
+	 * {@link #registerService(Class, Object, Dictionary)} and is provided to
+	 * return a type safe {@code ServiceRegistration} when registering a
+	 * {@link ServiceFactory}.
+	 * 
+	 * @param <S> Type of Service.
+	 * @param clazz The class under whose name the service can be located.
+	 * @param factory The {@code ServiceFactory} object.
+	 * @param properties The properties for this service.
+	 * @return A {@code ServiceRegistration} object for use by the bundle
+	 *         registering the service to update the service's properties or to
+	 *         unregister the service.
+	 * @throws IllegalStateException If this BundleContext is no longer valid.
+	 * @see #registerService(Class, Object, Dictionary)
+	 * @since 1.8
+	 */
+	<S> ServiceRegistration<S> registerService(Class<S> clazz, ServiceFactory<S> factory, Dictionary<String, ?> properties);
+
+	/**
 	 * Returns an array of {@code ServiceReference} objects. The returned array
 	 * of {@code ServiceReference} objects contains services that were
 	 * registered under the specified class, match the specified filter
@@ -513,16 +550,16 @@ public interface BundleContext extends BundleReference {
 	 * service must have been registered with the specified class name. The
 	 * complete list of class names with which a service was registered is
 	 * available from the service's {@link Constants#OBJECTCLASS objectClass}
-	 * property.
+	 * property.</li>
 	 * <li>If the specified {@code filter} is not {@code null}, the filter
-	 * expression must match the service.
+	 * expression must match the service.</li>
 	 * <li>If the Java Runtime Environment supports permissions, the caller must
 	 * have {@code ServicePermission} with the {@code GET} action for at least
-	 * one of the class names under which the service was registered.
+	 * one of the class names under which the service was registered.</li>
 	 * <li>For each class name with which the service was registered, calling
 	 * {@link ServiceReference#isAssignableTo(Bundle, String)} with the context
 	 * bundle and the class name on the service's {@code ServiceReference}
-	 * object must return {@code true}
+	 * object must return {@code true}</li>
 	 * </ul>
 	 * 
 	 * @param clazz The class name with which the service was registered or
@@ -565,12 +602,12 @@ public interface BundleContext extends BundleReference {
 	 * service must have been registered with the specified class name. The
 	 * complete list of class names with which a service was registered is
 	 * available from the service's {@link Constants#OBJECTCLASS objectClass}
-	 * property.
+	 * property.</li>
 	 * <li>If the specified {@code filter} is not {@code null}, the filter
-	 * expression must match the service.
+	 * expression must match the service.</li>
 	 * <li>If the Java Runtime Environment supports permissions, the caller must
 	 * have {@code ServicePermission} with the {@code GET} action for at least
-	 * one of the class names under which the service was registered.
+	 * one of the class names under which the service was registered.</li>
 	 * </ul>
 	 * 
 	 * @param clazz The class name with which the service was registered or
@@ -606,7 +643,7 @@ public interface BundleContext extends BundleReference {
 	 * highest ranking (as specified in its {@link Constants#SERVICE_RANKING}
 	 * property) is returned.
 	 * <p>
-	 * If there is a tie in ranking, the service with the lowest service ID (as
+	 * If there is a tie in ranking, the service with the lowest service id (as
 	 * specified in its {@link Constants#SERVICE_ID} property); that is, the
 	 * service that was registered first is returned.
 	 * 
@@ -636,7 +673,7 @@ public interface BundleContext extends BundleReference {
 	 * If multiple such services exist, the service with the highest ranking (as
 	 * specified in its {@link Constants#SERVICE_RANKING} property) is returned.
 	 * <p>
-	 * If there is a tie in ranking, the service with the lowest service ID (as
+	 * If there is a tie in ranking, the service with the lowest service id (as
 	 * specified in its {@link Constants#SERVICE_ID} property); that is, the
 	 * service that was registered first is returned.
 	 * 
@@ -681,16 +718,16 @@ public interface BundleContext extends BundleReference {
 	 * <li>The service must have been registered with the name of the specified
 	 * class. The complete list of class names with which a service was
 	 * registered is available from the service's {@link Constants#OBJECTCLASS
-	 * objectClass} property.
+	 * objectClass} property.</li>
 	 * <li>If the specified {@code filter} is not {@code null}, the filter
-	 * expression must match the service.
+	 * expression must match the service.</li>
 	 * <li>If the Java Runtime Environment supports permissions, the caller must
 	 * have {@code ServicePermission} with the {@code GET} action for at least
-	 * one of the class names under which the service was registered.
+	 * one of the class names under which the service was registered.</li>
 	 * <li>For each class name with which the service was registered, calling
 	 * {@link ServiceReference#isAssignableTo(Bundle, String)} with the context
 	 * bundle and the class name on the service's {@code ServiceReference}
-	 * object must return {@code true}
+	 * object must return {@code true}</li>
 	 * </ul>
 	 * 
 	 * @param <S> Type of Service
@@ -707,45 +744,47 @@ public interface BundleContext extends BundleReference {
 	<S> Collection<ServiceReference<S>> getServiceReferences(Class<S> clazz, String filter) throws InvalidSyntaxException;
 
 	/**
-	 * Returns the service object referenced by the specified
+	 * Returns the service object for the service referenced by the specified
 	 * {@code ServiceReference} object.
+	 * 
 	 * <p>
-	 * A bundle's use of a service is tracked by the bundle's use count of that
-	 * service. Each time a service's service object is returned by
-	 * {@link #getService(ServiceReference)} the context bundle's use count for
-	 * that service is incremented by one. Each time the service is released by
-	 * {@link #ungetService(ServiceReference)} the context bundle's use count
-	 * for that service is decremented by one.
+	 * A bundle's use of a service object obtained from this method is tracked
+	 * by the bundle's use count of that service. Each time the service object
+	 * is returned by {@link #getService(ServiceReference)} the context bundle's
+	 * use count for the service is incremented by one. Each time the service
+	 * object is released by {@link #ungetService(ServiceReference)} the context
+	 * bundle's use count for the service is decremented by one.
+	 * 
 	 * <p>
-	 * When a bundle's use count for a service drops to zero, the bundle should
-	 * no longer use that service.
+	 * When a bundle's use count for the service drops to zero, the bundle
+	 * should no longer use the service object.
 	 * 
 	 * <p>
 	 * This method will always return {@code null} when the service associated
-	 * with this {@code reference} has been unregistered.
+	 * with the specified {@code reference} has been unregistered.
 	 * 
 	 * <p>
 	 * The following steps are required to get the service object:
 	 * <ol>
-	 * <li>If the service has been unregistered, {@code null} is returned.
+	 * <li>If the service has been unregistered, {@code null} is returned.</li>
 	 * <li>If the context bundle's use count for the service is currently zero
-	 * and the service was registered with an object implementing the
-	 * {@code ServiceFactory} interface, the
+	 * and the service has {@link Constants#SCOPE_BUNDLE bundle} or
+	 * {@link Constants#SCOPE_PROTOTYPE prototype} scope, the
 	 * {@link ServiceFactory#getService(Bundle, ServiceRegistration)} method is
-	 * called to create a service object for the context bundle. If the service
-	 * object returned by the {@code ServiceFactory} object is {@code null}, not
-	 * an {@code instanceof} all the classes named when the service was
-	 * registered or the {@code ServiceFactory} object throws an exception or
-	 * will be recursively called for the context bundle, {@code null} is
-	 * returned and a Framework event of type {@link FrameworkEvent#ERROR}
-	 * containing a {@link ServiceException} describing the error is fired. <br>
-	 * This service object is cached by the Framework. While the context
-	 * bundle's use count for the service is greater than zero, subsequent calls
-	 * to get the services's service object for the context bundle will return
-	 * the cached service object.
-	 * <li>The context bundle's use count for this service is incremented by
-	 * one.
-	 * <li>The service object for the service is returned.
+	 * called to supply the service object for the context bundle. If the
+	 * service object returned by the {@code ServiceFactory} object is
+	 * {@code null}, not an {@code instanceof} all the classes named when the
+	 * service was registered or the {@code ServiceFactory} object throws an
+	 * exception or will be recursively called for the context bundle,
+	 * {@code null} is returned and a Framework event of type
+	 * {@link FrameworkEvent#ERROR} containing a {@link ServiceException}
+	 * describing the error is fired. The supplied service object is cached by
+	 * the Framework. While the context bundle's use count for the service is
+	 * greater than zero, subsequent calls to get the service object for the
+	 * context bundle will return the cached service object.</li>
+	 * <li>The context bundle's use count for the service is incremented by one.
+	 * </li>
+	 * <li>The service object for the service is returned.</li>
 	 * </ol>
 	 * 
 	 * @param <S> Type of Service.
@@ -770,28 +809,28 @@ public interface BundleContext extends BundleReference {
 	<S> S getService(ServiceReference<S> reference);
 
 	/**
-	 * Releases the service object referenced by the specified
+	 * Releases the service object for the service referenced by the specified
 	 * {@code ServiceReference} object. If the context bundle's use count for
 	 * the service is zero, this method returns {@code false}. Otherwise, the
 	 * context bundle's use count for the service is decremented by one.
 	 * 
 	 * <p>
-	 * The service's service object should no longer be used and all references
-	 * to it should be destroyed when a bundle's use count for the service drops
-	 * to zero.
+	 * The service object must no longer be used and all references to it should
+	 * be destroyed when a bundle's use count for the service drops to zero.
 	 * 
 	 * <p>
-	 * The following steps are required to unget the service object:
+	 * The following steps are required to release the service object:
 	 * <ol>
 	 * <li>If the context bundle's use count for the service is zero or the
-	 * service has been unregistered, {@code false} is returned.
-	 * <li>The context bundle's use count for this service is decremented by
-	 * one.
-	 * <li>If the context bundle's use count for the service is currently zero
-	 * and the service was registered with a {@code ServiceFactory} object, the
+	 * service has been unregistered, {@code false} is returned.</li>
+	 * <li>The context bundle's use count for the service is decremented by one.
+	 * </li>
+	 * <li>If the context bundle's use count for the service is now zero and the
+	 * service has {@link Constants#SCOPE_BUNDLE bundle} or
+	 * {@link Constants#SCOPE_PROTOTYPE prototype} scope, the
 	 * {@link ServiceFactory#ungetService(Bundle, ServiceRegistration, Object)}
-	 * method is called to release the service object for the context bundle.
-	 * <li>{@code true} is returned.
+	 * method is called to release the service object for the context bundle.</li>
+	 * <li>{@code true} is returned.</li>
 	 * </ol>
 	 * 
 	 * @param reference A reference to the service to be released.
@@ -808,6 +847,47 @@ public interface BundleContext extends BundleReference {
 	boolean ungetService(ServiceReference<?> reference);
 
 	/**
+	 * Returns the {@link ServiceObjects} object for the service referenced by
+	 * the specified {@code ServiceReference} object.
+	 * 
+	 * <p>
+	 * The {@link ServiceObjects} object can be used to obtain multiple service
+	 * objects for services with {@link Constants#SCOPE_PROTOTYPE prototype}
+	 * scope.
+	 * 
+	 * <p>
+	 * For services with {@link Constants#SCOPE_SINGLETON singleton} or
+	 * {@link Constants#SCOPE_BUNDLE bundle} scope, the
+	 * {@link ServiceObjects#getService()} method behaves the same as the
+	 * {@link #getService(ServiceReference)} method and the
+	 * {@link ServiceObjects#ungetService(Object)} method behaves the same as
+	 * the {@link #ungetService(ServiceReference)} method. That is, only one,
+	 * use-counted service object is available from the {@link ServiceObjects}
+	 * object.
+	 * 
+	 * <p>
+	 * This method will always return {@code null} when the service associated
+	 * with the specified {@code reference} has been unregistered.
+	 * 
+	 * @param <S> Type of Service.
+	 * @param reference A reference to the service.
+	 * @return A {@link ServiceObjects} object for the service associated with
+	 *         the specified {@code reference} or {@code null} if the service is
+	 *         not registered.
+	 * @throws SecurityException If the caller does not have the
+	 *         {@code ServicePermission} to get the service using at least one
+	 *         of the named classes the service was registered under and the
+	 *         Java Runtime Environment supports permissions.
+	 * @throws IllegalStateException If this BundleContext is no longer valid.
+	 * @throws IllegalArgumentException If the specified
+	 *         {@code ServiceReference} was not created by the same framework
+	 *         instance as this {@code BundleContext}.
+	 * @see PrototypeServiceFactory
+	 * @since 1.8
+	 */
+	<S> ServiceObjects<S> getServiceObjects(ServiceReference<S> reference);
+
+	/**
 	 * Creates a {@code File} object for a file in the persistent storage area
 	 * provided for the bundle by the Framework. This method will return
 	 * {@code null} if the platform does not have file system support.
diff --git a/osgi/framework/src/org/osgi/framework/BundleEvent.java b/osgi/framework/src/org/osgi/framework/BundleEvent.java
index 04a34a3..5bc8614 100644
--- a/osgi/framework/src/org/osgi/framework/BundleEvent.java
+++ b/osgi/framework/src/org/osgi/framework/BundleEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ import java.util.EventObject;
  * @Immutable
  * @see BundleListener
  * @see SynchronousBundleListener
- * @version $Id: 9e2102212eb526b5f11fdde4b0fc5c171a0b39c8 $
+ * @author $Id: cd49848213816c4f76541b70be12ac3af7900972 $
  */
 
 public class BundleEvent extends EventObject {
@@ -201,16 +201,16 @@ public class BundleEvent extends EventObject {
 	/**
 	 * Returns the type of lifecyle event. The type values are:
 	 * <ul>
-	 * <li>{@link #INSTALLED}
-	 * <li>{@link #RESOLVED}
-	 * <li>{@link #LAZY_ACTIVATION}
-	 * <li>{@link #STARTING}
-	 * <li>{@link #STARTED}
-	 * <li>{@link #STOPPING}
-	 * <li>{@link #STOPPED}
-	 * <li>{@link #UPDATED}
-	 * <li>{@link #UNRESOLVED}
-	 * <li>{@link #UNINSTALLED}
+	 * <li>{@link #INSTALLED}</li>
+	 * <li>{@link #RESOLVED}</li>
+	 * <li>{@link #LAZY_ACTIVATION}</li>
+	 * <li>{@link #STARTING}</li>
+	 * <li>{@link #STARTED}</li>
+	 * <li>{@link #STOPPING}</li>
+	 * <li>{@link #STOPPED}</li>
+	 * <li>{@link #UPDATED}</li>
+	 * <li>{@link #UNRESOLVED}</li>
+	 * <li>{@link #UNINSTALLED}</li>
 	 * </ul>
 	 * 
 	 * @return The type of lifecycle event.
diff --git a/osgi/framework/src/org/osgi/framework/BundleException.java b/osgi/framework/src/org/osgi/framework/BundleException.java
index c47eb77..dfed442 100644
--- a/osgi/framework/src/org/osgi/framework/BundleException.java
+++ b/osgi/framework/src/org/osgi/framework/BundleException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ package org.osgi.framework;
  * <p>
  * This exception conforms to the general purpose exception chaining mechanism.
  * 
- * @version $Id: 0c97ed2696b4576d61440020922b1a97545beb1e $
+ * @author $Id: a0d23c4cb73b0d6386bcd6b9eebed29fdd9a4deb $
  */
 
 public class BundleException extends Exception {
@@ -203,6 +203,7 @@ public class BundleException extends Exception {
 	 * @return The cause of this exception or {@code null} if no cause was set.
 	 * @since 1.3
 	 */
+	@Override
 	public Throwable getCause() {
 		return super.getCause();
 	}
@@ -218,6 +219,7 @@ public class BundleException extends Exception {
 	 *         been set.
 	 * @since 1.3
 	 */
+	@Override
 	public Throwable initCause(Throwable cause) {
 		return super.initCause(cause);
 	}
diff --git a/osgi/framework/src/org/osgi/framework/BundleListener.java b/osgi/framework/src/org/osgi/framework/BundleListener.java
index 8d86d30..c177187 100644
--- a/osgi/framework/src/org/osgi/framework/BundleListener.java
+++ b/osgi/framework/src/org/osgi/framework/BundleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework;
 
 import java.util.EventListener;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A {@code BundleEvent} listener. {@code BundleListener} is a listener
@@ -34,9 +35,9 @@ import java.util.EventListener;
  * 
  * @see BundleEvent
  * @NotThreadSafe
- * @version $Id: d48b4a8a59c839466a3d749dde23980d236f58c6 $
+ * @author $Id: 2c27d37a3a77e1c80f9b022f8dc2f614dff5f5ef $
  */
-
+ at ConsumerType
 public interface BundleListener extends EventListener {
 	/**
 	 * Receives notification that a bundle has had a lifecycle change.
diff --git a/osgi/framework/src/org/osgi/framework/BundlePermission.java b/osgi/framework/src/org/osgi/framework/BundlePermission.java
index f9e64ae..08c28cd 100644
--- a/osgi/framework/src/org/osgi/framework/BundlePermission.java
+++ b/osgi/framework/src/org/osgi/framework/BundlePermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -58,7 +58,7 @@ import java.util.Map;
  * 
  * @since 1.3
  * @ThreadSafe
- * @version $Id: ccba905e3373800dfdb080118e97145abf778da2 $
+ * @author $Id: 5d3a115a2622919f564e2a2f46d70090ad9859cb $
  */
 
 public final class BundlePermission extends BasicPermission {
@@ -287,6 +287,7 @@ public final class BundlePermission extends BasicPermission {
 	 * @return {@code true} if the specified {@code BundlePermission} action is
 	 *         implied by this object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof BundlePermission)) {
 			return false;
@@ -309,6 +310,7 @@ public final class BundlePermission extends BasicPermission {
 	 * @return Canonical string representation of the {@code BundlePermission
 	 *         } actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -351,6 +353,7 @@ public final class BundlePermission extends BasicPermission {
 	 * 
 	 * @return A new {@code PermissionCollection} object.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new BundlePermissionCollection();
 	}
@@ -368,6 +371,7 @@ public final class BundlePermission extends BasicPermission {
 	 *         has the same bundle symbolic name and actions as this
 	 *         {@code BundlePermission} object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -387,6 +391,7 @@ public final class BundlePermission extends BasicPermission {
 	 * 
 	 * @return A hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -461,6 +466,7 @@ final class BundlePermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code BundlePermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(final Permission permission) {
 		if (!(permission instanceof BundlePermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -500,6 +506,7 @@ final class BundlePermissionCollection extends PermissionCollection {
 	 * @return {@code true} if {@code permission} is a proper subset of a
 	 *         permission in the set; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(final Permission permission) {
 		if (!(permission instanceof BundlePermission)) {
 			return false;
@@ -559,6 +566,7 @@ final class BundlePermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all {@code BundlePermission} objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		return Collections.enumeration(all);
@@ -577,6 +585,7 @@ final class BundlePermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
+		@SuppressWarnings("unchecked")
 		Hashtable<String, BundlePermission> hashtable = (Hashtable<String, BundlePermission>) gfields.get("permissions", null);
 		permissions = new HashMap<String, BundlePermission>(hashtable);
 		all_allowed = gfields.get("all_allowed", false);
diff --git a/osgi/framework/src/org/osgi/framework/BundleReference.java b/osgi/framework/src/org/osgi/framework/BundleReference.java
index 97340f7..8cd2df5 100644
--- a/osgi/framework/src/org/osgi/framework/BundleReference.java
+++ b/osgi/framework/src/org/osgi/framework/BundleReference.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2009, 2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2009, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,14 +16,16 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ProviderType;
+
 /**
  * A reference to a Bundle.
  * 
  * @since 1.5
  * @ThreadSafe
- * @noimplement
- * @version $Id: e61bd3e020264b04022a430fe09a85ee3aabf1a3 $
+ * @author $Id: ad4e0b99177540205a1a8f37f9075989434cc59f $
  */
+ at ProviderType
 public interface BundleReference {
 	/**
 	 * Returns the {@code Bundle} object associated with this
diff --git a/osgi/framework/src/org/osgi/framework/CapabilityPermission.java b/osgi/framework/src/org/osgi/framework/CapabilityPermission.java
old mode 100644
new mode 100755
index c27e1ac..56b1eb5
--- a/osgi/framework/src/org/osgi/framework/CapabilityPermission.java
+++ b/osgi/framework/src/org/osgi/framework/CapabilityPermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,13 +41,13 @@ import java.util.Set;
  * A bundle's authority to provide or require a capability.
  * <ul>
  * <li>The {@code provide} action allows a bundle to provide a capability
- * matching the specified filter.
+ * matching the specified filter.</li>
  * <li>The {@code require} action allows a bundle to require a capability
- * matching the specified filter.
+ * matching the specified filter.</li>
  * </ul>
  * 
  * @ThreadSafe
- * @version $Id: b17bcaec959f67c3eae4c4c80c39a0a8716b22dc $
+ * @author $Id: 1d8e892cf46d7410cd3fdff1f5ca2fb010a33ae6 $
  * @since 1.6
  */
 
@@ -334,6 +334,7 @@ public final class CapabilityPermission extends BasicPermission {
 	 * @return {@code true} if the specified permission is implied by this
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof CapabilityPermission)) {
 			return false;
@@ -382,6 +383,7 @@ public final class CapabilityPermission extends BasicPermission {
 	 * 
 	 * @return The canonical string representation of the actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -413,6 +415,7 @@ public final class CapabilityPermission extends BasicPermission {
 	 * @return A new {@code PermissionCollection} object suitable for storing
 	 *         {@code CapabilityPermission} objects.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new CapabilityPermissionCollection();
 	}
@@ -428,6 +431,7 @@ public final class CapabilityPermission extends BasicPermission {
 	 *         name and actions as this {@code CapabilityPermission} object;
 	 *         {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -448,6 +452,7 @@ public final class CapabilityPermission extends BasicPermission {
 	 * 
 	 * @return Hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -486,9 +491,8 @@ public final class CapabilityPermission extends BasicPermission {
 	}
 
 	/**
-	 * Called by {@code <@link CapabilityPermission#implies(Permission)>}. This
-	 * method is only called on a requested permission which cannot have a
-	 * filter set.
+	 * Called by {@link CapabilityPermission#implies(Permission)}. This method
+	 * is only called on a requested permission which cannot have a filter set.
 	 * 
 	 * @return a map of properties for this permission.
 	 */
@@ -502,8 +506,8 @@ public final class CapabilityPermission extends BasicPermission {
 		if (bundle == null) {
 			return properties = props;
 		}
-		AccessController.doPrivileged(new PrivilegedAction<Object>() {
-			public Object run() {
+		AccessController.doPrivileged(new PrivilegedAction<Void>() {
+			public Void run() {
 				props.put("id", new Long(bundle.getBundleId()));
 				props.put("location", bundle.getLocation());
 				String name = bundle.getSymbolicName();
@@ -531,6 +535,7 @@ public final class CapabilityPermission extends BasicPermission {
 			entries = null;
 		}
 
+		@Override
 		public Object get(Object k) {
 			if (!(k instanceof String)) {
 				return null;
@@ -609,6 +614,7 @@ final class CapabilityPermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code CapabilityPermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(final Permission permission) {
 		if (!(permission instanceof CapabilityPermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -663,6 +669,7 @@ final class CapabilityPermissionCollection extends PermissionCollection {
 	 * @return {@code true} if {@code permission} is a proper subset of a
 	 *         permission in the set; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(final Permission permission) {
 		if (!(permission instanceof CapabilityPermission)) {
 			return false;
@@ -743,6 +750,7 @@ final class CapabilityPermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all the CapabilityPermission objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		Map<String, CapabilityPermission> pc = filterPermissions;
@@ -766,9 +774,11 @@ final class CapabilityPermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
+		@SuppressWarnings("unchecked")
 		HashMap<String, CapabilityPermission> p = (HashMap<String, CapabilityPermission>) gfields.get("permissions", null);
 		permissions = p;
 		all_allowed = gfields.get("all_allowed", false);
+		@SuppressWarnings("unchecked")
 		HashMap<String, CapabilityPermission> fp = (HashMap<String, CapabilityPermission>) gfields.get("filterPermissions", null);
 		filterPermissions = fp;
 	}
diff --git a/osgi/framework/src/org/osgi/framework/Configurable.java b/osgi/framework/src/org/osgi/framework/Configurable.java
index 5fa08c4..62abd45 100644
--- a/osgi/framework/src/org/osgi/framework/Configurable.java
+++ b/osgi/framework/src/org/osgi/framework/Configurable.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ package org.osgi.framework;
  * {@code instanceof Configurable}.
  * 
  * @deprecated As of 1.2. Please use Configuration Admin service.
- * @version $Id: 1018601ae90d2d16ec34136db4b04dca3ccf8e65 $
+ * @author $Id: dce95833dd076e870099385a306989959a84aafd $
  */
 public interface Configurable {
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/Constants.java b/osgi/framework/src/org/osgi/framework/Constants.java
index 10618a1..2815b24 100644
--- a/osgi/framework/src/org/osgi/framework/Constants.java
+++ b/osgi/framework/src/org/osgi/framework/Constants.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.hooks.bundle.CollisionHook;
 import org.osgi.framework.launch.Framework;
 
@@ -28,10 +29,9 @@ import org.osgi.framework.launch.Framework;
  * otherwise indicated.
  * 
  * @since 1.1
- * @noimplement
- * @version $Id: 6d07a4c3e29a5cd93b3daf0f9fcdab5472b357f6 $
+ * @author $Id: 6873c6f7d537ddbe39a6a2eba107ca3c2de49ce5 $
  */
-
+ at ProviderType
 public interface Constants {
 	/**
 	 * Location identifier of the OSGi <i>system bundle </i>, which is defined
@@ -48,6 +48,14 @@ public interface Constants {
 	String	SYSTEM_BUNDLE_SYMBOLICNAME				= "system.bundle";
 
 	/**
+	 * Identifier of the OSGi <i>system bundle </i>, which is defined to be
+	 * {@code 0}.
+	 * 
+	 * @since 1.8
+	 */
+	long	SYSTEM_BUNDLE_ID						= 0L;
+
+	/**
 	 * Manifest header identifying the bundle's category.
 	 * <p>
 	 * The header value may be retrieved from the {@code Dictionary} object
@@ -196,7 +204,7 @@ public interface Constants {
 	String	BUNDLE_CONTACTADDRESS					= "Bundle-ContactAddress";
 
 	/**
-	 * Manifest header attribute identifying the bundle's activator class.
+	 * Manifest header identifying the bundle's activator class.
 	 * 
 	 * <p>
 	 * If present, this header specifies the name of the bundle resource class
@@ -211,6 +219,19 @@ public interface Constants {
 	String	BUNDLE_ACTIVATOR						= "Bundle-Activator";
 
 	/**
+	 * Manifest header identifying the extension bundle's activator class.
+	 * 
+	 * <p>
+	 * If present, this header specifies the name of the extension bundle
+	 * resource class that implements the {@code BundleActivator} interface and
+	 * whose {@code start} and {@code stop} methods are called by the Framework
+	 * when the Framework is initialized and shutdown, respectively.
+	 * 
+	 * @since 1.8
+	 */
+	String	EXTENSION_BUNDLE_ACTIVATOR				= "ExtensionBundle-Activator";
+
+	/**
 	 * Manifest header identifying the location from which a new bundle version
 	 * is obtained during a bundle update operation.
 	 * 
@@ -387,7 +408,8 @@ public interface Constants {
 	 * like:
 	 * 
 	 * <pre>
-	 *     Bundle-SymbolicName: com.acme.module.test; fragment-attachment:="resolve-time"
+	 *     Bundle-SymbolicName: com.acme.module.test;
+	 *       fragment-attachment:="resolve-time"
 	 * </pre>
 	 * 
 	 * @see #FRAGMENT_ATTACHMENT_DIRECTIVE
@@ -543,7 +565,8 @@ public interface Constants {
 	 * like:
 	 * 
 	 * <pre>
-	 *     Import-Package: org.osgi.framework; bundle-symbolic-name="com.acme.module.test"
+	 *     Import-Package: org.osgi.framework;
+	 *       bundle-symbolic-name="com.acme.module.test"
 	 * </pre>
 	 * 
 	 * @see #IMPORT_PACKAGE
@@ -786,6 +809,9 @@ public interface Constants {
 	 *     Fragment-Host: system.bundle; extension:="framework"
 	 * </pre>
 	 * 
+	 * <p>
+	 * The default value is {@link #EXTENSION_FRAMEWORK framework}.
+	 * 
 	 * @see #FRAGMENT_HOST
 	 * @see #EXTENSION_FRAMEWORK
 	 * @see #EXTENSION_BOOTCLASSPATH
@@ -1257,9 +1283,10 @@ public interface Constants {
 	 * 
 	 * <p>
 	 * The value of this property is assigned by the Framework when a service is
-	 * registered. The Framework assigns a unique value that is larger than all
-	 * previously assigned values since the Framework was started. These values
-	 * are NOT persistent across restarts of the Framework.
+	 * registered. The Framework assigns a unique, non-negative value that is
+	 * larger than all previously assigned values since the Framework was
+	 * started. These values are NOT persistent across restarts of the
+	 * Framework.
 	 */
 	String	SERVICE_ID								= "service.id";
 
@@ -1331,6 +1358,66 @@ public interface Constants {
 	String	SERVICE_DESCRIPTION						= "service.description";
 
 	/**
+	 * Service property identifying the {@link Bundle#getBundleId() bundle id}
+	 * of the {@link ServiceReference#getBundle() bundle registering the
+	 * service}.
+	 * 
+	 * <p>
+	 * This property is set by the Framework when a service is registered. The
+	 * value of this property must be of type {@code Long}.
+	 * 
+	 * @since 1.8
+	 */
+	String	SERVICE_BUNDLEID						= "service.bundleid";
+
+	/**
+	 * Service property identifying a service's scope.
+	 * 
+	 * <p>
+	 * This property is set by the Framework when a service is registered. If
+	 * the registered object implements {@link PrototypeServiceFactory}, then
+	 * the value of this service property will be {@link #SCOPE_PROTOTYPE}.
+	 * Otherwise, if the registered object implements {@link ServiceFactory},
+	 * then the value of this service property will be {@link #SCOPE_BUNDLE}.
+	 * Otherwise, the value of this service property will be
+	 * {@link #SCOPE_SINGLETON}.
+	 * 
+	 * @since 1.8
+	 * @see #SCOPE_SINGLETON
+	 * @see #SCOPE_BUNDLE
+	 * @see #SCOPE_PROTOTYPE
+	 */
+	String	SERVICE_SCOPE							= "service.scope";
+
+	/**
+	 * Service scope is singleton. All bundles using the service receive the
+	 * same service object.
+	 * 
+	 * @since 1.8
+	 * @see #SERVICE_SCOPE
+	 */
+	String	SCOPE_SINGLETON							= "singleton";
+
+	/**
+	 * Service scope is bundle. Each bundle using the service receives a
+	 * customized service object.
+	 * 
+	 * @since 1.8
+	 * @see #SERVICE_SCOPE
+	 */
+	String	SCOPE_BUNDLE							= "bundle";
+
+	/**
+	 * Service scope is prototype. Each bundle using the service receives either
+	 * a customized service object or can request multiple customized service
+	 * objects via {@link ServiceObjects}.
+	 * 
+	 * @since 1.8
+	 * @see #SERVICE_SCOPE
+	 */
+	String	SCOPE_PROTOTYPE							= "prototype";
+
+	/**
 	 * Framework environment property identifying the Framework's universally
 	 * unique identifier (UUID). A UUID represents a 128-bit value. A new UUID
 	 * is generated by the {@link Framework#init()} method each time a framework
@@ -1700,4 +1787,26 @@ public interface Constants {
 	 * @see BundleException#DUPLICATE_BUNDLE_ERROR
 	 */
 	String	FRAMEWORK_BSNVERSION_MANAGED			= "managed";
+
+	/**
+	 * Manifest header identifying the bundle's icon URLs.
+	 * 
+	 * <p>
+	 * The header value may be retrieved from the {@code Dictionary} object
+	 * returned by the {@code Bundle.getHeaders} method.
+	 * 
+	 * @since 1.8
+	 */
+	String	BUNDLE_ICON								= "Bundle-Icon";
+
+	/**
+	 * Manifest header identifying the bundle's license information.
+	 * 
+	 * <p>
+	 * The header value may be retrieved from the {@code Dictionary} object
+	 * returned by the {@code Bundle.getHeaders} method.
+	 * 
+	 * @since 1.8
+	 */
+	String	BUNDLE_LICENSE							= "Bundle-License";
 }
diff --git a/osgi/framework/src/org/osgi/framework/Filter.java b/osgi/framework/src/org/osgi/framework/Filter.java
index 230a6e9..25a60b9 100644
--- a/osgi/framework/src/org/osgi/framework/Filter.java
+++ b/osgi/framework/src/org/osgi/framework/Filter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.osgi.framework;
 
 import java.util.Dictionary;
 import java.util.Map;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * An <a href="http://www.ietf.org/rfc/rfc1960.txt">RFC 1960</a>-based Filter.
@@ -41,9 +42,9 @@ import java.util.Map;
  * @since 1.1
  * @see "Core Specification, Filters, for a description of the filter string syntax."
  * @ThreadSafe
- * @noimplement
- * @version $Id: 807a04ac07c3230b8f4d4e0f9588a35fbdc41e18 $
+ * @author $Id: 58cd4db16892b20e44be1288ccac929a5a26c53a $
  */
+ at ProviderType
 public interface Filter {
 	/**
 	 * Filter using a service's properties.
diff --git a/osgi/framework/src/org/osgi/framework/FrameworkEvent.java b/osgi/framework/src/org/osgi/framework/FrameworkEvent.java
index 59fa92e..06a62f8 100644
--- a/osgi/framework/src/org/osgi/framework/FrameworkEvent.java
+++ b/osgi/framework/src/org/osgi/framework/FrameworkEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,7 +33,7 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * 
  * @Immutable
  * @see FrameworkListener
- * @version $Id: f679c7581879a2e6006ecdd317a5dd5f735764e3 $
+ * @author $Id: 7b74a68311acf2116ccf21e589ece0ce2cd383ba $
  */
 
 public class FrameworkEvent extends EventObject {
@@ -223,16 +223,16 @@ public class FrameworkEvent extends EventObject {
 	 * <p>
 	 * The type values are:
 	 * <ul>
-	 * <li>{@link #STARTED}
-	 * <li>{@link #ERROR}
-	 * <li>{@link #WARNING}
-	 * <li>{@link #INFO}
-	 * <li>{@link #PACKAGES_REFRESHED}
-	 * <li>{@link #STARTLEVEL_CHANGED}
-	 * <li>{@link #STOPPED}
-	 * <li>{@link #STOPPED_BOOTCLASSPATH_MODIFIED}
-	 * <li>{@link #STOPPED_UPDATE}
-	 * <li>{@link #WAIT_TIMEDOUT}
+	 * <li>{@link #STARTED}</li>
+	 * <li>{@link #ERROR}</li>
+	 * <li>{@link #WARNING}</li>
+	 * <li>{@link #INFO}</li>
+	 * <li>{@link #PACKAGES_REFRESHED}</li>
+	 * <li>{@link #STARTLEVEL_CHANGED}</li>
+	 * <li>{@link #STOPPED}</li>
+	 * <li>{@link #STOPPED_BOOTCLASSPATH_MODIFIED}</li>
+	 * <li>{@link #STOPPED_UPDATE}</li>
+	 * <li>{@link #WAIT_TIMEDOUT}</li>
 	 * </ul>
 	 * 
 	 * @return The type of state change.
diff --git a/osgi/framework/src/org/osgi/framework/FrameworkListener.java b/osgi/framework/src/org/osgi/framework/FrameworkListener.java
index 7e1e813..1ed8faa 100644
--- a/osgi/framework/src/org/osgi/framework/FrameworkListener.java
+++ b/osgi/framework/src/org/osgi/framework/FrameworkListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework;
 
 import java.util.EventListener;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A {@code FrameworkEvent} listener. {@code FrameworkListener} is a listener
@@ -34,9 +35,9 @@ import java.util.EventListener;
  * 
  * @see FrameworkEvent
  * @NotThreadSafe
- * @version $Id: ad7f563bd13b60e2b8a378f147057ca7f0accae2 $
+ * @author $Id: 97c76c64c6e6595ad445dcc2d8083d52540f73b8 $
  */
-
+ at ConsumerType
 public interface FrameworkListener extends EventListener {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/InvalidSyntaxException.java b/osgi/framework/src/org/osgi/framework/InvalidSyntaxException.java
index e2296c0..03f6f2b 100644
--- a/osgi/framework/src/org/osgi/framework/InvalidSyntaxException.java
+++ b/osgi/framework/src/org/osgi/framework/InvalidSyntaxException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,7 @@ package org.osgi.framework;
  * <p>
  * This exception conforms to the general purpose exception chaining mechanism.
  * 
- * @version $Id: 8820ca2db85b557cef8da09ee861249dfb5ee914 $
+ * @author $Id: 59696296eff1574fa844e3a0a975ba6c83ec59af $
  */
 
 public class InvalidSyntaxException extends Exception {
@@ -99,6 +99,7 @@ public class InvalidSyntaxException extends Exception {
 	 * @return The cause of this exception or {@code null} if no cause was set.
 	 * @since 1.3
 	 */
+	@Override
 	public Throwable getCause() {
 		return super.getCause();
 	}
@@ -114,6 +115,7 @@ public class InvalidSyntaxException extends Exception {
 	 *         been set.
 	 * @since 1.3
 	 */
+	@Override
 	public Throwable initCause(Throwable cause) {
 		return super.initCause(cause);
 	}
diff --git a/osgi/framework/src/org/osgi/framework/PackagePermission.java b/osgi/framework/src/org/osgi/framework/PackagePermission.java
index 62d0d8d..940ee4f 100644
--- a/osgi/framework/src/org/osgi/framework/PackagePermission.java
+++ b/osgi/framework/src/org/osgi/framework/PackagePermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -54,7 +54,7 @@ import java.util.Map;
  * deprecated, implies the {@code import} action.
  * 
  * @ThreadSafe
- * @version $Id: e993fbc36b6bff84182a8594af5af3cad8c4e2a3 $
+ * @author $Id: c2d45ff158a6a19ff7bc155af3ac9941cb6a89d6 $
  */
 
 public final class PackagePermission extends BasicPermission {
@@ -372,6 +372,7 @@ public final class PackagePermission extends BasicPermission {
 	 * @return {@code true} if the specified permission is implied by this
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof PackagePermission)) {
 			return false;
@@ -424,6 +425,7 @@ public final class PackagePermission extends BasicPermission {
 	 * @return Canonical string representation of the {@code PackagePermission}
 	 *         actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -453,6 +455,7 @@ public final class PackagePermission extends BasicPermission {
 	 * 
 	 * @return A new {@code PermissionCollection} object.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new PackagePermissionCollection();
 	}
@@ -470,6 +473,7 @@ public final class PackagePermission extends BasicPermission {
 	 *         has the same package name and actions as this
 	 *         {@code PackagePermission} object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -489,6 +493,7 @@ public final class PackagePermission extends BasicPermission {
 	 * 
 	 * @return A hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -525,9 +530,8 @@ public final class PackagePermission extends BasicPermission {
 	}
 
 	/**
-	 * Called by {@code <@link PackagePermission#implies(Permission)>}. This
-	 * method is only called on a requested permission which cannot have a
-	 * filter set.
+	 * Called by {@link PackagePermission#implies(Permission)}. This method is
+	 * only called on a requested permission which cannot have a filter set.
 	 * 
 	 * @return a map of properties for this permission.
 	 */
@@ -539,8 +543,8 @@ public final class PackagePermission extends BasicPermission {
 		final Map<String, Object> map = new HashMap<String, Object>(5);
 		map.put("package.name", getName());
 		if (bundle != null) {
-			AccessController.doPrivileged(new PrivilegedAction<Object>() {
-				public Object run() {
+			AccessController.doPrivileged(new PrivilegedAction<Void>() {
+				public Void run() {
 					map.put("id", new Long(bundle.getBundleId()));
 					map.put("location", bundle.getLocation());
 					String name = bundle.getSymbolicName();
@@ -610,6 +614,7 @@ final class PackagePermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code PackagePermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(final Permission permission) {
 		if (!(permission instanceof PackagePermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -666,6 +671,7 @@ final class PackagePermissionCollection extends PermissionCollection {
 	 * @return {@code true} if {@code permission} is a proper subset of a
 	 *         permission in the set; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(final Permission permission) {
 		if (!(permission instanceof PackagePermission)) {
 			return false;
@@ -744,6 +750,7 @@ final class PackagePermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all {@code PackagePermission} objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		Map<String, PackagePermission> pc = filterPermissions;
@@ -768,9 +775,11 @@ final class PackagePermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
+		@SuppressWarnings("unchecked")
 		Hashtable<String, PackagePermission> hashtable = (Hashtable<String, PackagePermission>) gfields.get("permissions", null);
 		permissions = new HashMap<String, PackagePermission>(hashtable);
 		all_allowed = gfields.get("all_allowed", false);
+		@SuppressWarnings("unchecked")
 		HashMap<String, PackagePermission> fp = (HashMap<String, PackagePermission>) gfields.get("filterPermissions", null);
 		filterPermissions = fp;
 	}
diff --git a/osgi/framework/src/org/osgi/framework/PrototypeServiceFactory.java b/osgi/framework/src/org/osgi/framework/PrototypeServiceFactory.java
new file mode 100644
index 0000000..0561ccc
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/PrototypeServiceFactory.java
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework;
+
+import org.osgi.annotation.versioning.ConsumerType;
+
+/**
+ * A factory for {@link Constants#SCOPE_PROTOTYPE prototype scope} services. The
+ * factory can provide multiple, customized service objects in the OSGi
+ * environment.
+ * 
+ * <p>
+ * When registering a service, a {@code PrototypeServiceFactory} object can be
+ * used instead of a service object, so that the bundle developer can create a
+ * customized service object for each caller that is using the service.
+ * 
+ * <p>
+ * When a caller uses a {@link ServiceObjects} to
+ * {@link ServiceObjects#getService() request} a service object, the framework
+ * calls the {@link #getService(Bundle, ServiceRegistration) getService} method
+ * to return a service object customized for the requesting caller. The caller
+ * can {@link ServiceObjects#ungetService(Object) release} the returned service
+ * object and the framework will call the
+ * {@link #ungetService(Bundle, ServiceRegistration, Object) ungetService}
+ * method with the service object.
+ * 
+ * <p>
+ * When a bundle uses the {@link BundleContext#getService(ServiceReference)}
+ * method to obtain a service object, the framework must act as if the service
+ * has {@link Constants#SCOPE_BUNDLE bundle scope}. That is, the framework will
+ * call the {@link #getService(Bundle, ServiceRegistration) getService} method
+ * to obtain a bundle-scoped service object which will be cached and have a use
+ * count. See {@link ServiceFactory}.
+ * 
+ * <p>
+ * A bundle can use both {@link ServiceObjects} and
+ * {@link BundleContext#getService(ServiceReference)} to obtain a service object
+ * for a service. {@link ServiceObjects#getService()} will always return a
+ * service object provided by a call to
+ * {@link #getService(Bundle, ServiceRegistration)} and
+ * {@link BundleContext#getService(ServiceReference)} will always return the
+ * bundle-scoped service object.
+ * 
+ * <p>
+ * {@code PrototypeServiceFactory} objects are only used by the Framework and
+ * are not made available to other bundles in the OSGi environment. The
+ * Framework may concurrently call a {@code PrototypeServiceFactory}.
+ * 
+ * @param <S> Type of Service
+ * @see BundleContext#getServiceObjects(ServiceReference)
+ * @see ServiceObjects
+ * @ThreadSafe
+ * @since 1.8
+ * @author $Id: 12129fe6e66b1c9488f3cca84ac228f9baaea083 $
+ */
+ at ConsumerType
+public interface PrototypeServiceFactory<S> extends ServiceFactory<S> {
+	/**
+	 * Returns a service object for a caller.
+	 * 
+	 * <p>
+	 * The Framework invokes this method for each caller requesting a service
+	 * object using {@link ServiceObjects#getService()}. The factory can then
+	 * return a customized service object for the caller.
+	 * 
+	 * <p>
+	 * The Framework must check that the returned service object is valid. If
+	 * the returned service object is {@code null} or is not an
+	 * {@code instanceof} all the classes named when the service was registered,
+	 * a framework event of type {@link FrameworkEvent#ERROR} is fired
+	 * containing a service exception of type
+	 * {@link ServiceException#FACTORY_ERROR} and {@code null} is returned to
+	 * the caller. If this method throws an exception, a framework event of type
+	 * {@link FrameworkEvent#ERROR} is fired containing a service exception of
+	 * type {@link ServiceException#FACTORY_EXCEPTION} with the thrown exception
+	 * as the cause and {@code null} is returned to the caller.
+	 * 
+	 * @param bundle The bundle requesting the service.
+	 * @param registration The {@code ServiceRegistration} object for the
+	 *        requested service.
+	 * @return A service object that <strong>must</strong> be an instance of all
+	 *         the classes named when the service was registered.
+	 * @see ServiceObjects#getService()
+	 */
+	public S getService(Bundle bundle, ServiceRegistration<S> registration);
+
+	/**
+	 * Releases a service object customized for a caller.
+	 * 
+	 * <p>
+	 * The Framework invokes this method when a service has been released by a
+	 * bundle such as by calling {@link ServiceObjects#ungetService(Object)}.
+	 * The service object may then be destroyed.
+	 * 
+	 * <p>
+	 * If this method throws an exception, a framework event of type
+	 * {@link FrameworkEvent#ERROR} is fired containing a service exception of
+	 * type {@link ServiceException#FACTORY_EXCEPTION} with the thrown exception
+	 * as the cause.
+	 * 
+	 * @param bundle The bundle releasing the service.
+	 * @param registration The {@code ServiceRegistration} object for the
+	 *        service being released.
+	 * @param service The service object returned by a previous call to the
+	 *        {@link #getService(Bundle, ServiceRegistration) getService}
+	 *        method.
+	 * @see ServiceObjects#ungetService(Object)
+	 */
+	public void ungetService(Bundle bundle, ServiceRegistration<S> registration, S service);
+}
diff --git a/osgi/framework/src/org/osgi/framework/ServiceEvent.java b/osgi/framework/src/org/osgi/framework/ServiceEvent.java
index 2a59fe8..06eae88 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceEvent.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceEvent.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ import java.util.EventObject;
  * @Immutable
  * @see ServiceListener
  * @see AllServiceListener
- * @version $Id: 49e34e0ad5564d6f4ca0ab0053b272c22b9fb917 $
+ * @author $Id: b27a941cb68e6416825b1b717090a2eb098733f3 $
  */
 
 public class ServiceEvent extends EventObject {
diff --git a/osgi/framework/src/org/osgi/framework/ServiceException.java b/osgi/framework/src/org/osgi/framework/ServiceException.java
index de90784..e0a120c 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceException.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2007, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2007, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,7 +30,7 @@ package org.osgi.framework;
  * <p>
  * This exception conforms to the general purpose exception chaining mechanism.
  * 
- * @version $Id: 9f763412635f59585bb615cbc449fc7ab72b7103 $
+ * @author $Id: 32a515460813c702b127f65dda91cd23781b2a98 $
  * @since 1.5
  */
 
@@ -74,6 +74,12 @@ public class ServiceException extends RuntimeException {
 	 * @since 1.6
 	 */
 	public static final int	FACTORY_RECURSION	= 6;
+	/**
+	 * An asynchronous operation was unable to obtain the service.
+	 * 
+	 * @since 1.8
+	 */
+	public static final int	ASYNC_ERROR			= 7;
 
 	/**
 	 * Creates a {@code ServiceException} with the specified message and
diff --git a/osgi/framework/src/org/osgi/framework/ServiceFactory.java b/osgi/framework/src/org/osgi/framework/ServiceFactory.java
index 4b52fee..1447958 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceFactory.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,26 +16,34 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
- * Allows services to provide customized service objects in the OSGi
+ * A factory for {@link Constants#SCOPE_BUNDLE bundle scope} services. The
+ * factory can provide service objects customized for each bundle in the OSGi
  * environment.
  * 
  * <p>
  * When registering a service, a {@code ServiceFactory} object can be used
- * instead of a service object, so that the bundle developer can gain control of
- * the specific service object granted to a bundle that is using the service.
+ * instead of a service object, so that the bundle developer can create a
+ * customized service object for each bundle that is using the service.
  * 
  * <p>
- * When this happens, the {@code BundleContext.getService(ServiceReference)}
- * method calls the {@code ServiceFactory.getService} method to create a service
- * object specifically for the requesting bundle. The service object returned by
- * the {@code ServiceFactory} is cached by the Framework until the bundle
- * releases its use of the service.
+ * When a bundle {@link BundleContext#getService(ServiceReference) requests} the
+ * service object, the framework calls the
+ * {@link #getService(Bundle, ServiceRegistration) getService} method to return
+ * a service object customized for the requesting bundle. The returned service
+ * object is cached by the Framework for subsequent calls to
+ * {@link BundleContext#getService(ServiceReference)} until the bundle releases
+ * its use of the service.
  * 
  * <p>
- * When the bundle's use count for the service is decremented to zero (including
- * the bundle stopping or the service being unregistered), the
- * {@code ServiceFactory.ungetService} method is called.
+ * When the bundle's use count for the service is
+ * {@link BundleContext#ungetService(ServiceReference) decremented} to zero
+ * (including the bundle stopping or the service being unregistered), the
+ * framework will call the
+ * {@link #ungetService(Bundle, ServiceRegistration, Object) ungetService}
+ * method.
  * 
  * <p>
  * {@code ServiceFactory} objects are only used by the Framework and are not
@@ -45,18 +53,18 @@ package org.osgi.framework;
  * @param <S> Type of Service
  * @see BundleContext#getService(ServiceReference)
  * @ThreadSafe
- * @version $Id: 535776e702ec5ace54f577218ff8f7920741558b $
+ * @author $Id: f11fc6bee18315fb659c7987d1b66f1c9c95548a $
  */
-
+ at ConsumerType
 public interface ServiceFactory<S> {
 	/**
-	 * Creates a new service object.
+	 * Returns a service object for a bundle.
 	 * 
 	 * <p>
 	 * The Framework invokes this method the first time the specified
 	 * {@code bundle} requests a service object using the
-	 * {@code BundleContext.getService(ServiceReference)} method. The service
-	 * factory can then return a specific service object for each bundle.
+	 * {@link BundleContext#getService(ServiceReference)} method. The factory
+	 * can then return a customized service object for each bundle.
 	 * 
 	 * <p>
 	 * The Framework must check that the returned service object is valid. If
@@ -76,9 +84,10 @@ public interface ServiceFactory<S> {
 	 * 
 	 * <p>
 	 * The Framework caches the valid service object and will return the same
-	 * service object on any future call to {@code BundleContext.getService} for
-	 * the specified bundle. This means the Framework must not allow this method
-	 * to be concurrently called for the specified bundle.
+	 * service object on any future call to
+	 * {@link BundleContext#getService(ServiceReference)} for the specified
+	 * bundle. This means the Framework must not allow this method to be
+	 * concurrently called for the specified bundle.
 	 * 
 	 * @param bundle The bundle requesting the service.
 	 * @param registration The {@code ServiceRegistration} object for the
@@ -90,7 +99,7 @@ public interface ServiceFactory<S> {
 	public S getService(Bundle bundle, ServiceRegistration<S> registration);
 
 	/**
-	 * Releases a service object.
+	 * Releases a service object customized for a bundle.
 	 * 
 	 * <p>
 	 * The Framework invokes this method when a service has been released by a
diff --git a/osgi/framework/src/org/osgi/framework/ServiceListener.java b/osgi/framework/src/org/osgi/framework/ServiceListener.java
index 839c1bc..f0d8ae2 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceListener.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework;
 
 import java.util.EventListener;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A {@code ServiceEvent} listener. {@code ServiceListener} is a listener
@@ -49,9 +50,9 @@ import java.util.EventListener;
  * @see ServiceEvent
  * @see ServicePermission
  * @ThreadSafe
- * @version $Id: 601dfda6183ab7f18cd3916958a39734ea141c25 $
+ * @author $Id: 8468dbc769382269184c932d41e084cb2fa58eb9 $
  */
-
+ at ConsumerType
 public interface ServiceListener extends EventListener {
 	/**
 	 * Receives notification that a service has had a lifecycle change.
diff --git a/osgi/framework/src/org/osgi/framework/ServiceObjects.java b/osgi/framework/src/org/osgi/framework/ServiceObjects.java
new file mode 100644
index 0000000..b47e5cc
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/ServiceObjects.java
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework;
+
+import org.osgi.annotation.versioning.ProviderType;
+
+/**
+ * Allows multiple service objects for a service to be obtained.
+ * 
+ * <p>
+ * For services with {@link Constants#SCOPE_PROTOTYPE prototype} scope, multiple
+ * service objects for the service can be obtained. For services with
+ * {@link Constants#SCOPE_SINGLETON singleton} or {@link Constants#SCOPE_BUNDLE
+ * bundle} scope, only one, use-counted service object is available to a
+ * requesting bundle.
+ * 
+ * <p>
+ * Any unreleased service objects obtained from this {@code ServiceObjects}
+ * object are automatically released by the framework when the bundle associated
+ * with the BundleContext used to create this {@code ServiceObjects} object is
+ * stopped.
+ * 
+ * @param <S> Type of Service
+ * @see BundleContext#getServiceObjects(ServiceReference)
+ * @see PrototypeServiceFactory
+ * @ThreadSafe
+ * @since 1.8
+ * @author $Id: 99314fe285a227cd63a21814a2300b109845125f $
+ */
+ at ProviderType
+public interface ServiceObjects<S> {
+	/**
+	 * Returns a service object for the {@link #getServiceReference()
+	 * associated} service.
+	 * 
+	 * <p>
+	 * This {@code ServiceObjects} object can be used to obtain multiple service
+	 * objects for the associated service if the service has
+	 * {@link Constants#SCOPE_PROTOTYPE prototype} scope.
+	 * 
+	 * <p>
+	 * If the associated service has {@link Constants#SCOPE_SINGLETON singleton}
+	 * or {@link Constants#SCOPE_BUNDLE bundle} scope, this method behaves the
+	 * same as calling the {@link BundleContext#getService(ServiceReference)}
+	 * method for the associated service. That is, only one, use-counted service
+	 * object is available from this {@link ServiceObjects} object.
+	 * 
+	 * <p>
+	 * This method will always return {@code null} when the associated service
+	 * has been unregistered.
+	 * 
+	 * <p>
+	 * For a prototype scope service, the following steps are required to obtain
+	 * a service object:
+	 * <ol>
+	 * <li>If the associated service has been unregistered, {@code null} is
+	 * returned.</li>
+	 * <li>The
+	 * {@link PrototypeServiceFactory#getService(Bundle, ServiceRegistration)}
+	 * method is called to supply a customized service object for the caller.</li>
+	 * <li>If the service object returned by the {@code PrototypeServiceFactory}
+	 * object is {@code null}, not an {@code instanceof} all the classes named
+	 * when the service was registered or the {@code PrototypeServiceFactory}
+	 * object throws an exception, {@code null} is returned and a Framework
+	 * event of type {@link FrameworkEvent#ERROR} containing a
+	 * {@link ServiceException} describing the error is fired.</li>
+	 * <li>The customized service object is returned.</li>
+	 * </ol>
+	 * 
+	 * @return A service object for the associated service or {@code null} if
+	 *         the service is not registered, the customized service object
+	 *         returned by a {@code ServiceFactory} does not implement the
+	 *         classes under which it was registered or the
+	 *         {@code ServiceFactory} threw an exception.
+	 * @throws IllegalStateException If the BundleContext used to create this
+	 *         {@code ServiceObjects} object is no longer valid.
+	 * @see #ungetService(Object)
+	 */
+	public S getService();
+
+	/**
+	 * Releases a service object for the {@link #getServiceReference()
+	 * associated} service.
+	 * 
+	 * <p>
+	 * This {@code ServiceObjects} object can be used to obtain multiple service
+	 * objects for the associated service if the service has
+	 * {@link Constants#SCOPE_PROTOTYPE prototype} scope. If the associated
+	 * service has {@link Constants#SCOPE_SINGLETON singleton} or
+	 * {@link Constants#SCOPE_BUNDLE bundle} scope, this method behaves the same
+	 * as calling the {@link BundleContext#ungetService(ServiceReference)}
+	 * method for the associated service. That is, only one, use-counted service
+	 * object is available from this {@link ServiceObjects} object.
+	 * 
+	 * <p>
+	 * For a prototype scope service, the following steps are required to
+	 * release a service object:
+	 * <ol>
+	 * <li>If the associated service has been unregistered, this method returns
+	 * without doing anything.</li>
+	 * <li>The
+	 * {@link PrototypeServiceFactory#ungetService(Bundle, ServiceRegistration, Object)}
+	 * method is called to release the specified service object.</li>
+	 * </ol>
+	 * 
+	 * <p>
+	 * The specified service object must no longer be used and all references to
+	 * it should be destroyed after calling this method.
+	 * 
+	 * @param service A service object previously provided by this
+	 *        {@code ServiceObjects} object.
+	 * @throws IllegalStateException If the BundleContext used to create this
+	 *         {@code ServiceObjects} object is no longer valid.
+	 * @throws IllegalArgumentException If the specified service object was not
+	 *         provided by this {@code ServiceObjects} object.
+	 * @see #getService()
+	 */
+	public void ungetService(S service);
+
+	/**
+	 * Returns the {@link ServiceReference} for the service associated with this
+	 * {@code ServiceObjects} object.
+	 * 
+	 * @return The {@link ServiceReference} for the service associated with this
+	 *         {@code ServiceObjects} object.
+	 */
+	public ServiceReference<S> getServiceReference();
+}
diff --git a/osgi/framework/src/org/osgi/framework/ServicePermission.java b/osgi/framework/src/org/osgi/framework/ServicePermission.java
index 23ecfba..36e7558 100644
--- a/osgi/framework/src/org/osgi/framework/ServicePermission.java
+++ b/osgi/framework/src/org/osgi/framework/ServicePermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -42,8 +42,8 @@ import java.util.Set;
  * A bundle's authority to register or get a service.
  * <ul>
  * <li>The {@code register} action allows a bundle to register a service on the
- * specified names.
- * <li>The {@code get} action allows a bundle to detect a service and get it.
+ * specified names.</li>
+ * <li>The {@code get} action allows a bundle to detect a service and get it.</li>
  * </ul>
  * Permission to get a service is required in order to detect events regarding
  * the service. Untrusted bundles should not be able to detect the presence of
@@ -51,7 +51,7 @@ import java.util.Set;
  * to get the specific service.
  * 
  * @ThreadSafe
- * @version $Id: 96438ad164d7f0f4273787226298bf8208cf0034 $
+ * @author $Id: ff7fc46dd623c0a09b49965048dd6faa2b111b39 $
  */
 
 public final class ServicePermission extends BasicPermission {
@@ -207,7 +207,7 @@ public final class ServicePermission extends BasicPermission {
 		if (reference == null) {
 			throw new IllegalArgumentException("reference must not be null");
 		}
-		StringBuffer sb = new StringBuffer("(service.id=");
+		StringBuffer sb = new StringBuffer("(" + Constants.SERVICE_ID + "=");
 		sb.append(reference.getProperty(Constants.SERVICE_ID));
 		sb.append(")");
 		return sb.toString();
@@ -364,6 +364,7 @@ public final class ServicePermission extends BasicPermission {
 	 * @return {@code true} if the specified permission is implied by this
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(Permission p) {
 		if (!(p instanceof ServicePermission)) {
 			return false;
@@ -438,6 +439,7 @@ public final class ServicePermission extends BasicPermission {
 	 * 
 	 * @return The canonical string representation of the actions.
 	 */
+	@Override
 	public String getActions() {
 		String result = actions;
 		if (result == null) {
@@ -469,6 +471,7 @@ public final class ServicePermission extends BasicPermission {
 	 * @return A new {@code PermissionCollection} object suitable for storing
 	 *         {@code ServicePermission} objects.
 	 */
+	@Override
 	public PermissionCollection newPermissionCollection() {
 		return new ServicePermissionCollection();
 	}
@@ -484,6 +487,7 @@ public final class ServicePermission extends BasicPermission {
 	 *         class name and actions as this {@code ServicePermission} object;
 	 *         {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -503,6 +507,7 @@ public final class ServicePermission extends BasicPermission {
 	 * 
 	 * @return Hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + getName().hashCode();
 		h = 31 * h + getActions().hashCode();
@@ -538,9 +543,8 @@ public final class ServicePermission extends BasicPermission {
 	}
 
 	/**
-	 * Called by {@code <@link ServicePermission#implies(Permission)>}. This
-	 * method is only called on a requested permission which cannot have a
-	 * filter set.
+	 * Called by {@link ServicePermission#implies(Permission)}. This method is
+	 * only called on a requested permission which cannot have a filter set.
 	 * 
 	 * @return a map of properties for this permission.
 	 */
@@ -557,8 +561,8 @@ public final class ServicePermission extends BasicPermission {
 		final Map<String, Object> props = new HashMap<String, Object>(4);
 		final Bundle bundle = service.getBundle();
 		if (bundle != null) {
-			AccessController.doPrivileged(new PrivilegedAction<Object>() {
-				public Object run() {
+			AccessController.doPrivileged(new PrivilegedAction<Void>() {
+				public Void run() {
 					props.put("id", new Long(bundle.getBundleId()));
 					props.put("location", bundle.getLocation());
 					String name = bundle.getSymbolicName();
@@ -587,6 +591,7 @@ public final class ServicePermission extends BasicPermission {
 			entries = null;
 		}
 
+		@Override
 		public Object get(Object k) {
 			if (!(k instanceof String)) {
 				return null;
@@ -639,14 +644,17 @@ public final class ServicePermission extends BasicPermission {
 				throw new UnsupportedOperationException();
 			}
 
+			@Override
 			public String toString() {
 				return k + "=" + v;
 			}
 
+			@Override
 			public int hashCode() {
 				return ((k == null) ? 0 : k.hashCode()) ^ ((v == null) ? 0 : v.hashCode());
 			}
 
+			@Override
 			public boolean equals(Object obj) {
 				if (obj == this) {
 					return true;
@@ -717,6 +725,7 @@ final class ServicePermissionCollection extends PermissionCollection {
 	 * @throws SecurityException If this {@code ServicePermissionCollection}
 	 *         object has been marked read-only.
 	 */
+	@Override
 	public void add(final Permission permission) {
 		if (!(permission instanceof ServicePermission)) {
 			throw new IllegalArgumentException("invalid permission: " + permission);
@@ -771,6 +780,7 @@ final class ServicePermissionCollection extends PermissionCollection {
 	 * @return {@code true} if {@code permission} is a proper subset of a
 	 *         permission in the set; {@code false} otherwise.
 	 */
+	@Override
 	public boolean implies(final Permission permission) {
 		if (!(permission instanceof ServicePermission)) {
 			return false;
@@ -877,6 +887,7 @@ final class ServicePermissionCollection extends PermissionCollection {
 	 * 
 	 * @return Enumeration of all the ServicePermission objects.
 	 */
+	@Override
 	public synchronized Enumeration<Permission> elements() {
 		List<Permission> all = new ArrayList<Permission>(permissions.values());
 		Map<String, ServicePermission> pc = filterPermissions;
@@ -901,9 +912,11 @@ final class ServicePermissionCollection extends PermissionCollection {
 
 	private synchronized void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
 		ObjectInputStream.GetField gfields = in.readFields();
+		@SuppressWarnings("unchecked")
 		Hashtable<String, ServicePermission> hashtable = (Hashtable<String, ServicePermission>) gfields.get("permissions", null);
 		permissions = new HashMap<String, ServicePermission>(hashtable);
 		all_allowed = gfields.get("all_allowed", false);
+		@SuppressWarnings("unchecked")
 		HashMap<String, ServicePermission> fp = (HashMap<String, ServicePermission>) gfields.get("filterPermissions", null);
 		filterPermissions = fp;
 	}
diff --git a/osgi/framework/src/org/osgi/framework/ServiceReference.java b/osgi/framework/src/org/osgi/framework/ServiceReference.java
index 7541517..193f749 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceReference.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceReference.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework;
 
 import java.util.Dictionary;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * A reference to a service.
@@ -46,11 +47,11 @@ import java.util.Dictionary;
  * @see BundleContext#getServiceReferences(Class, String)
  * @see BundleContext#getServiceReferences(String, String)
  * @see BundleContext#getService(ServiceReference)
+ * @see BundleContext#getServiceObjects(ServiceReference)
  * @ThreadSafe
- * @noimplement
- * @version $Id: 75352193f9f11a2c19692890153c6ff91611023b $
+ * @author $Id: a56f8df70e8c74a76a1ef02b714b4612bc064ecc $
  */
-
+ at ProviderType
 public interface ServiceReference<S> extends Comparable<Object> {
 	/**
 	 * Returns the property value to which the specified property key is mapped
diff --git a/osgi/framework/src/org/osgi/framework/ServiceRegistration.java b/osgi/framework/src/org/osgi/framework/ServiceRegistration.java
index 702e918..b50e6cb 100644
--- a/osgi/framework/src/org/osgi/framework/ServiceRegistration.java
+++ b/osgi/framework/src/org/osgi/framework/ServiceRegistration.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework;
 
 import java.util.Dictionary;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * A registered service.
@@ -33,10 +34,9 @@ import java.util.Dictionary;
  * @param <S> Type of Service.
  * @see BundleContext#registerService(String[],Object,Dictionary)
  * @ThreadSafe
- * @noimplement
- * @version $Id: a84248da0db0538708d2394a9478153e06b8afb9 $
+ * @author $Id: 0bc5bfa68ae7cb4a409c066585d3ab4077d80eeb $
  */
-
+ at ProviderType
 public interface ServiceRegistration<S> {
 	/**
 	 * Returns a {@code ServiceReference} object for a service being registered.
@@ -53,15 +53,16 @@ public interface ServiceRegistration<S> {
 	 * Updates the properties associated with a service.
 	 * 
 	 * <p>
-	 * The {@link Constants#OBJECTCLASS} and {@link Constants#SERVICE_ID} keys
+	 * The {@link Constants#OBJECTCLASS}, {@link Constants#SERVICE_BUNDLEID},
+	 * {@link Constants#SERVICE_ID} and {@link Constants#SERVICE_SCOPE} keys
 	 * cannot be modified by this method. These values are set by the Framework
 	 * when the service is registered in the OSGi environment.
 	 * 
 	 * <p>
 	 * The following steps are required to modify service properties:
 	 * <ol>
-	 * <li>The service's properties are replaced with the provided properties.
-	 * <li>A service event of type {@link ServiceEvent#MODIFIED} is fired.
+	 * <li>The service's properties are replaced with the provided properties.</li>
+	 * <li>A service event of type {@link ServiceEvent#MODIFIED} is fired.</li>
 	 * </ol>
 	 * 
 	 * @param properties The properties for this service. See {@link Constants}
@@ -86,18 +87,21 @@ public interface ServiceRegistration<S> {
 	 * The following steps are required to unregister a service:
 	 * <ol>
 	 * <li>The service is removed from the Framework service registry so that it
-	 * can no longer be obtained.
+	 * can no longer be obtained.</li>
 	 * <li>A service event of type {@link ServiceEvent#UNREGISTERING} is fired
 	 * so that bundles using this service can release their use of the service.
 	 * Once delivery of the service event is complete, the
 	 * {@code ServiceReference} objects for the service may no longer be used to
-	 * get a service object for the service.
+	 * get a service object for the service.</li>
 	 * <li>For each bundle whose use count for this service is greater than
-	 * zero: <br>
-	 * The bundle's use count for this service is set to zero. <br>
-	 * If the service was registered with a {@link ServiceFactory} object, the
-	 * {@code ServiceFactory.ungetService} method is called to release the
-	 * service object for the bundle.
+	 * zero:
+	 * <ul>
+	 * <li>The bundle's use count for this service is set to zero.</li>
+	 * <li>If the service was registered with a {@link ServiceFactory} object,
+	 * the {@code ServiceFactory.ungetService} method is called to release the
+	 * service object for the bundle.</li>
+	 * </ul>
+	 * </li>
 	 * </ol>
 	 * 
 	 * @throws IllegalStateException If this {@code ServiceRegistration} object
diff --git a/osgi/framework/src/org/osgi/framework/SignerProperty.java b/osgi/framework/src/org/osgi/framework/SignerProperty.java
index 9236dfa..0dbb6ca 100644
--- a/osgi/framework/src/org/osgi/framework/SignerProperty.java
+++ b/osgi/framework/src/org/osgi/framework/SignerProperty.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2009, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2009, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,7 @@ import java.util.Map;
  * during filter expression evaluation in the permission implies method.
  * 
  * @Immutable
- * @version $Id: 94eea19050b84907f1257d7a12ebf8ab404f4473 $
+ * @author $Id: 53dec4a366c1c419baeb1e3b7d6b2b3bf172ad93 $
  */
 final class SignerProperty {
 	private final Bundle	bundle;
@@ -64,6 +64,7 @@ final class SignerProperty {
 	 * @param o SignerProperty to compare against.
 	 * @return true if the DN name chain matches the pattern.
 	 */
+	@Override
 	public boolean equals(Object o) {
 		if (!(o instanceof SignerProperty))
 			return false;
@@ -91,6 +92,7 @@ final class SignerProperty {
 	 * Since the equals method does not obey the general equals contract, this
 	 * method cannot generate hash codes which obey the equals contract.
 	 */
+	@Override
 	public int hashCode() {
 		return 31;
 	}
diff --git a/osgi/framework/src/org/osgi/framework/SynchronousBundleListener.java b/osgi/framework/src/org/osgi/framework/SynchronousBundleListener.java
index ee8474c..76ec1ba 100644
--- a/osgi/framework/src/org/osgi/framework/SynchronousBundleListener.java
+++ b/osgi/framework/src/org/osgi/framework/SynchronousBundleListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * A synchronous {@code BundleEvent} listener. {@code SynchronousBundleListener}
  * is a listener interface that may be implemented by a bundle developer. When a
@@ -57,9 +59,9 @@ package org.osgi.framework;
  * @since 1.1
  * @see BundleEvent
  * @ThreadSafe
- * @version $Id: 74246f4ceeba7f9a5ee198048522f93d4691c51a $
+ * @author $Id: 6b50c6c9d8b8b091928495eb036552773284b13a $
  */
-
+ at ConsumerType
 public interface SynchronousBundleListener extends BundleListener {
 	// This is a marker interface
 }
diff --git a/osgi/framework/src/org/osgi/framework/UnfilteredServiceListener.java b/osgi/framework/src/org/osgi/framework/UnfilteredServiceListener.java
index d712fcf..27271ca 100644
--- a/osgi/framework/src/org/osgi/framework/UnfilteredServiceListener.java
+++ b/osgi/framework/src/org/osgi/framework/UnfilteredServiceListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.hooks.service.ListenerHook;
 
 /**
@@ -65,9 +66,9 @@ import org.osgi.framework.hooks.service.ListenerHook;
  * @see ServicePermission
  * @ThreadSafe
  * @since 1.7
- * @version $Id: 543a345802f8dc7a49d29e8fb7aee7004ee2b329 $
+ * @author $Id: c68fe7ab0c3461256613d22dd666f17f87597dfe $
  */
-
+ at ConsumerType
 public interface UnfilteredServiceListener extends ServiceListener {
 	// This is a marker interface
 }
diff --git a/osgi/framework/src/org/osgi/framework/Version.java b/osgi/framework/src/org/osgi/framework/Version.java
index 02f6ddd..7ec6dc0 100644
--- a/osgi/framework/src/org/osgi/framework/Version.java
+++ b/osgi/framework/src/org/osgi/framework/Version.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2014). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -37,7 +37,7 @@ import java.util.StringTokenizer;
  * 
  * @since 1.3
  * @Immutable
- * @version $Id: a0b5a865f7fbf2b3dcb77a13b2e99da0b64702bb $
+ * @author $Id: c24d4d37a0657ac69de29085d2d290cbb0031c4a $
  */
 
 public class Version implements Comparable<Version> {
@@ -210,13 +210,13 @@ public class Version implements Comparable<Version> {
 	 * Parses a version identifier from the specified string.
 	 * 
 	 * <p>
-	 * See {@code Version(String)} for the format of the version string.
+	 * See {@link #Version(String)} for the format of the version string.
 	 * 
 	 * @param version String representation of the version identifier. Leading
 	 *        and trailing whitespace will be ignored.
 	 * @return A {@code Version} object representing the version identifier. If
 	 *         {@code version} is {@code null} or the empty string then
-	 *         {@code emptyVersion} will be returned.
+	 *         {@link #emptyVersion} will be returned.
 	 * @throws IllegalArgumentException If {@code version} is improperly
 	 *         formatted.
 	 */
@@ -225,6 +225,30 @@ public class Version implements Comparable<Version> {
 			return emptyVersion;
 		}
 
+		return valueOf(version);
+	}
+
+	/**
+	 * Returns a {@code Version} object holding the version identifier in the
+	 * specified {@code String}.
+	 * 
+	 * <p>
+	 * See {@link #Version(String)} for the format of the version string.
+	 * 
+	 * <p>
+	 * This method performs a similar function as {@link #parseVersion(String)}
+	 * but has the static factory {@code valueOf(String)} method signature.
+	 * 
+	 * @param version String representation of the version identifier. Leading
+	 *        and trailing whitespace will be ignored. Must not be {@code null}.
+	 * @return A {@code Version} object representing the version identifier. If
+	 *         {@code version} is the empty string then {@link #emptyVersion}
+	 *         will be returned.
+	 * @throws IllegalArgumentException If {@code version} is improperly
+	 *         formatted.
+	 * @since 1.8
+	 */
+	public static Version valueOf(String version) {
 		version = version.trim();
 		if (version.length() == 0) {
 			return emptyVersion;
@@ -279,6 +303,7 @@ public class Version implements Comparable<Version> {
 	 * 
 	 * @return The string representation of this version identifier.
 	 */
+	@Override
 	public String toString() {
 		return toString0();
 	}
@@ -289,8 +314,9 @@ public class Version implements Comparable<Version> {
 	 * @return The string representation of this version identifier.
 	 */
 	String toString0() {
-		if (versionString != null) {
-			return versionString;
+		String s = versionString;
+		if (s != null) {
+			return s;
 		}
 		int q = qualifier.length();
 		StringBuffer result = new StringBuffer(20 + q);
@@ -311,11 +337,13 @@ public class Version implements Comparable<Version> {
 	 * 
 	 * @return An integer which is a hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
-		if (hash != 0) {
-			return hash;
+		int h = hash;
+		if (h != 0) {
+			return h;
 		}
-		int h = 31 * 17;
+		h = 31 * 17;
 		h = 31 * h + major;
 		h = 31 * h + minor;
 		h = 31 * h + micro;
@@ -335,6 +363,7 @@ public class Version implements Comparable<Version> {
 	 * @return {@code true} if {@code object} is a {@code Version} and is equal
 	 *         to this object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object object) {
 		if (object == this) { // quicktest
 			return true;
diff --git a/osgi/framework/src/org/osgi/framework/VersionRange.java b/osgi/framework/src/org/osgi/framework/VersionRange.java
index 0589a75..db4fc7b 100644
--- a/osgi/framework/src/org/osgi/framework/VersionRange.java
+++ b/osgi/framework/src/org/osgi/framework/VersionRange.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,7 @@ import java.util.StringTokenizer;
  * 
  * @since 1.7
  * @Immutable
- * @version $Id: d0c21e6a5015a7fa0b33179a29122ea7d137145a $
+ * @author $Id: 1f5fa660a1a42e83371fe0d2c61ae79ce1cb1710 $
  */
 
 public class VersionRange {
@@ -123,7 +123,7 @@ public class VersionRange {
 	 * 
 	 * @param range String representation of the version range. The versions in
 	 *        the range must contain no whitespace. Other whitespace in the
-	 *        range string is ignored.
+	 *        range string is ignored. Must not be {@code null}.
 	 * @throws IllegalArgumentException If {@code range} is improperly
 	 *         formatted.
 	 */
@@ -191,7 +191,7 @@ public class VersionRange {
 	 */
 	private static Version parseVersion(String version, String range) {
 		try {
-			return Version.parseVersion(version);
+			return Version.valueOf(version);
 		} catch (IllegalArgumentException e) {
 			IllegalArgumentException iae = new IllegalArgumentException("invalid range \"" + range + "\": " + e.getMessage());
 			iae.initCause(e);
@@ -377,9 +377,11 @@ public class VersionRange {
 	 * 
 	 * @return The string representation of this version range.
 	 */
+	@Override
 	public String toString() {
-		if (versionRangeString != null) {
-			return versionRangeString;
+		String s = versionRangeString;
+		if (s != null) {
+			return s;
 		}
 		String leftVersion = left.toString();
 		if (right == null) {
@@ -402,14 +404,16 @@ public class VersionRange {
 	 * 
 	 * @return An integer which is a hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
-		if (hash != 0) {
-			return hash;
+		int h = hash;
+		if (h != 0) {
+			return h;
 		}
 		if (empty) {
 			return hash = 31;
 		}
-		int h = 31 + (leftClosed ? 7 : 5);
+		h = 31 + (leftClosed ? 7 : 5);
 		h = 31 * h + left.hashCode();
 		if (right != null) {
 			h = 31 * h + right.hashCode();
@@ -430,6 +434,7 @@ public class VersionRange {
 	 * @return {@code true} if {@code object} is a {@code VersionRange} and is
 	 *         equal to this object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object object) {
 		if (object == this) { // quicktest
 			return true;
@@ -471,9 +476,16 @@ public class VersionRange {
 		}
 
 		StringBuffer result = new StringBuffer(128);
-		if (right != null) {
+		final boolean needPresence = !leftClosed && ((right == null) || !rightClosed);
+		final boolean multipleTerms = needPresence || (right != null);
+		if (multipleTerms) {
 			result.append("(&");
 		}
+		if (needPresence) {
+			result.append('(');
+			result.append(attributeName);
+			result.append("=*)");
+		}
 		if (leftClosed) {
 			result.append('(');
 			result.append(attributeName);
@@ -501,9 +513,31 @@ public class VersionRange {
 				result.append(right.toString0());
 				result.append("))");
 			}
+		}
+		if (multipleTerms) {
 			result.append(')');
 		}
 
 		return result.toString();
 	}
+
+	/**
+	 * Returns a {@code VersionRange} object holding the version range in the
+	 * specified {@code String}.
+	 * 
+	 * <p>
+	 * See {@link #VersionRange(String)} for the format of the version range
+	 * string.
+	 * 
+	 * @param range String representation of the version range. The versions in
+	 *        the range must contain no whitespace. Other whitespace in the
+	 *        range string is ignored. Must not be {@code null}.
+	 * @return A {@code VersionRange} object representing the version range.
+	 * @throws IllegalArgumentException If {@code range} is improperly
+	 *         formatted.
+	 * @since 1.8
+	 */
+	public static VersionRange valueOf(String range) {
+		return new VersionRange(range);
+	}
 }
diff --git a/osgi/framework/src/org/osgi/framework/dto/BundleDTO.java b/osgi/framework/src/org/osgi/framework/dto/BundleDTO.java
new file mode 100644
index 0000000..6b83401
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/dto/BundleDTO.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.dto;
+
+import org.osgi.dto.DTO;
+import org.osgi.framework.Bundle;
+
+/**
+ * Data Transfer Object for a Bundle.
+ * 
+ * <p>
+ * A Bundle can be adapted to provide a {@code BundleDTO} for the Bundle.
+ * 
+ * @author $Id: aa30709351d8fe70b19c9ea99456ebd15ecab7c3 $
+ * @NotThreadSafe
+ */
+public class BundleDTO extends DTO {
+    /**
+	 * The bundle's unique identifier.
+	 * 
+	 * @see Bundle#getBundleId()
+	 */
+    public long   id;
+
+    /**
+	 * The time when the bundle was last modified.
+	 * 
+	 * @see Bundle#getLastModified()
+	 */
+    public long   lastModified;
+
+    /**
+	 * The bundle's state.
+	 * 
+	 * @see Bundle#getState()
+	 */
+    public int    state;
+
+    /**
+	 * The bundle's symbolic name.
+	 * 
+	 * @see Bundle#getSymbolicName()
+	 */
+    public String symbolicName;
+
+    /**
+	 * The bundle's version.
+	 * 
+	 * @see Bundle#getVersion()
+	 */
+    public String version;
+}
diff --git a/osgi/framework/src/org/osgi/framework/dto/FrameworkDTO.java b/osgi/framework/src/org/osgi/framework/dto/FrameworkDTO.java
new file mode 100644
index 0000000..7b32f93
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/dto/FrameworkDTO.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.dto;
+
+import java.util.List;
+import java.util.Map;
+import org.osgi.dto.DTO;
+import org.osgi.framework.BundleContext;
+
+/**
+ * Data Transfer Object for a Framework.
+ * 
+ * <p>
+ * The System Bundle can be adapted to provide a {@code FrameworkDTO} for the
+ * framework of the system bundle. A {@code FrameworkDTO} obtained from a
+ * framework will contain only the launch properties of the framework. These
+ * properties will not include the System properties.
+ * 
+ * @author $Id: 7c525727cbe877e888b460cd14d8f9054f99ee0c $
+ * @NotThreadSafe
+ */
+public class FrameworkDTO extends DTO {
+    /**
+	 * The bundles that are installed in the framework.
+	 * 
+	 * @see BundleContext#getBundles()
+	 */
+    public List<BundleDTO>           bundles;
+
+    /**
+	 * The launch properties of the framework.
+	 * 
+	 * The value type must be a numerical type, Boolean, String, DTO or an array
+	 * of any of the former.
+	 * 
+	 * @see BundleContext#getProperty(String)
+	 */
+    public Map<String, Object>       properties;
+
+    /**
+	 * The services that are registered in the framework.
+	 * 
+	 * @see BundleContext#getServiceReferences(String, String)
+	 */
+    public List<ServiceReferenceDTO> services;
+}
diff --git a/osgi/framework/src/org/osgi/framework/dto/ServiceReferenceDTO.java b/osgi/framework/src/org/osgi/framework/dto/ServiceReferenceDTO.java
new file mode 100644
index 0000000..d08e2e3
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/dto/ServiceReferenceDTO.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.dto;
+
+import java.util.Map;
+import org.osgi.dto.DTO;
+import org.osgi.framework.Constants;
+import org.osgi.framework.ServiceReference;
+
+/**
+ * Data Transfer Object for a ServiceReference.
+ * 
+ * <p>
+ * {@code ServiceReferenceDTO}s for all registered services can be obtained from
+ * a {@link FrameworkDTO}. An installed Bundle can be adapted to provide a
+ * {@code ServiceReferenceDTO[]} of the services registered by the Bundle. A
+ * {@code ServiceReferenceDTO} obtained from a framework must convert service
+ * property values which are not valid value types for DTOs to type
+ * {@code String} using {@code String.valueOf(Object)}.
+ * 
+ * @author $Id: 2c70b84f28c41fb51c488cb03950a46188ea209f $
+ * @NotThreadSafe
+ */
+public class ServiceReferenceDTO extends DTO {
+    /**
+	 * The id of the service.
+	 * 
+	 * @see Constants#SERVICE_ID
+	 */
+    public long                id;
+
+    /**
+	 * The id of the bundle that registered the service.
+	 * 
+	 * @see ServiceReference#getBundle()
+	 */
+    public long                bundle;
+
+    /**
+	 * The properties for the service.
+	 * 
+	 * The value type must be a numerical type, Boolean, String, DTO or an array
+	 * of any of the former.
+	 * 
+	 * @see ServiceReference#getProperty(String)
+	 */
+    public Map<String, Object> properties;
+
+    /**
+	 * The ids of the bundles that are using the service.
+	 * 
+	 * @see ServiceReference#getUsingBundles()
+	 */
+    public long[]              usingBundles;
+}
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java b/osgi/framework/src/org/osgi/framework/dto/package-info.java
similarity index 51%
copy from osgi/framework/src/org/osgi/service/packageadmin/package-info.java
copy to osgi/framework/src/org/osgi/framework/dto/package-info.java
index 9d9804d..4499fc8 100644
--- a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,23 +15,28 @@
  */
 
 /**
- * Package Admin Package Version 1.2.
+ * OSGi Data Transfer Object Framework Package Version 1.8.
  * 
  * <p>
- * <b>Deprecated.</b>
- * <i>This package is deprecated and has been replaced by the
- * {@code org.osgi.framework.wiring} package.</i>
- *
- * <p>
  * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
  * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.service.packageadmin; version="[1.2,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.dto; version="[1.8,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.framework.dto; version="[1.8,1.9)"}
  * 
- * @version $Id: b1c7db22b9c84e48d3c6c711f0ed976e825053c9 $
+ * @author $Id: 2acfb6f1633e18f1ceedd27c04e70131cae4f293 $
  */
 
-package org.osgi.service.packageadmin;
+ at Version("1.8")
+package org.osgi.framework.dto;
+
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/dto/packageinfo b/osgi/framework/src/org/osgi/framework/dto/packageinfo
new file mode 100644
index 0000000..ed9885d
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/dto/packageinfo
@@ -0,0 +1 @@
+version 1.8
diff --git a/osgi/framework/src/org/osgi/framework/hooks/bundle/CollisionHook.java b/osgi/framework/src/org/osgi/framework/hooks/bundle/CollisionHook.java
index 37446ff..cb3eb2d 100644
--- a/osgi/framework/src/org/osgi/framework/hooks/bundle/CollisionHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/bundle/CollisionHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.bundle;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
@@ -33,8 +34,9 @@ import org.osgi.framework.Constants;
  * in a bundle symbolic name and version collision.
  * 
  * @ThreadSafe
- * @version $Id: a1a25ee0432f210a56e911246f477f19edc28bc1 $
+ * @author $Id: b05e0c3819aff6df35c2ec034242596d04f53408 $
  */
+ at ConsumerType
 public interface CollisionHook {
 
 	/**
@@ -54,17 +56,17 @@ public interface CollisionHook {
 	 * on the operation type the target bundle and the collision candidate
 	 * collection are the following:
 	 * <ul>
-	 * <li> {@link #INSTALLING installing} - The target is the bundle associated
+	 * <li>{@link #INSTALLING installing} - The target is the bundle associated
 	 * with the {@link BundleContext} used to call one of the
 	 * {@link BundleContext#installBundle(String) install} methods. The
 	 * collision candidate collection contains the existing bundles installed
 	 * which have the same symbolic name and version as the bundle being
-	 * installed.
-	 * <li> {@link #UPDATING updating} - The target is the bundle used to call
+	 * installed.</li>
+	 * <li>{@link #UPDATING updating} - The target is the bundle used to call
 	 * one of the {@link Bundle#update() update} methods. The collision
 	 * candidate collection contains the existing bundles installed which have
 	 * the same symbolic name and version as the content the target bundle is
-	 * being updated to.
+	 * being updated to.</li>
 	 * </ul>
 	 * This method can filter the collection of collision candidates by removing
 	 * potential collisions. For the specified operation to succeed, the
diff --git a/osgi/framework/src/org/osgi/framework/hooks/bundle/EventHook.java b/osgi/framework/src/org/osgi/framework/hooks/bundle/EventHook.java
old mode 100644
new mode 100755
index e66a20e..4bd7657
--- a/osgi/framework/src/org/osgi/framework/hooks/bundle/EventHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/bundle/EventHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.bundle;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 
@@ -28,8 +29,9 @@ import org.osgi.framework.BundleEvent;
  * (install, start, stop, update, and uninstall bundle) operations.
  * 
  * @ThreadSafe
- * @version $Id: e1471b36491a02bd8598a30d05c889ee58edc760 $
+ * @author $Id: 0b986db904e41d5a5bfb5d28fc849ee967decf0d $
  */
+ at ConsumerType
 public interface EventHook {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/hooks/bundle/FindHook.java b/osgi/framework/src/org/osgi/framework/hooks/bundle/FindHook.java
old mode 100644
new mode 100755
index af556ea..9c8ab23
--- a/osgi/framework/src/org/osgi/framework/hooks/bundle/FindHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/bundle/FindHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.bundle;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -29,8 +30,9 @@ import org.osgi.framework.BundleException;
  * (get bundles) operations.
  * 
  * @ThreadSafe
- * @version $Id: ae6bf5fc5cf999ac39dfc195c99ef7e223e3b847 $
+ * @author $Id: 1029e10212f150304095fc99433197083cc00e9e $
  */
+ at ConsumerType
 public interface FindHook {
 	/**
 	 * Find hook method. This method is called for the following:
diff --git a/osgi/framework/src/org/osgi/framework/hooks/bundle/package-info.java b/osgi/framework/src/org/osgi/framework/hooks/bundle/package-info.java
old mode 100644
new mode 100755
index 744cde9..ce89815
--- a/osgi/framework/src/org/osgi/framework/hooks/bundle/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/bundle/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.framework.hooks.bundle; version="[1.1,2.0)"}
  * 
- * @version $Id: 0f53749f486ffe21404f4601fcc67c956f25ca6f $
+ * @author $Id: 08c20cab669f1850f585c5cd4b3b897ce587b2bd $
  */
 
+ at Version("1.1")
 package org.osgi.framework.hooks.bundle;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/hooks/bundle/packageinfo b/osgi/framework/src/org/osgi/framework/hooks/bundle/packageinfo
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHook.java b/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHook.java
old mode 100644
new mode 100755
index 51c46ec..f1d663f
--- a/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.resolver;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.namespace.BundleNamespace;
 import org.osgi.framework.namespace.IdentityNamespace;
@@ -71,51 +72,47 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * <li>For each bundle revision {@code B} left in the shrinkable collection
  * {@code Resolvable} and any bundle revision {@code B} which is currently
  * resolved that represents a singleton bundle do the following:
- * <p/>
- * Determine the collection of available capabilities that have a namespace of
- * {@link IdentityNamespace osgi.identity}, are singletons, and have the same
+ * <ul>
+ * <li>Determine the collection of available capabilities that have a namespace
+ * of {@link IdentityNamespace osgi.identity}, are singletons, and have the same
  * symbolic name as the singleton bundle revision {@code B} and place each of
- * the matching capabilities into a shrinkable collection {@code Collisions}.
- * <p/>
- * Remove the {@link IdentityNamespace osgi.identity} capability provided by
+ * the matching capabilities into a shrinkable collection {@code Collisions}.</li>
+ * <li>Remove the {@link IdentityNamespace osgi.identity} capability provided by
  * bundle revision {@code B} from shrinkable collection {@code Collisions}. A
- * singleton bundle cannot collide with itself.
- * <p/>
- * For each resolver hook call the
+ * singleton bundle cannot collide with itself.</li>
+ * <li>For each resolver hook call the
  * {@link #filterSingletonCollisions(BundleCapability, Collection)} with the
  * {@link IdentityNamespace osgi.identity} capability provided by bundle
- * revision {@code B} and the shrinkable collection {@code Collisions}
- * <p/>
- * The shrinkable collection {@code Collisions} now contains all singleton
+ * revision {@code B} and the shrinkable collection {@code Collisions}</li>
+ * <li>The shrinkable collection {@code Collisions} now contains all singleton
  * {@link IdentityNamespace osgi.identity} capabilities that can influence the
- * ability of bundle revision {@code B} to resolve.
- * <p/>
- * If the bundle revision {@code B} is already resolved then any resolvable
+ * ability of bundle revision {@code B} to resolve.</li>
+ * <li>If the bundle revision {@code B} is already resolved then any resolvable
  * bundle revision contained in the collection {@code Collisions} is not allowed
  * to resolve.</li>
+ * </ul>
+ * </li>
  * <li>During a resolve process a framework is free to attempt to resolve any or
  * all bundles contained in shrinkable collection {@code Resolvable}. For each
  * bundle revision {@code B} left in the shrinkable collection
  * {@code Resolvable} which the framework attempts to resolve the following
  * steps must be followed:
- * <p/>
- * For each requirement {@code R} specified by bundle revision {@code B}
+ * <ul>
+ * <li>For each requirement {@code R} specified by bundle revision {@code B}
  * determine the collection of capabilities that satisfy (or match) the
  * requirement and place each matching capability into a shrinkable collection
  * {@code Candidates}. A capability is considered to match a particular
  * requirement if its attributes satisfy a specified requirement and the
- * requirer bundle has permission to access the capability.
- * 
- * <p/>
- * For each resolver hook call the
+ * requirer bundle has permission to access the capability.</li>
+ * <li>For each resolver hook call the
  * {@link #filterMatches(BundleRequirement, Collection)} with the requirement
- * {@code R} and the shrinkable collection {@code Candidates}.
- * 
- * <p/>
- * The shrinkable collection {@code Candidates} now contains all the
+ * {@code R} and the shrinkable collection {@code Candidates}.</li>
+ * <li>The shrinkable collection {@code Candidates} now contains all the
  * capabilities that may be used to satisfy the requirement {@code R}. Any other
  * capabilities that got removed from the shrinkable collection
  * {@code Candidates} must not be used to satisfy requirement {@code R}.</li>
+ * </ul>
+ * </li>
  * <li>For each resolver hook call the {@link #end()} method to inform the hooks
  * about a resolve process ending.</li>
  * </ol>
@@ -134,8 +131,9 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * 
  * @see ResolverHookFactory
  * @NotThreadSafe
- * @version $Id: 9d3ef6240aead0952b5a47b793780c1c0589089a $
+ * @author $Id: 7b2a0a5dbec7b0e999112ae324d050fcf190fa5d $
  */
+ at ConsumerType
 public interface ResolverHook {
 	/**
 	 * Filter resolvable candidates hook method. This method may be called
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHookFactory.java b/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHookFactory.java
old mode 100644
new mode 100755
index 91ce5f7..10f6e97
--- a/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHookFactory.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/resolver/ResolverHookFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.resolver;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.wiring.BundleRevision;
 import org.osgi.framework.wiring.FrameworkWiring;
@@ -31,8 +32,9 @@ import org.osgi.framework.wiring.FrameworkWiring;
  * 
  * @ThreadSafe
  * @see ResolverHook
- * @version $Id: e0a2f3ad081c31bbb682fa366c15a3080bf6da2b $
+ * @author $Id: d073890a9814291f258c9326f720323d7f4d7d90 $
  */
+ at ConsumerType
 public interface ResolverHookFactory {
 	/**
 	 * This method is called by the framework each time a resolve process begins
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java b/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java
old mode 100644
new mode 100755
index 34fa0d0..6333093
--- a/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.framework.hooks.resolver; version="[1.0,2.0)"}
  * 
- * @version $Id: 3621469ed02ccc323f6d8e1715f74537ec58e6df $
+ * @author $Id: de050037c6b835045603f09b12ad58a6353d1229 $
  */
 
+ at Version("1.0")
 package org.osgi.framework.hooks.resolver;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo b/osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/EventHook.java b/osgi/framework/src/org/osgi/framework/hooks/service/EventHook.java
old mode 100644
new mode 100755
index 03a84d4..3603e77
--- a/osgi/framework/src/org/osgi/framework/hooks/service/EventHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/service/EventHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2008, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2008, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.service;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceEvent;
 
@@ -29,9 +30,9 @@ import org.osgi.framework.ServiceEvent;
  * 
  * @ThreadSafe
  * @deprecated As of 1.1. Replaced by {@link EventListenerHook}.
- * @version $Id: 84757a5f719db4d7671e81a76af2b320404ae0f5 $
+ * @author $Id: b8c500c6f09cc25e3a6294489b7e6a1d458d5e6f $
  */
-
+ at ConsumerType
 public interface EventHook {
 	/**
 	 * Event hook method. This method is called prior to service event delivery
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/EventListenerHook.java b/osgi/framework/src/org/osgi/framework/hooks/service/EventListenerHook.java
old mode 100644
new mode 100755
index 534efc5..3230742
--- a/osgi/framework/src/org/osgi/framework/hooks/service/EventListenerHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/service/EventListenerHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.osgi.framework.hooks.service;
 
 import java.util.Collection;
 import java.util.Map;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceEvent;
 import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
@@ -31,9 +32,9 @@ import org.osgi.framework.hooks.service.ListenerHook.ListenerInfo;
  * 
  * @ThreadSafe
  * @since 1.1
- * @version $Id: b0b99b29206f272ad479fa08ffcd5ef5fda909b8 $
+ * @author $Id: 2b80241ca24005be3a9a3550138e1ba9a3a9ad6e $
  */
-
+ at ConsumerType
 public interface EventListenerHook {
 	/**
 	 * Event listener hook method. This method is called prior to service event
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/FindHook.java b/osgi/framework/src/org/osgi/framework/hooks/service/FindHook.java
old mode 100644
new mode 100755
index 4cd467c..745a6b4
--- a/osgi/framework/src/org/osgi/framework/hooks/service/FindHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/service/FindHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2008, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2008, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.hooks.service;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 
@@ -28,9 +29,9 @@ import org.osgi.framework.ServiceReference;
  * (get service references) operations.
  * 
  * @ThreadSafe
- * @version $Id: 45612d6a10a25ca0b40ba695eb8dba21c2c78c24 $
+ * @author $Id: 4325a49f8c29ac9e7f32e8450db26148bbda5642 $
  */
-
+ at ConsumerType
 public interface FindHook {
 	/**
 	 * Find hook method. This method is called during the service find operation
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/ListenerHook.java b/osgi/framework/src/org/osgi/framework/hooks/service/ListenerHook.java
old mode 100644
new mode 100755
index ef933c3..2f4cab9
--- a/osgi/framework/src/org/osgi/framework/hooks/service/ListenerHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/service/ListenerHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2008, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2008, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,8 @@
 package org.osgi.framework.hooks.service;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ConsumerType;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.BundleContext;
 
 /**
@@ -27,9 +29,9 @@ import org.osgi.framework.BundleContext;
  * addition and removal.
  * 
  * @ThreadSafe
- * @version $Id: 94029e2b70119793b3e7d77d6e1d5052d9ee1723 $
+ * @author $Id: 34bd086f723505e6ec22dadd9f0e47e92f80352b $
  */
-
+ at ConsumerType
 public interface ListenerHook {
 	/**
 	 * Added listeners hook method. This method is called to provide the hook
@@ -66,8 +68,8 @@ public interface ListenerHook {
 	 * which added the Service Listener and the filter with which it was added.
 	 * 
 	 * @ThreadSafe
-	 * @noimplement
 	 */
+	@ProviderType
 	public interface ListenerInfo {
 		/**
 		 * Return the context of the bundle which added the listener.
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/package-info.java b/osgi/framework/src/org/osgi/framework/hooks/service/package-info.java
old mode 100644
new mode 100755
index bda04f7..5fd8020
--- a/osgi/framework/src/org/osgi/framework/hooks/service/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/service/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.framework.hooks.service; version="[1.1,2.0)"}
  * 
- * @version $Id: 80468eff0eb0820494b56e05605e5cb1b6087c24 $
+ * @author $Id: 74f0c41d5ebf20181942ee393965d885deb3889c $
  */
 
+ at Version("1.1")
 package org.osgi.framework.hooks.service;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/hooks/service/packageinfo b/osgi/framework/src/org/osgi/framework/hooks/service/packageinfo
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingException.java b/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingException.java
old mode 100644
new mode 100755
index 8842797..254dd9b
--- a/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingException.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingException.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,7 @@ package org.osgi.framework.hooks.weaving;
  * <p>
  * This exception conforms to the general purpose exception chaining mechanism.
  * 
- * @version $Id: eb38b85f6ed66ec445fb2f0ee7143df021327a9a $
+ * @author $Id: 7575fc1b015fea7c77397391df6c8d2085513e76 $
  */
 
 public class WeavingException extends RuntimeException {
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingHook.java b/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingHook.java
old mode 100644
new mode 100755
index be57658..760b00c
--- a/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingHook.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/WeavingHook.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.framework.hooks.weaving;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * OSGi Framework Weaving Hook Service.
  * 
@@ -34,9 +36,9 @@ package org.osgi.framework.hooks.weaving;
  * bytes as modified by previously called weaving hooks.
  * 
  * @ThreadSafe
- * @version $Id: d1985029024baba2db1c56aab1e06ee953fd6365 $
+ * @author $Id: 8d99df5b0f3e7ffa9573695923afe86de9835fde $
  */
-
+ at ConsumerType
 public interface WeavingHook {
 	/**
 	 * Weaving hook method.
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClass.java b/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClass.java
old mode 100644
new mode 100755
index 697a435..a7e131c
--- a/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClass.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClass.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.osgi.framework.hooks.weaving;
 
 import java.security.ProtectionDomain;
 import java.util.List;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.wiring.BundleWiring;
 
 /**
@@ -29,25 +30,92 @@ import org.osgi.framework.wiring.BundleWiring;
  * should be added to the bundle as dynamic imports.
  * 
  * <p>
- * After weaving is {@link #isWeavingComplete() complete}, this object becomes
- * effectively immutable.
+ * Upon entering one of the terminal states, this object becomes effectively
+ * immutable.
  * 
  * @NotThreadSafe
- * @noimplement
- * @version $Id: 549caef41027c8f0d0fdb4deae756eae6b69d1ee $
+ * @author $Id: b86db7713c738ae7147fe86f754302e2e324676b $
  */
+ at ProviderType
 public interface WovenClass {
+	/**
+	 * The woven class is being transformed.
+	 * 
+	 * <p>
+	 * The woven class is in this state while {@link WeavingHook weaving hooks}
+	 * are being called. The woven class is mutable so the {@link #getBytes()
+	 * class bytes} may be {@link #setBytes(byte[]) modified} and
+	 * {@link #getDynamicImports() dynamic imports} may be added. If a weaving
+	 * hook throws an exception the state transitions to
+	 * {@link #TRANSFORMING_FAILED}. Otherwise, after the last weaving hook has
+	 * been successfully called, the state transitions to {@link #TRANSFORMED}.
+	 * 
+	 * @since 1.1
+	 */
+	int	TRANSFORMING		= 0x00000001;
+
+	/**
+	 * The woven class has been transformed.
+	 * 
+	 * <p>
+	 * The woven class is in this state after {@link WeavingHook weaving hooks}
+	 * have been called and before the class is defined. The woven class cannot
+	 * be further transformed. The woven class is in this state while defining
+	 * the class. If a failure occurs while defining the class, the state
+	 * transitions to {@link #DEFINE_FAILED}. Otherwise, after the class has
+	 * been defined, the state transitions to {@link #DEFINED}.
+	 * 
+	 * @since 1.1
+	 */
+	int	TRANSFORMED			= 0x00000002;
+
+	/**
+	 * The woven class has been defined.
+	 * <p>
+	 * The woven class is in this state after the class is defined. The woven
+	 * class cannot be further transformed. This is a terminal state. Upon
+	 * entering this state, this object is effectively immutable, the
+	 * {@link #getBundleWiring() bundle wiring} has been updated with the
+	 * {@link #getDynamicImports() dynamic import requirements} and the class
+	 * has been {@link #getDefinedClass() defined}.
+	 * 
+	 * @since 1.1
+	 */
+	int	DEFINED				= 0x00000004;
+
+	/**
+	 * The woven class failed to transform.
+	 * <p>
+	 * The woven class is in this state if a {@link WeavingHook weaving hook}
+	 * threw an exception. The woven class cannot be further transformed or
+	 * defined. This is a terminal state. Upon entering this state, this object
+	 * is effectively immutable.
+	 * 
+	 * @since 1.1
+	 */
+	int	TRANSFORMING_FAILED	= 0x00000008;
+
+	/**
+	 * The woven class failed to define.
+	 * <p>
+	 * The woven class is in this state when a failure occurs while defining the
+	 * class. The woven class cannot be further transformed or defined. This is
+	 * a terminal state. Upon entering this state, this object is effectively
+	 * immutable.
+	 * 
+	 * @since 1.1
+	 */
+	int	DEFINE_FAILED		= 0x00000010;
 
 	/**
 	 * Returns the class file bytes to be used to define the
 	 * {@link WovenClass#getClassName() named} class.
 	 * 
 	 * <p>
-	 * While weaving is not {@link #isWeavingComplete() complete}, this method
-	 * returns a reference to the class files byte array contained in this
-	 * object. After weaving is {@link #isWeavingComplete() complete}, this
-	 * object becomes effectively immutable and a copy of the class file byte
-	 * array is returned.
+	 * While in the {@link #TRANSFORMING} state, this method returns a reference
+	 * to the class files byte array contained in this object. After leaving the
+	 * {@link #TRANSFORMING} state, this woven class can no longer be
+	 * transformed and a copy of the class file byte array is returned.
 	 * 
 	 * @return The bytes to be used to define the
 	 *         {@link WovenClass#getClassName() named} class.
@@ -64,10 +132,10 @@ public interface WovenClass {
 	 * weave} method by the framework.
 	 * 
 	 * <p>
-	 * While weaving is not {@link #isWeavingComplete() complete}, this method
-	 * replaces the reference to the array contained in this object with the
-	 * specified array. After weaving is {@link #isWeavingComplete() complete},
-	 * this object becomes effectively immutable and this method will throw an
+	 * While in the {@link #TRANSFORMING} state, this method replaces the
+	 * reference to the array contained in this object with the specified array.
+	 * After leaving the {@link #TRANSFORMING} state, this woven class can no
+	 * longer be transformed and this method will throw an
 	 * {@link IllegalStateException}.
 	 * 
 	 * @param newBytes The new classfile that will be used to define the
@@ -75,8 +143,9 @@ public interface WovenClass {
 	 *        is retained by this object and the caller must not modify the
 	 *        specified array.
 	 * @throws NullPointerException If newBytes is {@code null}.
-	 * @throws IllegalStateException If weaving is {@link #isWeavingComplete()
-	 *         complete}.
+	 * @throws IllegalStateException If state is {@link #TRANSFORMED},
+	 *         {@link #DEFINED}, {@link #TRANSFORMING_FAILED} or
+	 *         {@link #DEFINE_FAILED}.
 	 * @throws SecurityException If the caller does not have
 	 *         {@code AdminPermission[bundle,WEAVE]} and the Java runtime
 	 *         environment supports permissions.
@@ -92,12 +161,14 @@ public interface WovenClass {
 	 * weave} method by the framework.
 	 * 
 	 * <p>
-	 * After weaving is {@link #isWeavingComplete() complete}, this object
-	 * becomes effectively immutable and the returned list will be unmodifiable.
+	 * After leaving the {@link #TRANSFORMING} state, this woven class can no
+	 * longer be transformed and the returned list will be unmodifiable.
 	 * 
 	 * <p>
-	 * If the Java runtime environment supports permissions, the caller must
-	 * have {@code AdminPermission[bundle,WEAVE]} to modify the returned list.
+	 * If the Java runtime environment supports permissions, any modification to
+	 * the returned list requires {@code AdminPermission[bundle,WEAVE]}.
+	 * Additionally, any add or set modification requires
+	 * {@code PackagePermission[package,IMPORT]}.
 	 * 
 	 * @return A list containing zero or more dynamic import package
 	 *         descriptions to add to the bundle wiring for this woven class.
@@ -109,13 +180,11 @@ public interface WovenClass {
 
 	/**
 	 * Returns whether weaving is complete in this woven class. Weaving is
-	 * complete after the last {@link WeavingHook weaving hook} is called and
-	 * the class is defined.
-	 * 
-	 * <p>
-	 * After weaving is complete, this object becomes effectively immutable.
+	 * complete after the class is defined.
 	 * 
-	 * @return {@code true} weaving is complete, {@code false} otherwise.
+	 * @return {@code true} if {@link #getState() state} is {@link #DEFINED},
+	 *         {@link #TRANSFORMING_FAILED} or {@link #DEFINE_FAILED};
+	 *         {@code false} otherwise.
 	 */
 	public boolean isWeavingComplete();
 
@@ -154,4 +223,16 @@ public interface WovenClass {
 	 * @return The bundle wiring whose class loader will define the woven class.
 	 */
 	public BundleWiring getBundleWiring();
+
+	/**
+	 * Returns the current state of this woven class.
+	 * <p>
+	 * A woven class can be in only one state at any time.
+	 * 
+	 * @return Either {@link #TRANSFORMING}, {@link #TRANSFORMED},
+	 *         {@link #DEFINED}, {@link #TRANSFORMING_FAILED} or
+	 *         {@link #DEFINE_FAILED}.
+	 * @since 1.1
+	 */
+	public int getState();
 }
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClassListener.java b/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClassListener.java
new file mode 100644
index 0000000..36e7303
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/WovenClassListener.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.hooks.weaving;
+
+import org.osgi.annotation.versioning.ConsumerType;
+
+/**
+ * Woven Class Listener Service.
+ * 
+ * <p>
+ * Bundles registering this service will receive notifications whenever a
+ * {@link WovenClass woven class} completes a {@link WovenClass#getState()
+ * state} transition. Woven Class Listeners are not able to modify the woven
+ * class in contrast with {@link WeavingHook weaving hooks}.
+ * 
+ * <p>
+ * Receiving a woven class in the {@link WovenClass#TRANSFORMED TRANSFORMED}
+ * state allows listeners to observe the modified {@link WovenClass#getBytes()
+ * byte codes} before the class has been {@link WovenClass#DEFINED DEFINED} as
+ * well as the additional {@link WovenClass#getDynamicImports() dynamic imports}
+ * before the {@link WovenClass#getBundleWiring() bundle wiring} has been
+ * updated.
+ * 
+ * <p>
+ * Woven class listeners are synchronously {@link #modified(WovenClass) called}
+ * when a woven class completes a state transition. The woven class processing
+ * will not proceed until all woven class listeners are done.
+ * 
+ * <p>
+ * If the Java runtime environment supports permissions, the caller must have
+ * {@code ServicePermission[WovenClassListener,REGISTER]} in order to register a
+ * listener.
+ * 
+ * @ThreadSafe
+ * @since 1.1
+ * @author $Id: 4a7a69943bffbc53738f050c51d49f11b67a13cb $
+ */
+ at ConsumerType
+public interface WovenClassListener {
+	/**
+	 * Receives notification that a {@link WovenClass woven class} has completed
+	 * a state transition.
+	 * 
+	 * <p>
+	 * The listener will be notified when a woven class has entered the
+	 * {@link WovenClass#TRANSFORMED TRANSFORMED}, {@link WovenClass#DEFINED
+	 * DEFINED}, {@link WovenClass#TRANSFORMING_FAILED TRANSFORMING_FAILED} and
+	 * {@link WovenClass#DEFINE_FAILED DEFINE_FAILED} states.
+	 * 
+	 * <p>
+	 * If this method throws any exception, the Framework must log the exception
+	 * but otherwise ignore it.
+	 * 
+	 * @param wovenClass The woven class that completed a state transition.
+	 */
+	public void modified(WovenClass wovenClass);
+}
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/package-info.java b/osgi/framework/src/org/osgi/framework/hooks/weaving/package-info.java
old mode 100644
new mode 100755
index e529707..bffee3e
--- a/osgi/framework/src/org/osgi/framework/hooks/weaving/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
  */
 
 /**
- * Framework Weaving Hooks Package Version 1.0.
+ * Framework Weaving Hooks Package Version 1.1.
  * 
  * <p>
  * Bundles wishing to use this package must list the package in the
@@ -26,10 +26,13 @@
  * Example import for consumers using the API in this package:
  * </p>
  * <p>
- * {@code  Import-Package: org.osgi.framework.hooks.weaving; version="[1.0,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.hooks.weaving; version="[1.1,2.0)"}
  * </p>
- * @version $Id: 8b788094aec5fd8ca4d2dfe6a8e4afc04a461290 $
+ * @author $Id: 5b48f041a1764e8b2979cdbbb528082054ab3e7f $
  */
 
+ at Version("1.1")
 package org.osgi.framework.hooks.weaving;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/hooks/weaving/packageinfo b/osgi/framework/src/org/osgi/framework/hooks/weaving/packageinfo
old mode 100644
new mode 100755
index 7c8de03..3987f9c
--- a/osgi/framework/src/org/osgi/framework/hooks/weaving/packageinfo
+++ b/osgi/framework/src/org/osgi/framework/hooks/weaving/packageinfo
@@ -1 +1 @@
-version 1.0
+version 1.1
diff --git a/osgi/framework/src/org/osgi/framework/launch/Framework.java b/osgi/framework/src/org/osgi/framework/launch/Framework.java
old mode 100644
new mode 100755
index 54d599b..125e581
--- a/osgi/framework/src/org/osgi/framework/launch/Framework.java
+++ b/osgi/framework/src/org/osgi/framework/launch/Framework.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2008, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2008, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,10 +19,12 @@ package org.osgi.framework.launch;
 import java.io.InputStream;
 import java.net.URL;
 import java.util.Enumeration;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleException;
 import org.osgi.framework.Constants;
 import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.FrameworkListener;
 
 /**
  * A Framework instance. A Framework is also known as a System Bundle.
@@ -33,12 +35,29 @@ import org.osgi.framework.FrameworkEvent;
  * instance.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: e76240d5de584d1666880d9bc358571a76cbd8fb $
+ * @author $Id: 25b603f31ba381c47a8db8a9f2e006e13588877a $
  */
+ at ProviderType
 public interface Framework extends Bundle {
 
 	/**
+	 * Initialize this Framework.
+	 * <p>
+	 * This method performs the same function as calling
+	 * {@link #init(FrameworkListener...)} with no framework listeners.
+	 * 
+	 * @throws BundleException If this Framework could not be initialized.
+	 * @throws SecurityException If the Java Runtime Environment supports
+	 *         permissions and the caller does not have the appropriate
+	 *         {@code AdminPermission[this,EXECUTE]} or if there is a security
+	 *         manager already installed and the
+	 *         {@link Constants#FRAMEWORK_SECURITY} configuration property is
+	 *         set.
+	 * @see #init(FrameworkListener...)
+	 */
+	void init() throws BundleException;
+
+	/**
 	 * Initialize this Framework. After calling this method, this Framework
 	 * must:
 	 * <ul>
@@ -53,6 +72,8 @@ public interface Framework extends Bundle {
 	 * {@code ConditionalPermissionAdmin}.</li>
 	 * <li>Be {@link #adapt(Class) adaptable} to the OSGi defined types to which
 	 * a system bundle can be adapted.</li>
+	 * <li>Have called the {@code start} method of the extension bundle
+	 * activator for all resolved extension bundles.</li>
 	 * </ul>
 	 * 
 	 * <p>
@@ -63,6 +84,17 @@ public interface Framework extends Bundle {
 	 * This method does nothing if called when this Framework is in the
 	 * {@link #STARTING}, {@link #ACTIVE} or {@link #STOPPING} states.
 	 * 
+	 * <p>
+	 * All framework events fired by this method method are also delivered to
+	 * the specified FrameworkListeners in the order they are specified before
+	 * returning from this method. After returning from this method the
+	 * specified listeners are no longer notified of framework events.
+	 * 
+	 * @param listeners Zero or more listeners to be notified when framework
+	 *        events occur while initializing the framework. The specified
+	 *        listeners do not need to be otherwise registered with the
+	 *        framework. If a specified listener is registered with the
+	 *        framework, it will be notified twice for each framework event.
 	 * @throws BundleException If this Framework could not be initialized.
 	 * @throws SecurityException If the Java Runtime Environment supports
 	 *         permissions and the caller does not have the appropriate
@@ -70,9 +102,9 @@ public interface Framework extends Bundle {
 	 *         manager already installed and the
 	 *         {@link Constants#FRAMEWORK_SECURITY} configuration property is
 	 *         set.
-	 * 
+	 * @since 1.2
 	 */
-	void init() throws BundleException;
+	void init(FrameworkListener... listeners) throws BundleException;
 
 	/**
 	 * Wait until this Framework has completely stopped. The {@code stop} and
@@ -328,6 +360,20 @@ public interface Framework extends Bundle {
 	URL getEntry(String path);
 
 	/**
+	 * Returns the time when the set of bundles in this framework was last
+	 * modified. The set of bundles is considered to be modified when a bundle
+	 * is installed, updated or uninstalled.
+	 * 
+	 * <p>
+	 * The time value is the number of milliseconds since January 1, 1970,
+	 * 00:00:00 UTC.
+	 * 
+	 * @return The time when the set of bundles in this framework was last
+	 *         modified.
+	 */
+	long getLastModified();
+
+	/**
 	 * Returns {@code null} as a framework implementation does not have a proper
 	 * bundle from which to return entries.
 	 * 
diff --git a/osgi/framework/src/org/osgi/framework/launch/FrameworkFactory.java b/osgi/framework/src/org/osgi/framework/launch/FrameworkFactory.java
old mode 100644
new mode 100755
index bac0183..6d656d3
--- a/osgi/framework/src/org/osgi/framework/launch/FrameworkFactory.java
+++ b/osgi/framework/src/org/osgi/framework/launch/FrameworkFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2009, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2009, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.launch;
 
 import java.util.Map;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 
 /**
@@ -44,9 +45,9 @@ import org.osgi.framework.Bundle;
  * the resource.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 1684e14aa98a1f6e1ff3e0f3afa2c55982210f72 $
+ * @author $Id: c1647bcb8416b6dfa9e37c6cc146bb54c7173526 $
  */
+ at ProviderType
 public interface FrameworkFactory {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/launch/package-info.java b/osgi/framework/src/org/osgi/framework/launch/package-info.java
old mode 100644
new mode 100755
index a1c54d4..829dfdb
--- a/osgi/framework/src/org/osgi/framework/launch/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/launch/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2014). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
  */
 
 /**
- * Framework Launch Package Version 1.1.
+ * Framework Launch Package Version 1.2.
  *
  * <p>
  * Bundles wishing to use this package must list the package in the
@@ -24,10 +24,13 @@
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework.launch; version="[1.1,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.launch; version="[1.2,2.0)"}
  *
- * @version $Id: f1e5d25386dfcda77fb66659963a62209c4f6d60 $
+ * @author $Id: db5e926caf137972db8affe0b49ae39c75bec1fc $
  */
 
+ at Version("1.2")
 package org.osgi.framework.launch;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/launch/packageinfo b/osgi/framework/src/org/osgi/framework/launch/packageinfo
index 3987f9c..ef7df68 100644
--- a/osgi/framework/src/org/osgi/framework/launch/packageinfo
+++ b/osgi/framework/src/org/osgi/framework/launch/packageinfo
@@ -1 +1 @@
-version 1.1
+version 1.2
diff --git a/osgi/framework/src/org/osgi/framework/namespace/AbstractWiringNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/AbstractWiringNamespace.java
index 52563e2..c5186a1 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/AbstractWiringNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/AbstractWiringNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.framework.namespace;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.resource.Namespace;
 
 /**
@@ -31,8 +32,9 @@ import org.osgi.resource.Namespace;
  * otherwise indicated.
  * 
  * @Immutable
- * @version $Id: 383e84df9190757ce6bb6fb722e80a3b7d6b68da $
+ * @author $Id: 6bbd0ddefc452b0ace2f43ec3aa67a687adcf03c $
  */
+ at ProviderType
 public abstract class AbstractWiringNamespace extends Namespace {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/namespace/BundleNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/BundleNamespace.java
index 84b6700..59e36cb 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/BundleNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/BundleNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -66,7 +66,7 @@ import org.osgi.resource.Namespace;
  * capability.
  * 
  * @Immutable
- * @version $Id: 339f1204725aa9d9c2463b1224b2e38e505024e9 $
+ * @author $Id: 2672d40cf3705b2cf21d01530e4bdfa2cdc61764 $
  */
 public final class BundleNamespace extends AbstractWiringNamespace {
 
diff --git a/osgi/framework/src/org/osgi/framework/namespace/ExecutionEnvironmentNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/ExecutionEnvironmentNamespace.java
index 5328cae..a3f79a0 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/ExecutionEnvironmentNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/ExecutionEnvironmentNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ import org.osgi.resource.Namespace;
  * {@code String}, unless otherwise indicated.
  * 
  * @Immutable
- * @version $Id: e1c30aac8efacc1b21ab20ffebcc1af30a1054a8 $
+ * @author $Id: 45a233050d35a5debc8a7d1be1f7e81178916984 $
  */
 public final class ExecutionEnvironmentNamespace extends Namespace {
 
diff --git a/osgi/framework/src/org/osgi/framework/namespace/HostNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/HostNamespace.java
index 5964cf5..28f7c1d 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/HostNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/HostNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -66,7 +66,7 @@ import org.osgi.resource.Namespace;
  * capability.
  * 
  * @Immutable
- * @version $Id: aa3cc744c7b9c21d908260f456567ab8a6de1430 $
+ * @author $Id: a7cbf04c393bfaaa7515804a8ab6b9ebfd72fbe5 $
  */
 public final class HostNamespace extends AbstractWiringNamespace {
 
@@ -132,7 +132,7 @@ public final class HostNamespace extends AbstractWiringNamespace {
 
 	/**
 	 * The requirement directive used to specify the type of the extension
-	 * fragment.
+	 * fragment. The default value is {@link #EXTENSION_FRAMEWORK framework}.
 	 * 
 	 * @see #EXTENSION_FRAMEWORK
 	 * @see #EXTENSION_BOOTCLASSPATH
diff --git a/osgi/framework/src/org/osgi/framework/namespace/IdentityNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/IdentityNamespace.java
index c925e5a..cfbb843 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/IdentityNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/IdentityNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,7 +41,7 @@ import org.osgi.resource.Namespace;
  * capability.
  * 
  * @Immutable
- * @version $Id: e34dcaba1f828326a0db13b3d811b2d170ff97a5 $
+ * @author $Id: 7bc7a11c45b30538ffbb7572c4539f6160557684 $
  */
 public final class IdentityNamespace extends Namespace {
 
diff --git a/osgi/framework/src/org/osgi/framework/namespace/NativeNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/NativeNamespace.java
new file mode 100644
index 0000000..fb5f934
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/namespace/NativeNamespace.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.namespace;
+
+import org.osgi.framework.Constants;
+import org.osgi.resource.Namespace;
+
+/**
+ * Native Capability and Requirement Namespace.
+ * 
+ * <p>
+ * This class defines the names for the attributes and directives for this
+ * namespace. All unspecified capability attributes are of type {@code String}
+ * and are used as arbitrary matching attributes for the capability. The values
+ * associated with the specified directive and attribute keys are of type
+ * {@code String}, unless otherwise indicated.
+ * 
+ * @Immutable
+ * @author $Id: 0e11cacf68a480d0a15a152870bb9da7f55073ce $
+ */
+public final class NativeNamespace extends Namespace {
+
+	/**
+	 * Namespace name for native capabilities and requirements.
+	 */
+	public static final String	NATIVE_NAMESPACE				= "osgi.native";
+
+	/**
+	 * The capability attribute contains alias values of the
+	 * {@link Constants#FRAMEWORK_OS_NAME org.osgi.framework.os.name} launching
+	 * property value according to the <a
+	 * href="http://www.osgi.org/Specifications/Reference">OSGi Specification
+	 * References</a>. The value of this attribute must be of type
+	 * {@code List<String>}.
+	 */
+	public final static String	CAPABILITY_OSNAME_ATTRIBUTE		= NATIVE_NAMESPACE + ".osname";
+
+	/**
+	 * The capability attribute contains a {@code Version} parsed from the
+	 * {@link Constants#FRAMEWORK_OS_VERSION org.osgi.framework.os.version}
+	 * launching property value. The value of this attribute must be of type
+	 * {@code Version}.
+	 */
+	public final static String	CAPABILITY_OSVERSION_ATTRIBUTE	= NATIVE_NAMESPACE + ".osversion";
+
+	/**
+	 * The capability attribute contains alias values of the
+	 * {@link Constants#FRAMEWORK_PROCESSOR org.osgi.framework.processor}
+	 * launching property value according to the <a
+	 * href="http://www.osgi.org/Specifications/Reference">OSGi Specification
+	 * References</a>. The value of this attribute must be of type
+	 * {@code List<String>}.
+	 */
+	public final static String	CAPABILITY_PROCESSOR_ATTRIBUTE	= NATIVE_NAMESPACE + ".processor";
+
+	/**
+	 * The capability attribute contains the
+	 * {@link Constants#FRAMEWORK_LANGUAGE org.osgi.framework.language}
+	 * launching property value. The value of this attribute must be of type
+	 * {@code String}.
+	 */
+	public final static String	CAPABILITY_LANGUAGE_ATTRIBUTE	= NATIVE_NAMESPACE + ".language";
+
+	private NativeNamespace() {
+		// empty
+	}
+}
diff --git a/osgi/framework/src/org/osgi/framework/namespace/PackageNamespace.java b/osgi/framework/src/org/osgi/framework/namespace/PackageNamespace.java
index 2d1cbc3..9f7114c 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/PackageNamespace.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/PackageNamespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -59,7 +59,7 @@ import org.osgi.resource.Namespace;
  * </ul>
  * 
  * @Immutable
- * @version $Id: 5adc45bd1ae26120cbff3562c7c8cefc01e38bd3 $
+ * @author $Id: 5f241fb0804d477ab8f2d33f247d45e62caf72df $
  */
 public final class PackageNamespace extends AbstractWiringNamespace {
 
diff --git a/osgi/framework/src/org/osgi/framework/namespace/package-info.java b/osgi/framework/src/org/osgi/framework/namespace/package-info.java
index 9eb0ee2..e4bc139 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/namespace/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,15 +15,18 @@
  */
 
 /**
- * Namespace Package Version 1.0.
+ * Namespace Package Version 1.1.
  * 
  * <p>
  * Bundles should not need to import this package at runtime since all
  * the types in this package just contain constants for capability and 
  * requirement namespaces specified by the OSGi Alliance.
  * 
- * @version $Id: e40cb47c153c5bd53a1a5c9f7cedf047f8b31cf5 $
+ * @author $Id: e89f34a4fc6374744e90359b2fa58f9f0ca98e04 $
  */
 
+ at Version("1.1")
 package org.osgi.framework.namespace;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/namespace/packageinfo b/osgi/framework/src/org/osgi/framework/namespace/packageinfo
index 7c8de03..3987f9c 100644
--- a/osgi/framework/src/org/osgi/framework/namespace/packageinfo
+++ b/osgi/framework/src/org/osgi/framework/namespace/packageinfo
@@ -1 +1 @@
-version 1.0
+version 1.1
diff --git a/osgi/framework/src/org/osgi/framework/package-info.java b/osgi/framework/src/org/osgi/framework/package-info.java
old mode 100644
new mode 100755
index 0b154a0..a6e64ff
--- a/osgi/framework/src/org/osgi/framework/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,7 +15,7 @@
  */
 
 /**
- * Framework Package Version 1.7.
+ * Framework Package Version 1.8.
  * 
  * <p>
  * Bundles wishing to use this package must list the package in the
@@ -24,10 +24,13 @@
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework; version="[1.7,2.0)"}
+ * {@code  Import-Package: org.osgi.framework; version="[1.8,2.0)"}
  * 
- * @version $Id: a11d8e2964dacf128f21fef1e72f8cbaf0ce0ab3 $
+ * @author $Id: f7b9e43d8cb42d8182b06814406c44e01f6fc31e $
  */
 
+ at Version("1.8")
 package org.osgi.framework;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/packageinfo b/osgi/framework/src/org/osgi/framework/packageinfo
index 5d21e63..ed9885d 100644
--- a/osgi/framework/src/org/osgi/framework/packageinfo
+++ b/osgi/framework/src/org/osgi/framework/packageinfo
@@ -1 +1 @@
-version 1.7
+version 1.8
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/BundleStartLevel.java b/osgi/framework/src/org/osgi/framework/startlevel/BundleStartLevel.java
old mode 100644
new mode 100755
index d22d3ef..44e3c45
--- a/osgi/framework/src/org/osgi/framework/startlevel/BundleStartLevel.java
+++ b/osgi/framework/src/org/osgi/framework/startlevel/BundleStartLevel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.framework.startlevel;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 
@@ -29,9 +30,9 @@ import org.osgi.framework.BundleReference;
  * calling {@link BundleReference#getBundle()}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 9a000be191fe3cb4ae82535a30940db0340d5356 $
+ * @author $Id: 421ffd6e9c48cda1bcd28c62e9ace1c05852f112 $
  */
+ at ProviderType
 public interface BundleStartLevel extends BundleReference {
 	/**
 	 * Return the assigned start level value for the bundle.
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/FrameworkStartLevel.java b/osgi/framework/src/org/osgi/framework/startlevel/FrameworkStartLevel.java
old mode 100644
new mode 100755
index 11a8049..632c94c
--- a/osgi/framework/src/org/osgi/framework/startlevel/FrameworkStartLevel.java
+++ b/osgi/framework/src/org/osgi/framework/startlevel/FrameworkStartLevel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.framework.startlevel;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 import org.osgi.framework.FrameworkListener;
@@ -32,9 +33,9 @@ import org.osgi.framework.FrameworkListener;
  * obtained by calling {@link BundleReference#getBundle()}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 12c6f60842df994c7de2cc3cfd02f791b95fc35b $
+ * @author $Id: de8d10036e85359428ca3e14bbe9b2c6d448fb93 $
  */
+ at ProviderType
 public interface FrameworkStartLevel extends BundleReference {
 	/**
 	 * Return the active start level value of the Framework.
@@ -69,13 +70,13 @@ public interface FrameworkStartLevel extends BundleReference {
 	 * At each intermediate start level value on the way to and including the
 	 * target start level, the Framework must:
 	 * <ol>
-	 * <li>Change the active start level to the intermediate start level value.
+	 * <li>Change the active start level to the intermediate start level value.</li>
 	 * <li>Start bundles at the intermediate start level whose autostart setting
 	 * indicate they must be started. They are started as described in the
 	 * {@link Bundle#start(int)} method using the {@link Bundle#START_TRANSIENT}
 	 * option. The {@link Bundle#START_ACTIVATION_POLICY} option must also be
 	 * used if {@link BundleStartLevel#isActivationPolicyUsed()} returns
-	 * {@code true} for the bundle.
+	 * {@code true} for the bundle.</li>
 	 * </ol>
 	 * When this process completes after the specified start level is reached,
 	 * the Framework will fire a Framework event of type
@@ -92,8 +93,8 @@ public interface FrameworkStartLevel extends BundleReference {
 	 * <ol>
 	 * <li>Stop bundles at the intermediate start level as described in the
 	 * {@link Bundle#stop(int)} method using the {@link Bundle#STOP_TRANSIENT}
-	 * option.
-	 * <li>Change the active start level to the intermediate start level value.
+	 * option.</li>
+	 * <li>Change the active start level to the intermediate start level value.</li>
 	 * </ol>
 	 * When this process completes after the specified start level is reached,
 	 * the Framework will fire a Framework event of type
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/dto/BundleStartLevelDTO.java b/osgi/framework/src/org/osgi/framework/startlevel/dto/BundleStartLevelDTO.java
new file mode 100644
index 0000000..c36575b
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/startlevel/dto/BundleStartLevelDTO.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.startlevel.dto;
+
+import org.osgi.dto.DTO;
+import org.osgi.framework.startlevel.BundleStartLevel;
+
+/**
+ * Data Transfer Object for a BundleStartLevel.
+ * 
+ * <p>
+ * An installed Bundle can be adapted to provide a {@code BundleStartLevelDTO}
+ * for the Bundle.
+ * 
+ * @author $Id: 81430e24483d75fd406e57214284ec43b4b3f6a7 $
+ * @NotThreadSafe
+ */
+public class BundleStartLevelDTO extends DTO {
+    /**
+	 * The id of the bundle associated with this start level.
+	 * 
+	 * @see BundleStartLevel#getBundle()
+	 */
+    public long    bundle;
+
+    /**
+	 * The assigned start level value for the bundle.
+	 * 
+	 * @see BundleStartLevel#getStartLevel()
+	 */
+    public int     startLevel;
+
+    /**
+	 * The bundle's autostart setting indicates that the activation policy
+	 * declared in the bundle manifest must be used.
+	 * 
+	 * @see BundleStartLevel#isActivationPolicyUsed()
+	 */
+    public boolean activationPolicyUsed;
+
+    /**
+	 * The bundle's autostart setting indicates it must be started.
+	 * 
+	 * @see BundleStartLevel#isPersistentlyStarted()
+	 */
+    public boolean persistentlyStarted;
+}
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/dto/FrameworkStartLevelDTO.java b/osgi/framework/src/org/osgi/framework/startlevel/dto/FrameworkStartLevelDTO.java
new file mode 100644
index 0000000..cf9ff88
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/startlevel/dto/FrameworkStartLevelDTO.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.startlevel.dto;
+
+import org.osgi.dto.DTO;
+import org.osgi.framework.startlevel.FrameworkStartLevel;
+
+/**
+ * Data Transfer Object for a FrameworkStartLevel.
+ * 
+ * <p>
+ * The System Bundle can be adapted to provide a {@code FrameworkStartLevelDTO}
+ * for the framework of the Bundle.
+ * 
+ * @author $Id: 2d1de40ba2b1d12832ebe0e5cdd4f789d439b6f6 $
+ * @NotThreadSafe
+ */
+public class FrameworkStartLevelDTO extends DTO {
+    /**
+	 * The active start level value for the framework.
+	 * 
+	 * @see FrameworkStartLevel#getStartLevel()
+	 */
+    public int startLevel;
+
+    /**
+	 * The initial start level value that is assigned to a bundle when it is
+	 * first installed.
+	 * 
+	 * @see FrameworkStartLevel#getInitialBundleStartLevel()
+	 */
+    public int initialBundleStartLevel;
+}
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java b/osgi/framework/src/org/osgi/framework/startlevel/dto/package-info.java
similarity index 51%
copy from osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java
copy to osgi/framework/src/org/osgi/framework/startlevel/dto/package-info.java
index 34fa0d0..cef11d9 100644
--- a/osgi/framework/src/org/osgi/framework/hooks/resolver/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/startlevel/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,19 +15,28 @@
  */
 
 /**
- * Framework Resolver Hooks Package Version 1.0.
+ * OSGi Data Transfer Object Framework Start Level Package Version 1.0.
  * 
  * <p>
  * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
  * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.framework.hooks.resolver; version="[1.0,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.startlevel.dto; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.framework.startlevel.dto; version="[1.0,1.1)"}
  * 
- * @version $Id: 3621469ed02ccc323f6d8e1715f74537ec58e6df $
+ * @author $Id: 62262c52e6446fbe4a7b29725881f01791396c29 $
  */
 
-package org.osgi.framework.hooks.resolver;
+ at Version("1.0")
+package org.osgi.framework.startlevel.dto;
+
+import org.osgi.annotation.versioning.Version;
 
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo b/osgi/framework/src/org/osgi/framework/startlevel/dto/packageinfo
similarity index 100%
copy from osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo
copy to osgi/framework/src/org/osgi/framework/startlevel/dto/packageinfo
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/package-info.java b/osgi/framework/src/org/osgi/framework/startlevel/package-info.java
old mode 100644
new mode 100755
index 028fa60..3265948
--- a/osgi/framework/src/org/osgi/framework/startlevel/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/startlevel/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -73,8 +73,11 @@
  * Import-Package: org.osgi.framework.startlevel; version="[1.0,2.0)"
  * </pre>
  * 
- * @version $Id: 78bab33a230f0d6ee1de30fcac7ff6eaa04f0a52 $
+ * @author $Id: 27d775bbe53df5e1dd5d7fe6f5e1c95b294c2301 $
  */
 
+ at Version("1.0")
 package org.osgi.framework.startlevel;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/startlevel/packageinfo b/osgi/framework/src/org/osgi/framework/startlevel/packageinfo
old mode 100644
new mode 100755
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleCapability.java b/osgi/framework/src/org/osgi/framework/wiring/BundleCapability.java
old mode 100644
new mode 100755
index 19d7a67..705ba74
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleCapability.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleCapability.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.wiring;
 
 import java.util.Map;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.namespace.AbstractWiringNamespace;
 import org.osgi.resource.Capability;
 
@@ -25,9 +26,9 @@ import org.osgi.resource.Capability;
  * revision}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 39086f7e6086c2b3d83fbcb976a011cf69483ad8 $
+ * @author $Id: 834fb5779fb3c1b1b16ab25ffa4ab97a131b1262 $
  */
+ at ProviderType
 public interface BundleCapability extends Capability {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleRequirement.java b/osgi/framework/src/org/osgi/framework/wiring/BundleRequirement.java
old mode 100644
new mode 100755
index bb26c5d..42742dc
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleRequirement.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleRequirement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.wiring;
 
 import java.util.Map;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.namespace.AbstractWiringNamespace;
 import org.osgi.resource.Requirement;
 
@@ -25,9 +26,9 @@ import org.osgi.resource.Requirement;
  * revision}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 212ffb64f724d982db86ff7e49ed64ea530e670a $
+ * @author $Id: ac0578af567754bcd12c63a350c06afdd1bfec05 $
  */
+ at ProviderType
 public interface BundleRequirement extends Requirement {
 	/**
 	 * Returns the bundle revision declaring this requirement.
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleRevision.java b/osgi/framework/src/org/osgi/framework/wiring/BundleRevision.java
old mode 100644
new mode 100755
index 1ba9365..89d13b1
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleRevision.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleRevision.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.wiring;
 
 import java.util.List;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 import org.osgi.framework.Constants;
@@ -51,9 +52,9 @@ import org.osgi.resource.Resource;
  * {@link Constants#REQUIRE_CAPABILITY Require-Capability} manifest headers.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: e68e01a670f0ae9d6eb736414f875c8b216ed1bc $
+ * @author $Id: 1f318afdf8f5fe6097a841b49b67bf67d8c924f2 $
  */
+ at ProviderType
 public interface BundleRevision extends BundleReference, Resource {
 	/**
 	 * Returns the symbolic name for this bundle revision.
@@ -235,7 +236,7 @@ public interface BundleRevision extends BundleReference, Resource {
 	 * Returns the special types of this bundle revision. The bundle revision
 	 * type values are:
 	 * <ul>
-	 * <li>{@link #TYPE_FRAGMENT}
+	 * <li>{@link #TYPE_FRAGMENT}</li>
 	 * </ul>
 	 * 
 	 * A bundle revision may be more than one type at a time. A type code is
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleRevisions.java b/osgi/framework/src/org/osgi/framework/wiring/BundleRevisions.java
old mode 100644
new mode 100755
index f0d03ff..f9f7871
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleRevisions.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleRevisions.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.framework.wiring;
 
 import java.util.List;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 
@@ -36,9 +37,9 @@ import org.osgi.framework.BundleReference;
  * {@link #getRevisions()} on the bundle.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 8423242078417873faf0f8979e153e3c1f3a0e4b $
+ * @author $Id: 83e7bf03af2150a54af13a319325856e532cefde $
  */
+ at ProviderType
 public interface BundleRevisions extends BundleReference {
 	/**
 	 * Return the bundle revisions for the {@link BundleReference#getBundle()
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleWire.java b/osgi/framework/src/org/osgi/framework/wiring/BundleWire.java
old mode 100644
new mode 100755
index d14829a..ab2c658
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleWire.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleWire.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,15 +16,16 @@
 
 package org.osgi.framework.wiring;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.resource.Wire;
 
 /**
  * A wire connecting a {@link BundleCapability} to a {@link BundleRequirement}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 02e7cd6ec0fa9fdb73f782a6890984d5d4e7ca21 $
+ * @author $Id: f51255c8510d4b513dc2bb70c2274d9c51e9b9e5 $
  */
+ at ProviderType
 public interface BundleWire extends Wire {
 	/**
 	 * Returns the {@link BundleCapability} for this wire.
diff --git a/osgi/framework/src/org/osgi/framework/wiring/BundleWiring.java b/osgi/framework/src/org/osgi/framework/wiring/BundleWiring.java
old mode 100644
new mode 100755
index b234c38..a11040c
--- a/osgi/framework/src/org/osgi/framework/wiring/BundleWiring.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/BundleWiring.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -19,6 +19,7 @@ package org.osgi.framework.wiring;
 import java.net.URL;
 import java.util.Collection;
 import java.util.List;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 import org.osgi.framework.namespace.IdentityNamespace;
@@ -52,9 +53,9 @@ import org.osgi.resource.Wiring;
  * a bundle returns {@code null}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: a3b3fd7ad7d289a5bfc6e4e02c875bc42a34df89 $
+ * @author $Id: 367499c4b37683c52e622f479242a9caf7e59b0f $
  */
+ at ProviderType
 public interface BundleWiring extends BundleReference, Wiring {
 	/**
 	 * Returns {@code true} if this bundle wiring is the current bundle wiring.
@@ -113,8 +114,8 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 *         an empty list if this bundle wiring provides no capabilities in
 	 *         the specified namespace. If this bundle wiring is not
 	 *         {@link #isInUse() in use}, {@code null} will be returned. For a
-	 *         given namespace, the list contains the wires in the order the
-	 *         capabilities were specified in the manifests of the
+	 *         given namespace, the list contains the capabilities in the order
+	 *         the capabilities were specified in the manifests of the
 	 *         {@link #getRevision() bundle revision} and the attached
 	 *         fragments<sup>†</sup> of this bundle wiring. There is no
 	 *         ordering defined between capabilities in different namespaces.
@@ -143,8 +144,8 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 *         or an empty list if this bundle wiring uses no requirements in
 	 *         the specified namespace. If this bundle wiring is not
 	 *         {@link #isInUse() in use}, {@code null} will be returned. For a
-	 *         given namespace, the list contains the wires in the order the
-	 *         requirements were specified in the manifests of the
+	 *         given namespace, the list contains the requirements in the order
+	 *         the requirements were specified in the manifests of the
 	 *         {@link #getRevision() bundle revision} and the attached fragments
 	 *         of this bundle wiring. There is no ordering defined between
 	 *         requirements in different namespaces.
@@ -176,9 +177,10 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 * requirements} in use by this bundle wiring.
 	 * 
 	 * <p>
-	 * This method may return different results if this bundle wiring adds wires
-	 * to more requirements. For example, dynamically importing a package will
-	 * establish a new wire to the dynamically imported package.
+	 * This method may return different results if this bundle wiring
+	 * establishes additional wires to more requirements. For example,
+	 * dynamically importing a package will establish a new wire to the
+	 * dynamically imported package.
 	 * 
 	 * @param namespace The namespace of the requirements for which to return
 	 *        wires or {@code null} to return the wires for the requirements in
@@ -191,8 +193,9 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 *         given namespace, the list contains the wires in the order the
 	 *         requirements were specified in the manifests of the
 	 *         {@link #getRevision() bundle revision} and the attached fragments
-	 *         of this bundle wiring. There is no ordering defined between
-	 *         requirements in different namespaces.
+	 *         of this bundle wiring followed by dynamically established wires,
+	 *         if any, in the order they were established. There is no ordering
+	 *         defined between requirements in different namespaces.
 	 */
 	List<BundleWire> getRequiredWires(String namespace);
 
@@ -302,9 +305,9 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 * <li>Only the resource names for resources in bundle wirings will be
 	 * returned. The names of resources visible to a bundle wiring's parent
 	 * class loader, such as the bootstrap class loader, must not be included in
-	 * the result.
+	 * the result.</li>
 	 * <li>Only established wires will be examined for resources. This method
-	 * must not cause new wires for dynamic imports to be established.
+	 * must not cause new wires for dynamic imports to be established.</li>
 	 * </ul>
 	 * 
 	 * @param path The path name in which to look. The path is always relative
@@ -405,7 +408,7 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 * @return A list containing a snapshot of the {@link Capability}s, or an
 	 *         empty list if this wiring provides no capabilities in the
 	 *         specified namespace. For a given namespace, the list contains the
-	 *         wires in the order the capabilities were specified in the
+	 *         capabilities in the order the capabilities were specified in the
 	 *         manifests of the {@link #getResource() resource} and the attached
 	 *         fragment resources<sup>†</sup> of this wiring. There is no
 	 *         ordering defined between capabilities in different namespaces.
@@ -436,11 +439,11 @@ public interface BundleWiring extends BundleReference, Wiring {
 	 *        {@code null} to return the requirements from all namespaces.
 	 * @return A list containing a snapshot of the {@link Requirement}s, or an
 	 *         empty list if this wiring uses no requirements in the specified
-	 *         namespace. For a given namespace, the list contains the wires in
-	 *         the order the requirements were specified in the manifests of the
-	 *         {@link #getResource() resource} and the attached fragment
-	 *         resources of this wiring. There is no ordering defined between
-	 *         requirements in different namespaces.
+	 *         namespace. For a given namespace, the list contains the
+	 *         requirements in the order the requirements were specified in the
+	 *         manifests of the {@link #getResource() resource} and the attached
+	 *         fragment resources of this wiring. There is no ordering defined
+	 *         between requirements in different namespaces.
 	 * @since 1.1
 	 */
 	List<Requirement> getResourceRequirements(String namespace);
diff --git a/osgi/framework/src/org/osgi/framework/wiring/FrameworkWiring.java b/osgi/framework/src/org/osgi/framework/wiring/FrameworkWiring.java
old mode 100644
new mode 100755
index ce9952c..ee3c548
--- a/osgi/framework/src/org/osgi/framework/wiring/FrameworkWiring.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/FrameworkWiring.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,9 +17,11 @@
 package org.osgi.framework.wiring;
 
 import java.util.Collection;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleReference;
 import org.osgi.framework.FrameworkListener;
+import org.osgi.resource.Requirement;
 
 /**
  * Query and modify wiring information for the framework. The framework wiring
@@ -32,9 +34,9 @@ import org.osgi.framework.FrameworkListener;
  * by calling {@link BundleReference#getBundle()}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: bff4cdf85c632e2946e18c1640a86e80c069dd37 $
+ * @author $Id: 1ab9112badc94f802ccda966f7b73584f2a5c412 $
  */
+ at ProviderType
 public interface FrameworkWiring extends BundleReference {
 	/**
 	 * Refreshes the specified bundles. This forces the update (replacement) or
@@ -53,27 +55,23 @@ public interface FrameworkWiring extends BundleReference {
 	 * <li>Compute the {@link #getDependencyClosure(Collection) dependency
 	 * closure} of the specified bundles. If no bundles are specified, compute
 	 * the dependency closure of the {@link #getRemovalPendingBundles() removal
-	 * pending} bundles.
-	 * 
+	 * pending} bundles.</li>
 	 * <li>Each bundle in the dependency closure that is in the {@code ACTIVE}
-	 * state will be stopped as described in the {@code Bundle.stop} method.
-	 * 
+	 * state will be stopped as described in the {@code Bundle.stop} method.</li>
 	 * <li>Each bundle in the dependency closure that is in the {@code RESOLVED}
 	 * state is unresolved and thus moved to the {@code INSTALLED} state. The
 	 * effect of this step is that bundles in the dependency closure are no
-	 * longer {@code RESOLVED}.
-	 * 
+	 * longer {@code RESOLVED}.</li>
 	 * <li>Each bundle in the dependency closure that is in the
 	 * {@code UNINSTALLED} state is removed from the dependency closure and is
-	 * now completely removed from the Framework.
-	 * 
+	 * now completely removed from the Framework.</li>
 	 * <li>Each bundle in the dependency closure that was in the {@code ACTIVE}
 	 * state prior to Step 2 is started as described in the {@code Bundle.start}
 	 * method, causing all bundles required for the restart to be resolved. It
 	 * is possible that, as a result of the previous steps, packages that were
 	 * previously exported no longer are. Therefore, some bundles may be
 	 * unresolvable until bundles satisfying the dependencies have been
-	 * installed in the Framework.
+	 * installed in the Framework.</li>
 	 * </ol>
 	 * 
 	 * <p>
@@ -171,4 +169,34 @@ public interface FrameworkWiring extends BundleReference {
 	 *         FrameworkWiring.
 	 */
 	Collection<Bundle> getDependencyClosure(Collection<Bundle> bundles);
+
+	/**
+	 * Find bundle capabilities that match the given requirement.
+	 * 
+	 * <p>
+	 * The returned collection contains {@link BundleCapability} objects where
+	 * the revision must be the {@link BundleCapability#getRevision() declaring
+	 * revision} of the capability and the revision must either be the current
+	 * bundle revision or an {@link BundleWiring#isInUse() in use} bundle
+	 * revision.
+	 * 
+	 * <p>
+	 * Each returned capability must match the given requirement. This means
+	 * that the filter in the requirement must match as well as any namespace
+	 * specific directives. For example, the mandatory attributes for the
+	 * osgi.wiring.package namespace.
+	 * 
+	 * <p>
+	 * The returned collection has not been filtered to remove capabilities that
+	 * are non-effective, substituted or for which the providing bundle does not
+	 * have permission to provide. No resolve hooks are called to filter
+	 * matching capabilities.
+	 * 
+	 * @param requirement The requirement to find matching bundle capabilities.
+	 *        Must not be {@code null}.
+	 * @return A collection of {@link BundleCapability} objects that match the
+	 *         specified requirement.
+	 * @since 1.2
+	 */
+	Collection<BundleCapability> findProviders(Requirement requirement);
 }
diff --git a/osgi/framework/src/org/osgi/framework/wiring/dto/BundleRevisionDTO.java b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleRevisionDTO.java
new file mode 100644
index 0000000..1358b2a
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleRevisionDTO.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.wiring.dto;
+
+import org.osgi.framework.wiring.BundleRevision;
+import org.osgi.resource.dto.ResourceDTO;
+
+/**
+ * Data Transfer Object for a BundleRevision.
+ * 
+ * <p>
+ * An installed Bundle can be adapted to provide a {@code BundleRevisionDTO} for
+ * the current revision of the Bundle. {@code BundleRevisionDTO} objects for all
+ * in use revisions of the Bundle can be obtained by adapting the bundle to
+ * {@code BundleRevisionDTO[]}.
+ * 
+ * @author $Id: 43d74167b8b59468b148ceb9dcde4509b68c2a90 $
+ * @NotThreadSafe
+ */
+public class BundleRevisionDTO extends ResourceDTO {
+    /**
+	 * The symbolic name of the bundle revision.
+	 * 
+	 * @see BundleRevision#getSymbolicName()
+	 */
+    public String symbolicName;
+
+    /**
+	 * The type of the bundle revision.
+	 * 
+	 * @see BundleRevision#getTypes()
+	 */
+    public int    type;
+
+    /**
+	 * The version of the bundle revision.
+	 * 
+	 * @see BundleRevision#getVersion()
+	 */
+    public String version;
+
+    /**
+	 * The id of the bundle associated with the bundle revision.
+	 * 
+	 * @see BundleRevision#getBundle()
+	 */
+    public long   bundle;
+}
diff --git a/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWireDTO.java b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWireDTO.java
new file mode 100644
index 0000000..b55e634
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWireDTO.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.wiring.dto;
+
+import org.osgi.framework.wiring.BundleWire;
+import org.osgi.resource.dto.WireDTO;
+import org.osgi.resource.dto.WiringDTO;
+
+/**
+ * Data Transfer Object for a BundleWire.
+ * 
+ * <p>
+ * {@code BundleWireDTO}s are referenced {@link BundleWiringDTO.NodeDTO}s.
+ * 
+ * @author $Id: ef923b41460de6d3e34fad73dc794a788533c1e9 $
+ * @NotThreadSafe
+ */
+public class BundleWireDTO extends WireDTO {
+    /**
+	 * The identifier of the provider wiring for the bundle wire.
+	 * 
+	 * @see WiringDTO#id
+	 * @see BundleWire#getProviderWiring()
+	 */
+    public int providerWiring;
+
+    /**
+	 * The identifier of the requiring wiring for the bundle wire.
+	 * 
+	 * @see WiringDTO#id
+	 * @see BundleWire#getRequirerWiring()
+	 */
+    public int requirerWiring;
+}
diff --git a/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWiringDTO.java b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWiringDTO.java
new file mode 100644
index 0000000..a95c185
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/wiring/dto/BundleWiringDTO.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.framework.wiring.dto;
+
+import java.util.Set;
+import org.osgi.dto.DTO;
+import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.resource.dto.WiringDTO;
+
+/**
+ * Data Transfer Object for a BundleWiring graph.
+ * 
+ * <p>
+ * An installed Bundle can be adapted to provide a {@code BundleWiringDTO} for
+ * the current wiring Bundle. {@code BundleWiringDTO} objects for all in use
+ * wirings of the Bundle can be obtained by adapting the bundle to
+ * {@code BundleWiringDTO[]}.
+ * 
+ * @author $Id: e23e80fcf8a14cbc9f565ec146821a4f22f2731b $
+ * @NotThreadSafe
+ */
+public class BundleWiringDTO extends DTO {
+    /**
+	 * The id of the bundle associated with the bundle wiring graph.
+	 * 
+	 * @see BundleWiring#getBundle()
+	 */
+    public long                   bundle;
+
+    /**
+     * The identifier of the root wiring node of the bundle wiring graph.
+     * 
+     * @see WiringDTO#id
+     */
+    public int                    root;
+
+    /**
+     * The set of wiring nodes referenced by the wiring graph.
+     * 
+     * <p>
+     * All wiring nodes referenced by wiring node identifiers in the wiring
+     * graph are contained in this set.
+     */
+    public Set<NodeDTO>           nodes;
+
+    /**
+     * The set of resources referenced by the wiring graph.
+     * 
+     * <p>
+     * All resources referenced by resource identifiers in the wiring graph are
+     * contained in this set.
+     */
+    public Set<BundleRevisionDTO> resources;
+
+    /**
+     * Data Transfer Object for a BundleWiring node.
+     * 
+     * <p>
+     * The {@link WiringDTO#providedWires providedWires} field must contain an
+     * array of {@link BundleWireDTO}s. The {@link WiringDTO#requiredWires
+     * requiredWires} field must contain an array of {@link BundleWireDTO}s.
+     * 
+     * @NotThreadSafe
+     */
+    public static class NodeDTO extends WiringDTO {
+        /**
+		 * The bundle wiring's in use setting indicates that the bundle wiring
+		 * is in use.
+		 * 
+		 * @see BundleWiring#isInUse()
+		 */
+        public boolean inUse;
+
+        /**
+		 * The current state of the bundle wiring. The bundle wiring's current
+		 * setting indicates that the bundle wiring is the current bundle wiring
+		 * for the bundle.
+		 * 
+		 * @see BundleWiring#isCurrent()
+		 */
+        public boolean current;
+    }
+}
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java b/osgi/framework/src/org/osgi/framework/wiring/dto/package-info.java
similarity index 51%
copy from osgi/framework/src/org/osgi/service/packageadmin/package-info.java
copy to osgi/framework/src/org/osgi/framework/wiring/dto/package-info.java
index 9d9804d..59575e3 100644
--- a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,23 +15,28 @@
  */
 
 /**
- * Package Admin Package Version 1.2.
+ * OSGi Data Transfer Object Framework Wiring Package Version 1.2.
  * 
  * <p>
- * <b>Deprecated.</b>
- * <i>This package is deprecated and has been replaced by the
- * {@code org.osgi.framework.wiring} package.</i>
- *
- * <p>
  * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
  * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.service.packageadmin; version="[1.2,2.0)"}
+ * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.2,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.framework.wiring.dto; version="[1.2,1.3)"}
  * 
- * @version $Id: b1c7db22b9c84e48d3c6c711f0ed976e825053c9 $
+ * @author $Id: 691bcdcde78680a8b2855ababb8f12081495abcf $
  */
 
-package org.osgi.service.packageadmin;
+ at Version("1.2")
+package org.osgi.framework.wiring.dto;
+
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/wiring/dto/packageinfo b/osgi/framework/src/org/osgi/framework/wiring/dto/packageinfo
new file mode 100644
index 0000000..ef7df68
--- /dev/null
+++ b/osgi/framework/src/org/osgi/framework/wiring/dto/packageinfo
@@ -0,0 +1 @@
+version 1.2
diff --git a/osgi/framework/src/org/osgi/framework/wiring/package-info.java b/osgi/framework/src/org/osgi/framework/wiring/package-info.java
old mode 100644
new mode 100755
index 9d0fdf7..199d60c
--- a/osgi/framework/src/org/osgi/framework/wiring/package-info.java
+++ b/osgi/framework/src/org/osgi/framework/wiring/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,18 +15,21 @@
  */
 
 /**
- * Framework Wiring Package Version 1.1.
+ * Framework Wiring Package Version 1.2.
  * 
  * <p>
  * Bundles wishing to use this package must list the package in the
  * Import-Package header of the bundle's manifest. For example:
  * 
  * <pre>
- * Import-Package: org.osgi.framework.wiring; version="[1.1,2.0)"
+ * Import-Package: org.osgi.framework.wiring; version="[1.2,2.0)"
  * </pre>
  * 
- * @version $Id: 6f5c519e9ff1ee6ebc7a2564006e97385bb972ca $
+ * @author $Id: 6fb7232ca6c7b389c20f75566a46c4022b8dd5d5 $
  */
 
+ at Version("1.2")
 package org.osgi.framework.wiring;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/framework/wiring/packageinfo b/osgi/framework/src/org/osgi/framework/wiring/packageinfo
old mode 100644
new mode 100755
index 3987f9c..ef7df68
--- a/osgi/framework/src/org/osgi/framework/wiring/packageinfo
+++ b/osgi/framework/src/org/osgi/framework/wiring/packageinfo
@@ -1 +1 @@
-version 1.1
+version 1.2
diff --git a/osgi/framework/src/org/osgi/resource/Capability.java b/osgi/framework/src/org/osgi/resource/Capability.java
index bda0ce6..289c973 100644
--- a/osgi/framework/src/org/osgi/resource/Capability.java
+++ b/osgi/framework/src/org/osgi/resource/Capability.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.resource;
 
 import java.util.Map;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A capability that has been declared from a {@link Resource}.
@@ -27,8 +28,9 @@ import java.util.Map;
  * always return the same result.
  * 
  * @ThreadSafe
- * @version $Id: 5f40514f7bf45f6dce59651e8812b0922580e77e $
+ * @author $Id: e79d11402e14e170443c8a2a9da835391cd1ccc8 $
  */
+ at ConsumerType
 public interface Capability {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/resource/Namespace.java b/osgi/framework/src/org/osgi/resource/Namespace.java
index abda616..a8223b1 100644
--- a/osgi/framework/src/org/osgi/resource/Namespace.java
+++ b/osgi/framework/src/org/osgi/resource/Namespace.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.resource;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * Capability and Requirement Namespaces base class.
  * 
@@ -34,8 +36,9 @@ package org.osgi.resource;
  * otherwise indicated.
  * 
  * @Immutable
- * @version $Id: 43c9ff5cea19546d71c4703db71a2b5070a3f2fa $
+ * @author $Id: 95a67250528646012b39e8e5a92775fbb635a8c0 $
  */
+ at ConsumerType
 public abstract class Namespace {
 
 	/**
diff --git a/osgi/framework/src/org/osgi/resource/Requirement.java b/osgi/framework/src/org/osgi/resource/Requirement.java
index cf931bf..4806faa 100644
--- a/osgi/framework/src/org/osgi/resource/Requirement.java
+++ b/osgi/framework/src/org/osgi/resource/Requirement.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.resource;
 
 import java.util.Map;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A requirement that has been declared from a {@link Resource} .
@@ -27,8 +28,9 @@ import java.util.Map;
  * always return the same result.
  * 
  * @ThreadSafe
- * @version $Id: 212b26179910f98fd2c59c3e1e7dd0d086f42b5d $
+ * @author $Id: 252221aeaaf9b189eef6e0c3798d0076a0032242 $
  */
+ at ConsumerType
 public interface Requirement {
 	/**
 	 * Returns the namespace of this requirement.
diff --git a/osgi/framework/src/org/osgi/resource/Resource.java b/osgi/framework/src/org/osgi/resource/Resource.java
index 455d891..91edcdb 100644
--- a/osgi/framework/src/org/osgi/resource/Resource.java
+++ b/osgi/framework/src/org/osgi/resource/Resource.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.resource;
 
 import java.util.List;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A resource is the representation of a uniquely identified and typed data. A
@@ -29,8 +30,9 @@ import java.util.List;
  * always return the same result.
  * 
  * @ThreadSafe
- * @version $Id: 40958d5777ee269d27d58e9f646a4c91bcc6daa4 $
+ * @author $Id: c7b6462fb53b38ac3071d7ba73af9dad2af6b9ce $
  */
+ at ConsumerType
 public interface Resource {
 	/**
 	 * Returns the capabilities declared by this resource.
diff --git a/osgi/framework/src/org/osgi/resource/Wire.java b/osgi/framework/src/org/osgi/resource/Wire.java
index 18feab8..beba44e 100644
--- a/osgi/framework/src/org/osgi/resource/Wire.java
+++ b/osgi/framework/src/org/osgi/resource/Wire.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.resource;
 
+import org.osgi.annotation.versioning.ConsumerType;
+
 /**
  * A wire connecting a {@link Capability} to a {@link Requirement}.
  * 
@@ -25,8 +27,9 @@ package org.osgi.resource;
  * always return the same result.
  * 
  * @ThreadSafe
- * @version $Id: d7ca9a5d3e8dd2277f8243a750e40fbcf79185bd $
+ * @author $Id: 6c248ea2b9b24f3610a14e5e8deec9cd0b7aa1c9 $
  */
+ at ConsumerType
 public interface Wire {
 	/**
 	 * Returns the {@link Capability} for this wire.
diff --git a/osgi/framework/src/org/osgi/resource/Wiring.java b/osgi/framework/src/org/osgi/resource/Wiring.java
index 230fef0..56db2a3 100644
--- a/osgi/framework/src/org/osgi/resource/Wiring.java
+++ b/osgi/framework/src/org/osgi/resource/Wiring.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.resource;
 
 import java.util.List;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * A wiring for a resource. A wiring is associated with a resource and
@@ -28,8 +29,9 @@ import java.util.List;
  * always return the same result.
  * 
  * @ThreadSafe
- * @version $Id: b65dec3887cfa1d5731e860db558a01503c0f47d $
+ * @author $Id: 935272fa914a9cc0020549c43a3857acad2c45cc $
  */
+ at ConsumerType
 public interface Wiring {
 	/**
 	 * Returns the capabilities provided by this wiring.
@@ -64,7 +66,7 @@ public interface Wiring {
 	 * @return A list containing a snapshot of the {@link Capability}s, or an
 	 *         empty list if this wiring provides no capabilities in the
 	 *         specified namespace. For a given namespace, the list contains the
-	 *         wires in the order the capabilities were specified in the
+	 *         capabilities in the order the capabilities were specified in the
 	 *         manifests of the {@link #getResource() resource} and the attached
 	 *         fragment resources<sup>†</sup> of this wiring. There is no
 	 *         ordering defined between capabilities in different namespaces.
@@ -91,11 +93,11 @@ public interface Wiring {
 	 *        {@code null} to return the requirements from all namespaces.
 	 * @return A list containing a snapshot of the {@link Requirement}s, or an
 	 *         empty list if this wiring uses no requirements in the specified
-	 *         namespace. For a given namespace, the list contains the wires in
-	 *         the order the requirements were specified in the manifests of the
-	 *         {@link #getResource() resource} and the attached fragment
-	 *         resources of this wiring. There is no ordering defined between
-	 *         requirements in different namespaces.
+	 *         namespace. For a given namespace, the list contains the
+	 *         requirements in the order the requirements were specified in the
+	 *         manifests of the {@link #getResource() resource} and the attached
+	 *         fragment resources of this wiring. There is no ordering defined
+	 *         between requirements in different namespaces.
 	 */
 	List<Requirement> getResourceRequirements(String namespace);
 
diff --git a/osgi/framework/src/org/osgi/resource/dto/CapabilityDTO.java b/osgi/framework/src/org/osgi/resource/dto/CapabilityDTO.java
new file mode 100644
index 0000000..701c8e7
--- /dev/null
+++ b/osgi/framework/src/org/osgi/resource/dto/CapabilityDTO.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.resource.dto;
+
+import java.util.Map;
+import org.osgi.dto.DTO;
+import org.osgi.resource.Capability;
+
+/**
+ * Data Transfer Object for a Capability.
+ * 
+ * @author $Id: 1f7fad1bf5985e7a4e8e72866019a47300402531 $
+ * @NotThreadSafe
+ */
+public class CapabilityDTO extends DTO {
+    /**
+     * The unique identifier of the capability.
+     * 
+     * <p>
+     * This identifier is transiently assigned and may vary across restarts.
+     */
+    public int                 id;
+
+    /**
+     * The namespace for the capability.
+     * 
+     * @see Capability#getNamespace()
+     */
+    public String              namespace;
+
+    /**
+     * The directives for the capability.
+     * 
+     * @see Capability#getDirectives()
+     */
+    public Map<String, String> directives;
+
+    /**
+     * The attributes for the capability.
+     * 
+     * <p>
+     * The value type must be a numerical type, Boolean, String, DTO or an array
+     * of any of the former.
+     * 
+     * @see Capability#getAttributes()
+     */
+    public Map<String, Object> attributes;
+
+    /**
+	 * The identifier of the resource declaring the capability.
+	 * 
+	 * @see ResourceDTO#id
+	 * @see Capability#getResource()
+	 */
+    public int                 resource;
+}
diff --git a/osgi/framework/src/org/osgi/service/url/package-info.java b/osgi/framework/src/org/osgi/resource/dto/CapabilityRefDTO.java
similarity index 55%
copy from osgi/framework/src/org/osgi/service/url/package-info.java
copy to osgi/framework/src/org/osgi/resource/dto/CapabilityRefDTO.java
index 765d5a9..2febdc7 100644
--- a/osgi/framework/src/org/osgi/service/url/package-info.java
+++ b/osgi/framework/src/org/osgi/resource/dto/CapabilityRefDTO.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,20 +14,28 @@
  * limitations under the License.
  */
 
+package org.osgi.resource.dto;
+
+import org.osgi.dto.DTO;
+
 /**
- * URL Stream and Content Handlers Package Version 1.0.
- * 
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Data Transfer Object for a reference to a Capability.
  * 
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code  Import-Package: org.osgi.service.url; version="[1.0,2.0)"}
- * 
- * @version $Id: 4dd6b685a79b76ce57708f69487533abe4828943 $
+ * @author $Id: 81d5b85fdd9ffd67ef2729e107114530924054ac $
+ * @NotThreadSafe
  */
+public class CapabilityRefDTO extends DTO {
+    /**
+     * The identifier of the capability in the resource.
+     * 
+     * @see CapabilityDTO#id
+     */
+    public int capability;
 
-package org.osgi.service.url;
-
+    /**
+     * The identifier of the resource declaring the capability.
+     * 
+     * @see ResourceDTO#id
+     */
+    public int resource;
+}
diff --git a/osgi/framework/src/org/osgi/resource/dto/RequirementDTO.java b/osgi/framework/src/org/osgi/resource/dto/RequirementDTO.java
new file mode 100644
index 0000000..ec66e08
--- /dev/null
+++ b/osgi/framework/src/org/osgi/resource/dto/RequirementDTO.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.resource.dto;
+
+import java.util.Map;
+import org.osgi.dto.DTO;
+import org.osgi.resource.Requirement;
+
+/**
+ * Data Transfer Object for a Requirement.
+ * 
+ * @author $Id: dfa21db37ca5ba2be4524dc8cbfa5adae20a8043 $
+ * @NotThreadSafe
+ */
+public class RequirementDTO extends DTO {
+    /**
+     * The unique identifier of the requirement.
+     * 
+     * <p>
+     * This identifier is transiently assigned and may vary across restarts.
+     */
+    public int                 id;
+
+    /**
+	 * The namespace for the requirement.
+	 * 
+	 * @see Requirement#getNamespace()
+	 */
+    public String              namespace;
+
+    /**
+	 * The directives for the requirement.
+	 * 
+	 * @see Requirement#getDirectives()
+	 */
+    public Map<String, String> directives;
+
+    /**
+	 * The attributes for the requirement.
+	 * 
+	 * <p>
+	 * The value type must be a numerical type, Boolean, String, DTO or an array
+	 * of any of the former.
+	 * 
+	 * @see Requirement#getAttributes()
+	 */
+    public Map<String, Object> attributes;
+
+    /**
+	 * The identifier of the resource declaring the requirement.
+	 * 
+	 * @see ResourceDTO#id
+	 * @see Requirement#getResource()
+	 */
+    public int                 resource;
+}
diff --git a/osgi/framework/src/org/osgi/service/url/package-info.java b/osgi/framework/src/org/osgi/resource/dto/RequirementRefDTO.java
similarity index 55%
copy from osgi/framework/src/org/osgi/service/url/package-info.java
copy to osgi/framework/src/org/osgi/resource/dto/RequirementRefDTO.java
index 765d5a9..18e73d0 100644
--- a/osgi/framework/src/org/osgi/service/url/package-info.java
+++ b/osgi/framework/src/org/osgi/resource/dto/RequirementRefDTO.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -14,20 +14,28 @@
  * limitations under the License.
  */
 
+package org.osgi.resource.dto;
+
+import org.osgi.dto.DTO;
+
 /**
- * URL Stream and Content Handlers Package Version 1.0.
- * 
- * <p>
- * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Data Transfer Object for a reference to a Requirement.
  * 
- * <p>
- * Example import for consumers using the API in this package:
- * <p>
- * {@code  Import-Package: org.osgi.service.url; version="[1.0,2.0)"}
- * 
- * @version $Id: 4dd6b685a79b76ce57708f69487533abe4828943 $
+ * @author $Id: 8f913a72d9d97ccc0a86bea2c85352018331fe8e $
+ * @NotThreadSafe
  */
+public class RequirementRefDTO extends DTO {
+    /**
+     * The identifier of the requirement in the resource.
+     * 
+     * @see RequirementDTO#id
+     */
+    public int requirement;
 
-package org.osgi.service.url;
-
+    /**
+     * The identifier of the resource declaring the requirement.
+     * 
+     * @see ResourceDTO#id
+     */
+    public int resource;
+}
diff --git a/osgi/framework/src/org/osgi/resource/dto/ResourceDTO.java b/osgi/framework/src/org/osgi/resource/dto/ResourceDTO.java
new file mode 100644
index 0000000..9d48552
--- /dev/null
+++ b/osgi/framework/src/org/osgi/resource/dto/ResourceDTO.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.resource.dto;
+
+import java.util.List;
+import org.osgi.dto.DTO;
+import org.osgi.resource.Resource;
+
+/**
+ * Data Transfer Object for a Resource.
+ * 
+ * @author $Id: 377b7aff2a66f6691accf7af7017a68634fde3c4 $
+ * @NotThreadSafe
+ */
+public class ResourceDTO extends DTO {
+    /**
+     * The unique identifier of the resource.
+     * 
+     * <p>
+     * This identifier is transiently assigned and may vary across restarts.
+     */
+    public int                  id;
+
+    /**
+	 * The capabilities of the resource.
+	 * 
+	 * @see Resource#getCapabilities(String)
+	 */
+    public List<CapabilityDTO>  capabilities;
+
+    /**
+	 * The requirements of the resource.
+	 * 
+	 * @see Resource#getRequirements(String)
+	 */
+    public List<RequirementDTO> requirements;
+}
diff --git a/osgi/framework/src/org/osgi/resource/dto/WireDTO.java b/osgi/framework/src/org/osgi/resource/dto/WireDTO.java
new file mode 100644
index 0000000..fb40c9a
--- /dev/null
+++ b/osgi/framework/src/org/osgi/resource/dto/WireDTO.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.resource.dto;
+
+import org.osgi.dto.DTO;
+import org.osgi.resource.Wire;
+
+/**
+ * Data Transfer Object for a Wire.
+ * 
+ * @author $Id: 017ea7cc366de436fe9a416f47d79ac6fe65ceb4 $
+ * @NotThreadSafe
+ */
+public class WireDTO extends DTO {
+    /**
+	 * Reference to the Capability for the wire.
+	 * 
+	 * @see Wire#getCapability()
+	 */
+    public CapabilityRefDTO  capability;
+
+    /**
+	 * Reference to the Requirement for the wire.
+	 * 
+	 * @see Wire#getRequirement()
+	 */
+    public RequirementRefDTO requirement;
+
+    /**
+	 * The identifier of the provider resource for the wire.
+	 * 
+	 * @see ResourceDTO#id
+	 * @see Wire#getProvider()
+	 */
+    public int               provider;
+
+    /**
+	 * The identifier of the requiring resource for the wire.
+	 * 
+	 * @see ResourceDTO#id
+	 * @see Wire#getRequirer()
+	 */
+    public int               requirer;
+}
diff --git a/osgi/framework/src/org/osgi/resource/dto/WiringDTO.java b/osgi/framework/src/org/osgi/resource/dto/WiringDTO.java
new file mode 100644
index 0000000..49f4139
--- /dev/null
+++ b/osgi/framework/src/org/osgi/resource/dto/WiringDTO.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.osgi.resource.dto;
+
+import java.util.List;
+import org.osgi.dto.DTO;
+import org.osgi.resource.Wiring;
+
+/**
+ * Data Transfer Object for a Wiring node.
+ * 
+ * @author $Id: 8dc3844e57eae338ddc2565e20b93360ea390382 $
+ * @NotThreadSafe
+ */
+public class WiringDTO extends DTO {
+    /**
+     * The unique identifier of the wiring node.
+     * 
+     * <p>
+     * This identifier is transiently assigned and may vary across restarts.
+     */
+    public int                     id;
+
+    /**
+	 * The references to the capabilities for the wiring node.
+	 * 
+	 * @see Wiring#getResourceCapabilities(String)
+	 */
+    public List<CapabilityRefDTO>  capabilities;
+
+    /**
+	 * The references to the requirements for the wiring node.
+	 * 
+	 * @see Wiring#getResourceRequirements(String)
+	 */
+    public List<RequirementRefDTO> requirements;
+
+    /**
+	 * The provided wires for the wiring node.
+	 * 
+	 * @see Wiring#getProvidedResourceWires(String)
+	 */
+    public List<WireDTO>           providedWires;
+
+    /**
+	 * The required wires for the wiring node.
+	 * 
+	 * @see Wiring#getRequiredResourceWires(String)
+	 */
+    public List<WireDTO>           requiredWires;
+
+    /**
+	 * The identifier of the resource associated with the wiring node.
+	 * 
+	 * @see ResourceDTO#id
+	 * @see Wiring#getResource()
+	 */
+    public int                     resource;
+}
diff --git a/osgi/framework/src/org/osgi/util/tracker/package-info.java b/osgi/framework/src/org/osgi/resource/dto/package-info.java
similarity index 51%
copy from osgi/framework/src/org/osgi/util/tracker/package-info.java
copy to osgi/framework/src/org/osgi/resource/dto/package-info.java
index 9b6077f..e8001e7 100644
--- a/osgi/framework/src/org/osgi/util/tracker/package-info.java
+++ b/osgi/framework/src/org/osgi/resource/dto/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2012, 2014). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,19 +15,28 @@
  */
 
 /**
- * Tracker Package Version 1.5.
+ * OSGi Data Transfer Object Resource Package Version 1.0.
  * 
  * <p>
  * Bundles wishing to use this package must list the package in the
- * Import-Package header of the bundle's manifest.
+ * Import-Package header of the bundle's manifest. This package has two types of
+ * users: the consumers that use the API in this package and the providers that
+ * implement the API in this package.
  * 
  * <p>
  * Example import for consumers using the API in this package:
  * <p>
- * {@code  Import-Package: org.osgi.util.tracker; version="[1.5,2.0)"}
+ * {@code  Import-Package: org.osgi.resource.dto; version="[1.0,2.0)"}
+ * <p>
+ * Example import for providers implementing the API in this package:
+ * <p>
+ * {@code  Import-Package: org.osgi.resource.dto; version="[1.0,1.1)"}
  * 
- * @version $Id: e24ccaae9b18ecce26ce0add3a47f1fe6dac84bb $
+ * @author $Id: 6e316cddacc0a37e39705ba982046cd3021ce22e $
  */
 
-package org.osgi.util.tracker;
+ at Version("1.0")
+package org.osgi.resource.dto;
+
+import org.osgi.annotation.versioning.Version;
 
diff --git a/osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo b/osgi/framework/src/org/osgi/resource/dto/packageinfo
similarity index 100%
copy from osgi/framework/src/org/osgi/framework/hooks/resolver/packageinfo
copy to osgi/framework/src/org/osgi/resource/dto/packageinfo
diff --git a/osgi/framework/src/org/osgi/resource/package-info.java b/osgi/framework/src/org/osgi/resource/package-info.java
index a81d655..623b92a 100644
--- a/osgi/framework/src/org/osgi/resource/package-info.java
+++ b/osgi/framework/src/org/osgi/resource/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2011, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2011, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,8 +25,11 @@
  * Import-Package: org.osgi.resource; version="[1.0,2.0)"
  * </pre>
  * 
- * @version $Id: d0272f91b8f76d63729dc851569da04b2ea88092 $
+ * @author $Id: c537ca9b2fa1504e2429f386100d13327c49be0b $
  */
 
+ at Version("1.0")
 package org.osgi.resource;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/BundleLocationCondition.java b/osgi/framework/src/org/osgi/service/condpermadmin/BundleLocationCondition.java
index 71b95e2..68a09e7 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/BundleLocationCondition.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/BundleLocationCondition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2005, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ import org.osgi.framework.InvalidSyntaxException;
  * Pattern matching is done according to the filter string matching rules.
  * 
  * @ThreadSafe
- * @version $Id: 43b6af515f7f92b5fe8fde94cc0b03dc7044807b $
+ * @author $Id: 262e82a5ba72bf4e142179cf037e09a761743382 $
  */
 public class BundleLocationCondition {
 	private static final String	CONDITION_TYPE	= "org.osgi.service.condpermadmin.BundleLocationCondition";
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/BundleSignerCondition.java b/osgi/framework/src/org/osgi/service/condpermadmin/BundleSignerCondition.java
index 884faec..add3b5c 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/BundleSignerCondition.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/BundleSignerCondition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2005, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -48,7 +48,7 @@ import org.osgi.framework.FrameworkUtil;
  * RDNs).
  * 
  * @ThreadSafe
- * @version $Id: 8f8619a999cf2afba3d9c1e52e3fc0df2cde636c $
+ * @author $Id: 9bb17ecb4b23c66940ab8d9f3b97b0a1040db929 $
  */
 public class BundleSignerCondition {
 	private static final String	CONDITION_TYPE	= "org.osgi.service.condpermadmin.BundleSignerCondition";
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/Condition.java b/osgi/framework/src/org/osgi/service/condpermadmin/Condition.java
index bcf9a30..40a8027 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/Condition.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/Condition.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.service.condpermadmin;
 
 import java.util.Dictionary;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * The interface implemented by a Condition. Conditions are bound to Permissions
@@ -24,8 +25,9 @@ import java.util.Dictionary;
  * Info can only be used if the associated Conditions are satisfied.
  * 
  * @ThreadSafe
- * @version $Id: ae2500276f1204a47a981347579f5b53cc8a7e4f $
+ * @author $Id: 87718d0133d588bbc10729bb5cf43cfeb86fa391 $
  */
+ at ConsumerType
 public interface Condition {
 	/**
 	 * A Condition object that will always evaluate to true and that is never
@@ -45,7 +47,8 @@ public interface Condition {
 	 * is immutable), then this Condition must be able to directly answer the
 	 * {@link #isSatisfied()} method. In other words, isSatisfied() will return
 	 * very quickly since no external sources, such as for example users or
-	 * networks, need to be consulted. <br/>
+	 * networks, need to be consulted.
+	 * <p>
 	 * This method must always return the same value whenever it is called so
 	 * that the Conditional Permission Admin can cache its result.
 	 * 
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionInfo.java b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionInfo.java
index b11c5f1..8fad05d 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionInfo.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -41,11 +41,11 @@ import java.util.List;
  * </li>
  * <li>Implement the {@code Condition} interface and define a public constructor
  * that takes a {@code Bundle} object and a {@code ConditionInfo} object as
- * arguments.
+ * arguments.</li>
  * </ul>
  * 
  * @Immutable
- * @version $Id: c2497fefba5a0011a141f9548c3d383b34d3dc8d $
+ * @author $Id: 3302f4293746b44923f1cbc602dd907e3400eed5 $
  */
 public class ConditionInfo {
 	private final String	type;
@@ -171,9 +171,9 @@ public class ConditionInfo {
 	 * </pre>
 	 * 
 	 * where <i>argN</i> are strings that must be encoded for proper parsing.
-	 * Specifically, the {@code "}, {@code \}, carriage return, and line
-	 * feed characters must be escaped using {@code \"}, {@code \\},
-	 * {@code \r}, and {@code \n}, respectively.
+	 * Specifically, the {@code "}, {@code \}, carriage return, and line feed
+	 * characters must be escaped using {@code \"}, {@code \\}, {@code \r}, and
+	 * {@code \n}, respectively.
 	 * 
 	 * <p>
 	 * The encoded string contains no leading or trailing whitespace characters.
@@ -205,6 +205,7 @@ public class ConditionInfo {
 	 * 
 	 * @return The string representation of this {@code ConditionInfo}.
 	 */
+	@Override
 	public String toString() {
 		return getEncoded();
 	}
@@ -242,6 +243,7 @@ public class ConditionInfo {
 	 *         the same type and args as this {@code ConditionInfo} object;
 	 *         {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -268,7 +270,7 @@ public class ConditionInfo {
 	 * 
 	 * @return A hash code value for this object.
 	 */
-
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + type.hashCode();
 		for (int i = 0; i < args.length; i++) {
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionAdmin.java b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionAdmin.java
index 89db261..12d3c55 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionAdmin.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionAdmin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2005, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2005, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -18,6 +18,7 @@ package org.osgi.service.condpermadmin;
 
 import java.security.AccessControlContext;
 import java.util.Enumeration;
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.service.permissionadmin.PermissionInfo;
 
 /**
@@ -27,9 +28,9 @@ import org.osgi.service.permissionadmin.PermissionInfo;
  * the Conditional Permission Table.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 5be9948e8181bdf55154f25af1462a9d84990d93 $
+ * @author $Id: ac911fc403db63464ab69b1a5d532d1162603356 $
  */
+ at ProviderType
 public interface ConditionalPermissionAdmin {
 	/**
 	 * Create a new Conditional Permission Info in the Conditional Permission
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionInfo.java b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionInfo.java
index 220f7ef..14a5e4c 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionInfo.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.service.condpermadmin;
 
+import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.service.permissionadmin.PermissionInfo;
 
 /**
@@ -24,9 +25,9 @@ import org.osgi.service.permissionadmin.PermissionInfo;
  * Permission Admin service.
  * 
  * @Immutable
- * @noimplement
- * @version $Id: c4222b04d7ab4f8ccdb5def2bf5423c2e1d31f20 $
+ * @author $Id: 1630bc4c55d27a5f5df313fa427e9b07c7d8ce90 $
  */
+ at ProviderType
 public interface ConditionalPermissionInfo {
 	/**
 	 * This string is used to indicate that a row in the Conditional Permission
@@ -132,11 +133,10 @@ public interface ConditionalPermissionInfo {
 	 * 
 	 * <p>
 	 * <i>name</i> is optional. If <i>name</i> is present in the encoded string,
-	 * it must quoted, beginning and ending with {@code "}. The <i>name</i>
-	 * value must be encoded for proper parsing. Specifically, the
-	 * {@code "}, {@code \}, carriage return, and line feed characters must
-	 * be escaped using {@code \"}, {@code \\}, {@code \r}, and {@code \n},
-	 * respectively.
+	 * it must quoted, beginning and ending with {@code "}. The <i>name</i>
+	 * value must be encoded for proper parsing. Specifically, the {@code "},
+	 * {@code \}, carriage return, and line feed characters must be escaped
+	 * using {@code \"}, {@code \\}, {@code \r}, and {@code \n}, respectively.
 	 * 
 	 * <p>
 	 * The encoded string contains no leading or trailing whitespace characters.
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionUpdate.java b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionUpdate.java
index 6d52c47..67dfdcb 100644
--- a/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionUpdate.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/ConditionalPermissionUpdate.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2008, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2008, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.service.condpermadmin;
 
 import java.util.List;
+import org.osgi.annotation.versioning.ProviderType;
 
 /**
  * Update the Conditional Permission Table. There may be many update objects in
@@ -25,10 +26,10 @@ import java.util.List;
  * commit will fail and this object should be discarded.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 7487aa7d2558f34c0115b924180ed17e6e13e22e $
+ * @author $Id: 4fbc41cdb8334baeb5aaca53138c7a25c3de857f $
  * @since 1.1
  */
+ at ProviderType
 public interface ConditionalPermissionUpdate {
 	/**
 	 * This method returns the list of {@link ConditionalPermissionInfo}s for
@@ -37,9 +38,8 @@ public interface ConditionalPermissionUpdate {
 	 * method will be replace the Conditional Permission Table if commit is
 	 * called and is successful.
 	 * <p>
-	 * The {@link ConditionalPermissionInfo#delete() delete} method of the
-	 * ConditionalPermissionInfos in the list must throw
-	 * UnsupportedOperationException.
+	 * The {@code delete()} method of the {@link ConditionalPermissionInfo}s in
+	 * the list must throw UnsupportedOperationException.
 	 * <p>
 	 * The list returned by this method is ordered and the most significant
 	 * table entry is the first entry in the list.
diff --git a/osgi/framework/src/org/osgi/service/condpermadmin/package-info.java b/osgi/framework/src/org/osgi/service/condpermadmin/package-info.java
old mode 100644
new mode 100755
index 783a07e..597cb2c
--- a/osgi/framework/src/org/osgi/service/condpermadmin/package-info.java
+++ b/osgi/framework/src/org/osgi/service/condpermadmin/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.condpermadmin; version="[1.1,2.0)"}
  * 
- * @version $Id: 233676a532c6248ff670390f6a25ba6d8399f4ff $
+ * @author $Id: 1e55f1325a38eda12b52f106be295ffb0e951f20 $
  */
 
+ at Version("1.1.1")
 package org.osgi.service.condpermadmin;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/ExportedPackage.java b/osgi/framework/src/org/osgi/service/packageadmin/ExportedPackage.java
index 4dd3a3a..4b2001d 100644
--- a/osgi/framework/src/org/osgi/service/packageadmin/ExportedPackage.java
+++ b/osgi/framework/src/org/osgi/service/packageadmin/ExportedPackage.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -45,7 +45,7 @@ import org.osgi.framework.Version;
  * @noimplement
  * @deprecated The PackageAdmin service has been replaced by the
  *             <code>org.osgi.framework.wiring</code> package.
- * @version $Id: 22ce5e8e388107b04edba3aea2f3036b8026798d $
+ * @author $Id: e04a2beb3de2afff4cb01747e589c04b5e0f0cc8 $
  */
 public interface ExportedPackage {
 	/**
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/PackageAdmin.java b/osgi/framework/src/org/osgi/service/packageadmin/PackageAdmin.java
index 2c57890..03ca2e5 100644
--- a/osgi/framework/src/org/osgi/service/packageadmin/PackageAdmin.java
+++ b/osgi/framework/src/org/osgi/service/packageadmin/PackageAdmin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,7 +29,7 @@ import org.osgi.framework.Bundle;
  * 
  * @ThreadSafe
  * @noimplement
- * @version $Id: a268c3bdc986080fa16bdb2f56ba1d3800d030dd $
+ * @author $Id: 4aad25d2f145d9a2d24825bc481dcc254b74ed51 $
  * @deprecated This service has been replaced by the
  *             <code>org.osgi.framework.wiring</code> package.
  * @see org.osgi.service.packageadmin.ExportedPackage
@@ -104,30 +104,28 @@ public interface PackageAdmin {
 	 * graph any bundle that is wired to a package that is currently exported by
 	 * a bundle in the graph. The graph is fully constructed when there is no
 	 * bundle outside the graph that is wired to a bundle in the graph. The
-	 * graph may contain {@code UNINSTALLED} bundles that are currently
-	 * still exporting packages.
+	 * graph may contain {@code UNINSTALLED} bundles that are currently still
+	 * exporting packages.</li>
 	 * 
-	 * <li>Each bundle in the graph that is in the {@code ACTIVE} state
-	 * will be stopped as described in the {@code Bundle.stop} method.
+	 * <li>Each bundle in the graph that is in the {@code ACTIVE} state will be
+	 * stopped as described in the {@code Bundle.stop} method.</li>
 	 * 
-	 * <li>Each bundle in the graph that is in the {@code RESOLVED} state
-	 * is unresolved and thus moved to the {@code INSTALLED} state. The
-	 * effect of this step is that bundles in the graph are no longer
-	 * {@code RESOLVED}.
+	 * <li>Each bundle in the graph that is in the {@code RESOLVED} state is
+	 * unresolved and thus moved to the {@code INSTALLED} state. The effect of
+	 * this step is that bundles in the graph are no longer {@code RESOLVED}.</li>
 	 * 
-	 * <li>Each bundle in the graph that is in the {@code UNINSTALLED}
-	 * state is removed from the graph and is now completely removed from the
-	 * Framework.
+	 * <li>Each bundle in the graph that is in the {@code UNINSTALLED} state is
+	 * removed from the graph and is now completely removed from the Framework.</li>
 	 * 
-	 * <li>Each bundle in the graph that was in the {@code ACTIVE} state
-	 * prior to Step 2 is started as described in the {@code Bundle.start}
-	 * method, causing all bundles required for the restart to be resolved. It
-	 * is possible that, as a result of the previous steps, packages that were
+	 * <li>Each bundle in the graph that was in the {@code ACTIVE} state prior
+	 * to Step 2 is started as described in the {@code Bundle.start} method,
+	 * causing all bundles required for the restart to be resolved. It is
+	 * possible that, as a result of the previous steps, packages that were
 	 * previously exported no longer are. Therefore, some bundles may be
 	 * unresolvable until another bundle offering a compatible package for
-	 * export has been installed in the Framework.
-	 * <li>A framework event of type
-	 * {@code FrameworkEvent.PACKAGES_REFRESHED} is fired.
+	 * export has been installed in the Framework.</li>
+	 * <li>A framework event of type {@code FrameworkEvent.PACKAGES_REFRESHED}
+	 * is fired.</li>
 	 * </ol>
 	 * 
 	 * <p>
@@ -277,7 +275,7 @@ public interface PackageAdmin {
 	 * Returns the special type of the specified bundle. The bundle type values
 	 * are:
 	 * <ul>
-	 * <li>{@link #BUNDLE_TYPE_FRAGMENT}
+	 * <li>{@link #BUNDLE_TYPE_FRAGMENT}</li>
 	 * </ul>
 	 * 
 	 * A bundle may be more than one type at a time. A type code is used to
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/RequiredBundle.java b/osgi/framework/src/org/osgi/service/packageadmin/RequiredBundle.java
index 34c0b08..2434dce 100644
--- a/osgi/framework/src/org/osgi/service/packageadmin/RequiredBundle.java
+++ b/osgi/framework/src/org/osgi/service/packageadmin/RequiredBundle.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2004, 2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2004, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -46,7 +46,7 @@ import org.osgi.framework.Version;
  * @noimplement
  * @deprecated The PackageAdmin service has been replaced by the
  *             <code>org.osgi.framework.wiring</code> package.
- * @version $Id: 1606b0422cae6769b7eedc2d565df61841da1e22 $
+ * @author $Id: 08ab9c1a6f4a9af2060293d2c2972e4e07e2a238 $
  */
 public interface RequiredBundle {
 	/**
diff --git a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java b/osgi/framework/src/org/osgi/service/packageadmin/package-info.java
old mode 100644
new mode 100755
index 9d9804d..05b7910
--- a/osgi/framework/src/org/osgi/service/packageadmin/package-info.java
+++ b/osgi/framework/src/org/osgi/service/packageadmin/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,7 +31,8 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.packageadmin; version="[1.2,2.0)"}
  * 
- * @version $Id: b1c7db22b9c84e48d3c6c711f0ed976e825053c9 $
+ * @version 1.2
+ * @author $Id: c3483bdb00857760d31ff1176108103ece3191a3 $
  */
 
 package org.osgi.service.packageadmin;
diff --git a/osgi/framework/src/org/osgi/service/permissionadmin/PermissionAdmin.java b/osgi/framework/src/org/osgi/service/permissionadmin/PermissionAdmin.java
index e27f74f..7ab4bce 100644
--- a/osgi/framework/src/org/osgi/service/permissionadmin/PermissionAdmin.java
+++ b/osgi/framework/src/org/osgi/service/permissionadmin/PermissionAdmin.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.service.permissionadmin;
 
+import org.osgi.annotation.versioning.ProviderType;
+
 /**
  * The Permission Admin service allows management agents to manage the
  * permissions of bundles. There is at most one Permission Admin service present
@@ -55,9 +57,9 @@ package org.osgi.service.permissionadmin;
  * {@code getDefaultPermissions}.
  * 
  * @ThreadSafe
- * @noimplement
- * @version $Id: 846b7ff8d3e9f03d2a6ee75d2dcc9ab52d959754 $
+ * @author $Id: 886ffd919a52cd4a084e6169afb62416af1532b9 $
  */
+ at ProviderType
 public interface PermissionAdmin {
 	/**
 	 * Gets the permissions assigned to the bundle with the specified location.
diff --git a/osgi/framework/src/org/osgi/service/permissionadmin/PermissionInfo.java b/osgi/framework/src/org/osgi/service/permissionadmin/PermissionInfo.java
index 371dede..50a431f 100644
--- a/osgi/framework/src/org/osgi/service/permissionadmin/PermissionInfo.java
+++ b/osgi/framework/src/org/osgi/service/permissionadmin/PermissionInfo.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2001, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2001, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ package org.osgi.service.permissionadmin;
  * Permission class has been exported by a bundle.
  * 
  * @Immutable
- * @version $Id: d904a01a7ff64b702e8d92071d063ff6927bef14 $
+ * @author $Id: b6cc8440e07c61e1d4d53a58ac3610c99e5c34f7 $
  */
 public class PermissionInfo {
 	private final String	type;
@@ -217,9 +217,9 @@ public class PermissionInfo {
 	 * </pre>
 	 * 
 	 * where <i>name</i> and <i>actions</i> are strings that must be encoded for
-	 * proper parsing. Specifically, the {@code "},{@code \}, carriage
-	 * return, and line feed characters must be escaped using {@code \"},
-	 * {@code \\},{@code \r}, and {@code \n}, respectively.
+	 * proper parsing. Specifically, the {@code "},{@code \}, carriage return,
+	 * and line feed characters must be escaped using {@code \"}, {@code \\},
+	 * {@code \r}, and {@code \n}, respectively.
 	 * 
 	 * <p>
 	 * The encoded string contains no leading or trailing whitespace characters.
@@ -253,6 +253,7 @@ public class PermissionInfo {
 	 * 
 	 * @return The string representation of this {@code PermissionInfo}.
 	 */
+	@Override
 	public String toString() {
 		return getEncoded();
 	}
@@ -304,6 +305,7 @@ public class PermissionInfo {
 	 *         the same type, name and actions as this {@code PermissionInfo}
 	 *         object; {@code false} otherwise.
 	 */
+	@Override
 	public boolean equals(Object obj) {
 		if (obj == this) {
 			return true;
@@ -331,6 +333,7 @@ public class PermissionInfo {
 	 * 
 	 * @return A hash code value for this object.
 	 */
+	@Override
 	public int hashCode() {
 		int h = 31 * 17 + type.hashCode();
 		if (name != null) {
diff --git a/osgi/framework/src/org/osgi/service/permissionadmin/package-info.java b/osgi/framework/src/org/osgi/service/permissionadmin/package-info.java
old mode 100644
new mode 100755
index 7a06853..0a65b09
--- a/osgi/framework/src/org/osgi/service/permissionadmin/package-info.java
+++ b/osgi/framework/src/org/osgi/service/permissionadmin/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.permissionadmin; version="[1.2,2.0)"}
  * 
- * @version $Id: 735e3020913649e9606caf0ad3b6bfee690f2b8a $
+ * @author $Id: e274a3c99221cdc6f56bf2c893dc35999d42c882 $
  */
 
+ at Version("1.2")
 package org.osgi.service.permissionadmin;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/service/startlevel/StartLevel.java b/osgi/framework/src/org/osgi/service/startlevel/StartLevel.java
index b4b8816..2e299ed 100644
--- a/osgi/framework/src/org/osgi/service/startlevel/StartLevel.java
+++ b/osgi/framework/src/org/osgi/service/startlevel/StartLevel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2011). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -68,7 +68,7 @@ import org.osgi.framework.Bundle;
  * 
  * @ThreadSafe
  * @noimplement
- * @version $Id: ec0295bdf246c0258261374b3ac0e4aef11f7315 $
+ * @author $Id: 42f3c6bbf682a69ea3914c737d5b0001694383db $
  * @deprecated This service has been replaced by the
  *             <code>org.osgi.framework.startlevel</code> package.
  */
@@ -100,14 +100,13 @@ public interface StartLevel {
 	 * At each intermediate start level value on the way to and including the
 	 * target start level, the Framework must:
 	 * <ol>
-	 * <li>Change the active start level to the intermediate start level value.
-	 * <li>Start bundles at the intermediate start level whose autostart
-	 * setting indicate they must be started. They are started as described in
-	 * the {@link Bundle#start(int)} method using the
-	 * {@link Bundle#START_TRANSIENT} option. The
-	 * {@link Bundle#START_ACTIVATION_POLICY} option must also be used if
-	 * {@link #isBundleActivationPolicyUsed(Bundle)} returns {@code true}
-	 * for the bundle.
+	 * <li>Change the active start level to the intermediate start level value.</li>
+	 * <li>Start bundles at the intermediate start level whose autostart setting
+	 * indicate they must be started. They are started as described in the
+	 * {@link Bundle#start(int)} method using the {@link Bundle#START_TRANSIENT}
+	 * option. The {@link Bundle#START_ACTIVATION_POLICY} option must also be
+	 * used if {@link #isBundleActivationPolicyUsed(Bundle)} returns
+	 * {@code true} for the bundle.</li>
 	 * </ol>
 	 * When this process completes after the specified start level is reached,
 	 * the Framework will fire a Framework event of type
@@ -124,8 +123,8 @@ public interface StartLevel {
 	 * <ol>
 	 * <li>Stop bundles at the intermediate start level as described in the
 	 * {@link Bundle#stop(int)} method using the {@link Bundle#STOP_TRANSIENT}
-	 * option.
-	 * <li>Change the active start level to the intermediate start level value.
+	 * option.</li>
+	 * <li>Change the active start level to the intermediate start level value.</li>
 	 * </ol>
 	 * When this process completes after the specified start level is reached,
 	 * the Framework will fire a Framework event of type
diff --git a/osgi/framework/src/org/osgi/service/startlevel/package-info.java b/osgi/framework/src/org/osgi/service/startlevel/package-info.java
old mode 100644
new mode 100755
index 7e4a908..fc579fb
--- a/osgi/framework/src/org/osgi/service/startlevel/package-info.java
+++ b/osgi/framework/src/org/osgi/service/startlevel/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,7 +31,8 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.startlevel; version="[1.1,2.0)"}
  * 
- * @version $Id: 6e311e6e404688d5f5f88cde403ca2066de7c20b $
+ * @version 1.1
+ * @author $Id: a3ee72a318079d26660ea3c7ac2dcbb789dac969 $
  */
 
 package org.osgi.service.startlevel;
diff --git a/osgi/framework/src/org/osgi/service/url/AbstractURLStreamHandlerService.java b/osgi/framework/src/org/osgi/service/url/AbstractURLStreamHandlerService.java
index 679583c..e641366 100644
--- a/osgi/framework/src/org/osgi/service/url/AbstractURLStreamHandlerService.java
+++ b/osgi/framework/src/org/osgi/service/url/AbstractURLStreamHandlerService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,7 +16,11 @@
 
 package org.osgi.service.url;
 
-import java.net.*;
+import java.net.InetAddress;
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * Abstract implementation of the {@code URLStreamHandlerService} interface. All
@@ -27,12 +31,14 @@ import java.net.*;
  * {@code setURL} and {@code parseURL(URLStreamHandlerSetter,...)} methods.
  * 
  * @ThreadSafe
- * @version $Id: b86572a4f13b7bb4a343ac4d6b6fb3487e01bd31 $
+ * @author $Id: 79cfc45d97b037436d50bda26111109bd5d42a37 $
  */
+ at ConsumerType
 public abstract class AbstractURLStreamHandlerService extends URLStreamHandler implements URLStreamHandlerService {
 	/**
 	 * @see "java.net.URLStreamHandler.openConnection"
 	 */
+	@Override
 	public abstract URLConnection openConnection(URL u) throws java.io.IOException;
 
 	/**
@@ -50,7 +56,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 *        invoked for the specified URL.
 	 * @see "java.net.URLStreamHandler.parseURL"
 	 */
-	public void parseURL(URLStreamHandlerSetter realHandler, URL u, String spec, int start, int limit) {
+	public void parseURL(@SuppressWarnings("hiding") URLStreamHandlerSetter realHandler, URL u, String spec, int start, int limit) {
 		this.realHandler = realHandler;
 		parseURL(u, spec, start, limit);
 	}
@@ -60,6 +66,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.toExternalForm"
 	 */
+	@Override
 	public String toExternalForm(URL u) {
 		return super.toExternalForm(u);
 	}
@@ -69,6 +76,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.equals(URL,URL)"
 	 */
+	@Override
 	public boolean equals(URL u1, URL u2) {
 		return super.equals(u1, u2);
 	}
@@ -78,6 +86,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.getDefaultPort"
 	 */
+	@Override
 	public int getDefaultPort() {
 		return super.getDefaultPort();
 	}
@@ -87,6 +96,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.getHostAddress"
 	 */
+	@Override
 	public InetAddress getHostAddress(URL u) {
 		return super.getHostAddress(u);
 	}
@@ -96,6 +106,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.hashCode(URL)"
 	 */
+	@Override
 	public int hashCode(URL u) {
 		return super.hashCode(u);
 	}
@@ -105,6 +116,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.hostsEqual"
 	 */
+	@Override
 	public boolean hostsEqual(URL u1, URL u2) {
 		return super.hostsEqual(u1, u2);
 	}
@@ -114,6 +126,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.sameFile"
 	 */
+	@Override
 	public boolean sameFile(URL u1, URL u2) {
 		return super.sameFile(u1, u2);
 	}
@@ -126,6 +139,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * @deprecated This method is only for compatibility with handlers written
 	 *             for JDK 1.1.
 	 */
+	@SuppressWarnings("javadoc")
 	protected void setURL(URL u, String proto, String host, int port, String file, String ref) {
 		realHandler.setURL(u, proto, host, port, file, ref);
 	}
@@ -137,6 +151,7 @@ public abstract class AbstractURLStreamHandlerService extends URLStreamHandler i
 	 * 
 	 * @see "java.net.URLStreamHandler.setURL(URL,String,String,int,String,String,String,String)"
 	 */
+	@Override
 	protected void setURL(URL u, String proto, String host, int port, String auth, String user, String path, String query, String ref) {
 		realHandler.setURL(u, proto, host, port, auth, user, path, query, ref);
 	}
diff --git a/osgi/framework/src/org/osgi/service/url/URLConstants.java b/osgi/framework/src/org/osgi/service/url/URLConstants.java
index 493f352..522c1b8 100644
--- a/osgi/framework/src/org/osgi/service/url/URLConstants.java
+++ b/osgi/framework/src/org/osgi/service/url/URLConstants.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@
 
 package org.osgi.service.url;
 
+import org.osgi.annotation.versioning.ProviderType;
+
 /**
  * Defines standard names for property keys associated with
  * {@link URLStreamHandlerService} and {@code java.net.ContentHandler} services.
@@ -24,9 +26,9 @@ package org.osgi.service.url;
  * The values associated with these keys are of type {@code java.lang.String[]}
  * or {@code java.lang.String}, unless otherwise indicated.
  * 
- * @noimplement
- * @version $Id: ac2b9670972d6e41d989c51067219ff7be459831 $
+ * @author $Id: 490baaad326523bcb3915ef04572d3c28560db0b $
  */
+ at ProviderType
 public interface URLConstants {
 	/**
 	 * Service property naming the protocols serviced by a
diff --git a/osgi/framework/src/org/osgi/service/url/URLStreamHandlerService.java b/osgi/framework/src/org/osgi/service/url/URLStreamHandlerService.java
index e6dd098..5ba4f7b 100644
--- a/osgi/framework/src/org/osgi/service/url/URLStreamHandlerService.java
+++ b/osgi/framework/src/org/osgi/service/url/URLStreamHandlerService.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,7 +16,10 @@
 
 package org.osgi.service.url;
 
-import java.net.*;
+import java.net.InetAddress;
+import java.net.URL;
+import java.net.URLConnection;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * Service interface with public versions of the protected
@@ -33,12 +36,14 @@ import java.net.*;
  * @see AbstractURLStreamHandlerService
  * 
  * @ThreadSafe
- * @version $Id: 4a453f61b9acdc6449df389b2a0538d0ccb33ed2 $
+ * @author $Id: 810d8718f5ad689981fbb2c22886ad2695f17297 $
  */
+ at ConsumerType
 public interface URLStreamHandlerService {
 	/**
 	 * @see "java.net.URLStreamHandler.openConnection"
 	 */
+	@SuppressWarnings("javadoc")
 	public URLConnection openConnection(URL u) throws java.io.IOException;
 
 	/**
@@ -50,40 +55,48 @@ public interface URLStreamHandlerService {
 	 *        this URL.
 	 * @see "java.net.URLStreamHandler.parseURL"
 	 */
+	@SuppressWarnings("javadoc")
 	public void parseURL(URLStreamHandlerSetter realHandler, URL u, String spec, int start, int limit);
 
 	/**
 	 * @see "java.net.URLStreamHandler.toExternalForm"
 	 */
+	@SuppressWarnings("javadoc")
 	public String toExternalForm(URL u);
 
 	/**
 	 * @see "java.net.URLStreamHandler.equals(URL, URL)"
 	 */
+	@SuppressWarnings("javadoc")
 	public boolean equals(URL u1, URL u2);
 
 	/**
 	 * @see "java.net.URLStreamHandler.getDefaultPort"
 	 */
+	@SuppressWarnings("javadoc")
 	public int getDefaultPort();
 
 	/**
 	 * @see "java.net.URLStreamHandler.getHostAddress"
 	 */
+	@SuppressWarnings("javadoc")
 	public InetAddress getHostAddress(URL u);
 
 	/**
 	 * @see "java.net.URLStreamHandler.hashCode(URL)"
 	 */
+	@SuppressWarnings("javadoc")
 	public int hashCode(URL u);
 
 	/**
 	 * @see "java.net.URLStreamHandler.hostsEqual"
 	 */
+	@SuppressWarnings("javadoc")
 	public boolean hostsEqual(URL u1, URL u2);
 
 	/**
 	 * @see "java.net.URLStreamHandler.sameFile"
 	 */
+	@SuppressWarnings("javadoc")
 	public boolean sameFile(URL u1, URL u2);
 }
diff --git a/osgi/framework/src/org/osgi/service/url/URLStreamHandlerSetter.java b/osgi/framework/src/org/osgi/service/url/URLStreamHandlerSetter.java
index 90feae6..d7e222a 100644
--- a/osgi/framework/src/org/osgi/service/url/URLStreamHandlerSetter.java
+++ b/osgi/framework/src/org/osgi/service/url/URLStreamHandlerSetter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2002, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2002, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 package org.osgi.service.url;
 
 import java.net.URL;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * Interface used by {@code URLStreamHandlerService} objects to call the
@@ -31,8 +32,9 @@ import java.net.URL;
  * {@code java.net.URL} for the protocol.
  * 
  * @ThreadSafe
- * @version $Id: 90f25e3961fea2150cfd31117a2237304f1518f9 $
+ * @author $Id: 96648b48a7ce8fb4baf50c7b118a0339f4efcf35 $
  */
+ at ConsumerType
 public interface URLStreamHandlerSetter {
 	/**
 	 * @see "java.net.URLStreamHandler.setURL(URL,String,String,int,String,String)"
@@ -40,10 +42,12 @@ public interface URLStreamHandlerSetter {
 	 * @deprecated This method is only for compatibility with handlers written
 	 *             for JDK 1.1.
 	 */
+	@SuppressWarnings("javadoc")
 	public void setURL(URL u, String protocol, String host, int port, String file, String ref);
 
 	/**
 	 * @see "java.net.URLStreamHandler.setURL(URL,String,String,int,String,String,String,String)"
 	 */
+	@SuppressWarnings("javadoc")
 	public void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref);
 }
diff --git a/osgi/framework/src/org/osgi/service/url/package-info.java b/osgi/framework/src/org/osgi/service/url/package-info.java
old mode 100644
new mode 100755
index 765d5a9..091719d
--- a/osgi/framework/src/org/osgi/service/url/package-info.java
+++ b/osgi/framework/src/org/osgi/service/url/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.service.url; version="[1.0,2.0)"}
  * 
- * @version $Id: 4dd6b685a79b76ce57708f69487533abe4828943 $
+ * @author $Id: 7053546e11bbf6bbdc1f4a345102b456dd278f7b $
  */
 
+ at Version("1.0")
 package org.osgi.service.url;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/framework/src/org/osgi/util/tracker/AbstractTracked.java b/osgi/framework/src/org/osgi/util/tracker/AbstractTracked.java
index f3ddddc..9aa0bd4 100644
--- a/osgi/framework/src/org/osgi/util/tracker/AbstractTracked.java
+++ b/osgi/framework/src/org/osgi/util/tracker/AbstractTracked.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2007, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2007, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -34,7 +34,7 @@ import java.util.Map;
  * @param <T> The value mapped to the tracked item.
  * @param <R> The reason the tracked item is being tracked or untracked.
  * @ThreadSafe
- * @version $Id: 16340086b98d308c2d12f13bcd87fc6467a5a367 $
+ * @author $Id: 5988d793936c25139421a95bad2d3cd96e2ab355 $
  * @since 1.4
  */
 abstract class AbstractTracked<S, T, R> {
diff --git a/osgi/framework/src/org/osgi/util/tracker/BundleTracker.java b/osgi/framework/src/org/osgi/util/tracker/BundleTracker.java
index 7e1bb53..18eaa99 100644
--- a/osgi/framework/src/org/osgi/util/tracker/BundleTracker.java
+++ b/osgi/framework/src/org/osgi/util/tracker/BundleTracker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2007, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2007, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -44,7 +44,7 @@ import org.osgi.framework.SynchronousBundleListener;
  * 
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @version $Id: f21db4fe54284d4810bd9b5fa2528957804e3a21 $
+ * @author $Id: 9a1b57568a8be735292700584f4eb936fc80f2ff $
  * @since 1.4
  */
 public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
@@ -218,6 +218,7 @@ public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
 	 * @see BundleTrackerCustomizer#addingBundle(Bundle, BundleEvent)
 	 */
 	public T addingBundle(Bundle bundle, BundleEvent event) {
+		@SuppressWarnings("unchecked")
 		T result = (T) bundle;
 		return result;
 	}
@@ -463,6 +464,7 @@ public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
 		 * @return Customized object for the tracked item or {@code null} if the
 		 *         item is not to be tracked.
 		 */
+		@Override
 		T customizerAdding(final Bundle item, final BundleEvent related) {
 			return customizer.addingBundle(item, related);
 		}
@@ -475,6 +477,7 @@ public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
 		 * @param related Action related object.
 		 * @param object Customized object for the tracked item.
 		 */
+		@Override
 		void customizerModified(final Bundle item, final BundleEvent related, final T object) {
 			customizer.modifiedBundle(item, related, object);
 		}
@@ -487,6 +490,7 @@ public class BundleTracker<T> implements BundleTrackerCustomizer<T> {
 		 * @param related Action related object.
 		 * @param object Customized object for the tracked item.
 		 */
+		@Override
 		void customizerRemoved(final Bundle item, final BundleEvent related, final T object) {
 			customizer.removedBundle(item, related, object);
 		}
diff --git a/osgi/framework/src/org/osgi/util/tracker/BundleTrackerCustomizer.java b/osgi/framework/src/org/osgi/util/tracker/BundleTrackerCustomizer.java
index b0bb297..8a62f2c 100644
--- a/osgi/framework/src/org/osgi/util/tracker/BundleTrackerCustomizer.java
+++ b/osgi/framework/src/org/osgi/util/tracker/BundleTrackerCustomizer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2007, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2007, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.util.tracker;
 
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleEvent;
 
@@ -42,9 +43,10 @@ import org.osgi.framework.BundleEvent;
  * 
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @version $Id: 727e757d2fa2940c88c9b74c8d299de6b3a7d0d0 $
+ * @author $Id: 031b2979522768150d23ee70dfe62528432c19f7 $
  * @since 1.4
  */
+ at ConsumerType
 public interface BundleTrackerCustomizer<T> {
 	/**
 	 * A bundle is being added to the {@code BundleTracker}.
diff --git a/osgi/framework/src/org/osgi/util/tracker/ServiceTracker.java b/osgi/framework/src/org/osgi/util/tracker/ServiceTracker.java
index 0c8022d..3ba97ab 100644
--- a/osgi/framework/src/org/osgi/util/tracker/ServiceTracker.java
+++ b/osgi/framework/src/org/osgi/util/tracker/ServiceTracker.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2014). All Rights Reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -52,7 +52,7 @@ import org.osgi.framework.ServiceReference;
  * @param <S> The type of the service being tracked.
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @version $Id: 21926ad8717a91633face6bbf570febfcd23b1c7 $
+ * @author $Id: a0af979aa9c88a89f220c1b2d8d7c060ced41006 $
  */
 public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 	/* set this to true to compile in debug messages */
@@ -298,6 +298,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 					} else {
 						if (trackReference != null) {
 							if (trackReference.getBundle() != null) {
+								@SuppressWarnings("unchecked")
 								ServiceReference<S>[] single = new ServiceReference[] {trackReference};
 								references = single;
 							}
@@ -331,6 +332,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 	 *         invalid syntax.
 	 */
 	private ServiceReference<S>[] getInitialReferences(boolean trackAllServices, String className, String filterString) throws InvalidSyntaxException {
+		@SuppressWarnings("unchecked")
 		ServiceReference<S>[] result = (ServiceReference<S>[]) ((trackAllServices) ? context.getAllServiceReferences(className, filterString) : context.getServiceReferences(className, filterString));
 		return result;
 	}
@@ -408,6 +410,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 	 * @see ServiceTrackerCustomizer#addingService(ServiceReference)
 	 */
 	public T addingService(ServiceReference<S> reference) {
+		@SuppressWarnings("unchecked")
 		T result = (T) context.getService(reference);
 		return result;
 	}
@@ -527,6 +530,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 			if (length == 0) {
 				return null;
 			}
+			@SuppressWarnings("unchecked")
 			ServiceReference<S>[] result = new ServiceReference[length];
 			return t.copyKeys(result);
 		}
@@ -540,7 +544,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 	 * If multiple services are being tracked, the service with the highest
 	 * ranking (as specified in its {@code service.ranking} property) is
 	 * returned. If there is a tie in ranking, the service with the lowest
-	 * service ID (as specified in its {@code service.id} property); that is,
+	 * service id (as specified in its {@code service.id} property); that is,
 	 * the service that was registered first is returned. This is the same
 	 * algorithm used by {@code BundleContext.getServiceReference}.
 	 * 
@@ -843,7 +847,9 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 				return array;
 			}
 			if (length > array.length) {
-				array = (T[]) Array.newInstance(array.getClass().getComponentType(), length);
+				@SuppressWarnings("unchecked")
+				T[] newInstance = (T[]) Array.newInstance(array.getClass().getComponentType(), length);
+				array = newInstance;
 			}
 			for (int i = 0; i < length; i++) {
 				array[i] = getService(references[i]);
@@ -883,6 +889,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 			if (closed) {
 				return;
 			}
+			@SuppressWarnings("unchecked")
 			final ServiceReference<S> reference = (ServiceReference<S>) event.getServiceReference();
 			if (DEBUG) {
 				System.out.println("ServiceTracker.Tracked.serviceChanged[" + event.getType() + "]: " + reference);
@@ -914,6 +921,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 		 * 
 		 * @GuardedBy this
 		 */
+		@Override
 		final void modified() {
 			super.modified(); /* increment the modification count */
 			ServiceTracker.this.modified();
@@ -928,6 +936,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 		 * @return Customized object for the tracked item or {@code null} if the
 		 *         item is not to be tracked.
 		 */
+		@Override
 		final T customizerAdding(final ServiceReference<S> item, final ServiceEvent related) {
 			return customizer.addingService(item);
 		}
@@ -940,6 +949,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 		 * @param related Action related object.
 		 * @param object Customized object for the tracked item.
 		 */
+		@Override
 		final void customizerModified(final ServiceReference<S> item, final ServiceEvent related, final T object) {
 			customizer.modifiedService(item, object);
 		}
@@ -952,6 +962,7 @@ public class ServiceTracker<S, T> implements ServiceTrackerCustomizer<S, T> {
 		 * @param related Action related object.
 		 * @param object Customized object for the tracked item.
 		 */
+		@Override
 		final void customizerRemoved(final ServiceReference<S> item, final ServiceEvent related, final T object) {
 			customizer.removedService(item, object);
 		}
diff --git a/osgi/framework/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java b/osgi/framework/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java
index 72bec7a..6aa95cb 100644
--- a/osgi/framework/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java
+++ b/osgi/framework/src/org/osgi/util/tracker/ServiceTrackerCustomizer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2000, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2000, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -16,6 +16,7 @@
 
 package org.osgi.util.tracker;
 
+import org.osgi.annotation.versioning.ConsumerType;
 import org.osgi.framework.ServiceReference;
 
 /**
@@ -45,8 +46,9 @@ import org.osgi.framework.ServiceReference;
  * @param <S> The type of the service being tracked.
  * @param <T> The type of the tracked object.
  * @ThreadSafe
- * @version $Id: c14b8d47026b6bd4ba1f2db7bf7e755d00fc6f6a $
+ * @author $Id: 0c3333455f7d80a7793c77ac9671baa4a02a89b9 $
  */
+ at ConsumerType
 public interface ServiceTrackerCustomizer<S, T> {
 	/**
 	 * A service is being added to the {@code ServiceTracker}.
diff --git a/osgi/framework/src/org/osgi/util/tracker/package-info.java b/osgi/framework/src/org/osgi/util/tracker/package-info.java
old mode 100644
new mode 100755
index 9b6077f..aaff66e
--- a/osgi/framework/src/org/osgi/util/tracker/package-info.java
+++ b/osgi/framework/src/org/osgi/util/tracker/package-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) OSGi Alliance (2010, 2012). All Rights Reserved.
+ * Copyright (c) OSGi Alliance (2010, 2013). All Rights Reserved.
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,8 +26,11 @@
  * <p>
  * {@code  Import-Package: org.osgi.util.tracker; version="[1.5,2.0)"}
  * 
- * @version $Id: e24ccaae9b18ecce26ce0add3a47f1fe6dac84bb $
+ * @author $Id: 2bb188f92cec36370c0c386d03397f1830724fb8 $
  */
 
+ at Version("1.5.1")
 package org.osgi.util.tracker;
 
+import org.osgi.annotation.versioning.Version;
+
diff --git a/osgi/headless.xargs b/osgi/headless.xargs
deleted file mode 100644
index 6b3356d..0000000
--- a/osgi/headless.xargs
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Generated from template.xargs
-# Knopflerfish release 5.1.0
-#
-
-# load common properties
--xargs props.xargs
-
-# Semicolon seprated list of base URLs for searching (completing)
-# bundle URLs in "-install URL" command line options and in the console.
--Forg.knopflerfish.gosg.jars=file:jars/
-
-# Comma seprated list of OSGi Repository xml URLs for instantiating 
-# RepositoryServices
--Forg.knopflerfish.repository.xml.urls=file:jars/index.xml,http://www.knopflerfish.org/releases/current/osgi/jars/index.xml
-
-## Basic KF bundles
--initlevel 1
--install log/log_all-5.0.0.jar
--install cm/cm_all-5.0.1.jar
--install console/console_all-4.0.1.jar
--install component/component_all-5.0.3.jar
--install event/event_all-4.0.1.jar
--install prefs/prefs_all-4.0.2.jar
-#-istart trayicon_fw/trayicon_fw-4.0.0.jar
-
-## Some library bundles
--initlevel 2
--install util/util-4.1.0.jar
--install crimson/crimson-2.1.0.kf4-001.jar
--install jsdk/jsdk_api-2.5.0.kf3-2.jar
--install kxml/kxml-2.3.0.kf4-001.jar
-
-# The Bundle repo commands and desktop plugin
--install repository_xml/repository_xml_all-1.0.2.jar
--install repositorymanager/repositorymanager_all-1.2.0.jar
-#-install repository_desktop/repository_desktop_all-1.1.1.jar
-
-## More basic KF bundles
--initlevel 3
--install device/device_all-4.0.1.jar
--install useradmin/useradmin_all-4.1.1.jar
-
--initlevel 4
--install http/http_all-4.0.5.jar
-
-## console command bundles
--initlevel 5
--install frameworkcommands/frameworkcommands-4.0.1.jar
--install logcommands/logcommands-5.0.0.jar
--install cm_cmd/cm_cmd-5.0.1.jar
--install repositorycommands/repositorycommands-1.1.1.jar
--install scrcommands/scrcommands-4.0.1.jar
-
--install consoletty/consoletty-4.0.1.jar
-
--install consoletelnet/consoletelnet-4.0.1.jar
-
--initlevel 6
-#-install remotefw/remotefw_api-4.0.0.jar
-#-install desktop/desktop_all-5.0.1.jar
-
-
--initlevel 7
--install httproot/httproot-4.0.0.jar
-
-
-
--startlevel 7
-
-
-# Start of these bundles are delayed since this makes start
-# order dependencies much easier
-
--start log/log_all-5.0.0.jar
--start crimson/crimson-2.1.0.kf4-001.jar
--start cm/cm_all-5.0.1.jar
--start console/console_all-4.0.1.jar
--start component/component_all-5.0.3.jar
--start event/event_all-4.0.1.jar
--start prefs/prefs_all-4.0.2.jar
--start device/device_all-4.0.1.jar
--start useradmin/useradmin_all-4.1.1.jar
--start repository_xml/repository_xml_all-1.0.2.jar
--start repositorymanager/repositorymanager_all-1.2.0.jar
-#-start repository_desktop/repository_desktop_all-1.1.1.jar
--start consoletty/consoletty-4.0.1.jar
--start consoletelnet/consoletelnet-4.0.1.jar
--start frameworkcommands/frameworkcommands-4.0.1.jar
--start logcommands/logcommands-5.0.0.jar
--start cm_cmd/cm_cmd-5.0.1.jar
--start repositorycommands/repositorycommands-1.1.1.jar
--start scrcommands/scrcommands-4.0.1.jar
-#-start desktop/desktop_all-5.0.1.jar
--start http/http_all-4.0.5.jar
--start httproot/httproot-4.0.0.jar
-
-# Uncomment the following line to add Resolver support
-# -istart http://repo2.maven.org/maven2/org/apache/felix/org.apache.felix.resolver/1.0.0/org.apache.felix.resolver-1.0.0.jar
diff --git a/osgi/init-tests.xargs b/osgi/init-tests.xargs
deleted file mode 100644
index 01a8317..0000000
--- a/osgi/init-tests.xargs
+++ /dev/null
@@ -1,127 +0,0 @@
-#
-# Startup file for framework testing
-#
-
-# List of test IDs
-#-Forg.knopflerfish.junit_runner.tests=PerformanceRegistryTestSuite
--Forg.knopflerfish.junit_runner.tests=filter:(objectclass=junit.framework.TestSuite)
-#-Forg.knopflerfish.junit_runner.tests=FrameworkTestSuite ServiceTrackerTestSuite ConstantsTestSuite FilterTestSuite
-
-
--Forg.knopflerfish.bundle.perf.servicereg.nlisteners=100
--Forg.knopflerfish.bundle.perf.servicereg.nservices=1000
-
-# true means "quit framework when all tests are run"
--Forg.knopflerfish.junit_runner.quit=true
-
-# Initial startup verbosity, 0 is low verbosity
--Dorg.knopflerfish.framework.main.verbosity=0
-
-# Prefix for searching for bundle URLs from console or command line
--Dorg.knopflerfish.gosg.jars=file:jars/;file:test_jars/
-
-# Various debug flags
--Forg.knopflerfish.framework.debug.resolver=false
--Forg.knopflerfish.framework.debug.errors=false
--Forg.knopflerfish.framework.debug.warnings=false
--Forg.knopflerfish.framework.debug.classloader=false
--Forg.knopflerfish.framework.debug.startlevel=false
--Forg.knopflerfish.framework.debug.ldap=false
--Forg.knopflerfish.framework.debug.service_reference=false
--Forg.knopflerfish.framework.debug.bundle_resource=false
--Forg.knopflerfish.framework.debug.permissions=false
--Forg.knopflerfish.framework.debug.lazy_activation=false
--Forg.knopflerfish.framework.debug.framework=false
--Forg.knopflerfish.framework.debug.certificates=false
-
-# JKSValidator properties
--Forg.knopflerfish.framework.validator=JKSValidator
--Forg.knopflerfish.framework.validator.jks.ca_certs=${user.dir}/test_jars/test.castore
--Forg.knopflerfish.framework.validator.jks.ca_certs_password=catest
-
-# Avoid java verifier bug
--Forg.knopflerfish.framework.bundlestorage.file.jar_verifier_bug=true
-
-# Comma-separated list of packges exported by system classloader
--Forg.osgi.framework.system.packages.extra=
-
-# Web server properties
--Forg.knopflerfish.http.dnslookup=false
--Forg.osgi.service.http.port=0
-
--Forg.knopflerfish.startlevel.use=true
-
-# Log service properties
--Forg.knopflerfish.log.out=false
--Forg.knopflerfish.log.level=info
--Forg.knopflerfish.log.grabio=true
--Forg.knopflerfish.log.file=true
-
-# bootdelegation
-# The test case FRAME163a requires boot delegation for javax.naming
-# to actually check that it works.
--Forg.osgi.framework.bootdelegation=sun.*,javax.naming
-
-# Shall bc.getService(ServiceReference) return the service while it is
-# in the state unregistering or not.
--Forg.knopflerfish.servicereference.valid.during.unregistering=true
-
-# Directory to store preferences in.
--Forg.knopflerfish.prefs.dir=junit_grunt/prefs
-
-# Native code testing
--Forg.osgi.framework.os.name=linux
--Forg.osgi.framework.processor=arm_le
-
--init
-
--initlevel 1
--install log/log_all-5.0.0.jar
--install cm/cm_all-5.0.1.jar
--install console/console_all-4.0.1.jar
--install event/event_all-4.0.1.jar
-
--initlevel 2
--install util/util-4.1.0.jar
--install jsdk/jsdk_api-2.5.0.kf3-2.jar
--istart  junit/junit_all-3.8.1.kf4-001.jar
--istart  kxml/kxml-2.3.0.kf4-001.jar
-
--initlevel 4
--install http/http_all-4.0.5.jar
--install io/io_all-4.0.0.jar
--install prefs/prefs_all-4.0.2.jar
-
-# the test cases
--istart framework_test/framework_test-1.0.3.jar
--istart filter_test/filter_test-1.0.0.jar
--istart servicetracker_test/servicetracker_test-1.0.1.jar
--istart constants_test/constants_test-1.0.0.jar
--istart registryperformance_test/registryperformance_test-1.0.0.jar
-## eventadmin_tests are disabled because of timing problems on Linux!?
-#-istart eventadmin_test/eventadmin_test-1.0.0.jar
--istart http_test/http_test-1.0.0.jar
--istart io_test/io_test-1.0.0.jar
--istart preferences_test/preferences_test-1.0.0.jar
--istart startlevel_test/startlevel_test-1.0.0.jar
--istart condpermadmin_test/condpermadmin_test-1.0.0.jar
-
-# packages required by component_test
--start  log/log_all-5.0.0.jar
--start  cm/cm_all-5.0.1.jar
--istart component/component_all-5.0.3.jar
--istart component_test/component_test-1.6.0.jar
-
-
--startlevel 7
-
--start  http/http_all-4.0.5.jar
--start  event/event_all-4.0.1.jar
--start  io/io_all-4.0.0.jar
--start  prefs/prefs_all-4.0.2.jar
-
--launch
-
-# the test case runner bundle.
--istart junit_runner/junit_runner_all-4.0.0.jar
-
diff --git a/osgi/init-tests.xargs.in b/osgi/init-tests.xargs.in
index df7946f..dc1c1f0 100644
--- a/osgi/init-tests.xargs.in
+++ b/osgi/init-tests.xargs.in
@@ -6,6 +6,7 @@
 #-Forg.knopflerfish.junit_runner.tests=PerformanceRegistryTestSuite
 -Forg.knopflerfish.junit_runner.tests=filter:(objectclass=junit.framework.TestSuite)
 #-Forg.knopflerfish.junit_runner.tests=FrameworkTestSuite ServiceTrackerTestSuite ConstantsTestSuite FilterTestSuite
+#-Forg.knopflerfish.junit_runner.tests=HttpServletTestSuite
 
 
 -Forg.knopflerfish.bundle.perf.servicereg.nlisteners=100
@@ -46,7 +47,8 @@
 -Forg.osgi.framework.system.packages.extra=
 
 # Web server properties
--Forg.knopflerfish.http.dnslookup=false
+# Setting dnslookup to true for servlet tests
+-Forg.knopflerfish.http.dnslookup=true
 -Forg.osgi.service.http.port=0
 
 -Forg.knopflerfish.startlevel.use=true
@@ -73,6 +75,9 @@
 -Forg.osgi.framework.os.name=linux
 -Forg.osgi.framework.processor=arm_le
 
+# Set beginning start-level
+-Forg.osgi.framework.startlevel.beginning=7
+
 -init
 
 -initlevel 1
@@ -92,6 +97,10 @@
 -install @io_all-N.N.N.jar@
 -install @prefs_all-N.N.N.jar@
 
+# Needed by http_servlet_test
+-install @commons-logging_all-N.N.N.jar@
+-install @httpclient_connector-N.N.N.jar@
+
 # the test cases
 -istart @framework_test-N.N.N.jar@
 -istart @filter_test-N.N.N.jar@
@@ -101,6 +110,7 @@
 ## eventadmin_tests are disabled because of timing problems on Linux!?
 #-istart @eventadmin_test-N.N.N.jar@
 -istart @http_test-N.N.N.jar@
+-istart @http_servlet_test-N.N.N.jar@
 -istart @io_test-N.N.N.jar@
 -istart @preferences_test-N.N.N.jar@
 -istart @startlevel_test-N.N.N.jar@
@@ -112,9 +122,6 @@ $(DO_CPA_TEST)-istart @condpermadmin_test-N.N.N.jar@
 -istart @component_all-N.N.N.jar@
 -istart @component_test-N.N.N.jar@
 
-
--startlevel 7
-
 -start  @http_all-N.N.N.jar@
 -start  @event_all-N.N.N.jar@
 -start  @io_all-N.N.N.jar@
diff --git a/osgi/init.xargs b/osgi/init.xargs
deleted file mode 100644
index f433dba..0000000
--- a/osgi/init.xargs
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Generated from template.xargs
-# Knopflerfish release 5.1.0
-#
-
-# load common properties
--xargs props.xargs
-
-# Semicolon seprated list of base URLs for searching (completing)
-# bundle URLs in "-install URL" command line options and in the console.
--Forg.knopflerfish.gosg.jars=file:jars/
-
-# Comma seprated list of OSGi Repository xml URLs for instantiating 
-# RepositoryServices
--Forg.knopflerfish.repository.xml.urls=file:jars/index.xml,      http://www.knopflerfish.org/releases/current/osgi/jars/index.xml
-
-## Basic KF bundles
--initlevel 1
--install log/log_all-5.0.0.jar
--install cm/cm_all-5.0.1.jar
--install console/console_all-4.0.1.jar
--install component/component_all-5.0.3.jar
--install event/event_all-4.0.1.jar
--install prefs/prefs_all-4.0.2.jar
--istart trayicon_fw/trayicon_fw-4.0.0.jar
-
-## Some library bundles
--initlevel 2
--install util/util-4.1.0.jar
--install crimson/crimson-2.1.0.kf4-001.jar
--install jsdk/jsdk_api-2.5.0.kf3-2.jar
--install kxml/kxml-2.3.0.kf4-001.jar
-
-# The Bundle repo commands and desktop plugin
--install repository_xml/repository_xml_all-1.0.2.jar
--install repositorymanager/repositorymanager_all-1.2.0.jar
--install repository_desktop/repository_desktop_all-1.1.1.jar
-
-## More basic KF bundles
--initlevel 3
--install device/device_all-4.0.1.jar
--install useradmin/useradmin_all-4.1.1.jar
-
--initlevel 4
--install http/http_all-4.0.5.jar
-
-## console command bundles
--initlevel 5
--install frameworkcommands/frameworkcommands-4.0.1.jar
--install logcommands/logcommands-5.0.0.jar
--install cm_cmd/cm_cmd-5.0.1.jar
--install repositorycommands/repositorycommands-1.1.1.jar
--install scrcommands/scrcommands-4.0.1.jar
-
--install consoletty/consoletty-4.0.1.jar
-
--install consoletelnet/consoletelnet-4.0.1.jar
-
--initlevel 6
--install remotefw/remotefw_api-4.0.0.jar
--install desktop/desktop_all-5.0.1.jar
-
-
--initlevel 7
--install httproot/httproot-4.0.0.jar
-
-
-
--startlevel 7
-
-
-# Start of these bundles are delayed since this makes start
-# order dependencies much easier
-
--start log/log_all-5.0.0.jar
--start crimson/crimson-2.1.0.kf4-001.jar
--start cm/cm_all-5.0.1.jar
--start console/console_all-4.0.1.jar
--start component/component_all-5.0.3.jar
--start event/event_all-4.0.1.jar
--start prefs/prefs_all-4.0.2.jar
--start device/device_all-4.0.1.jar
--start useradmin/useradmin_all-4.1.1.jar
--start repository_xml/repository_xml_all-1.0.2.jar
--start repositorymanager/repositorymanager_all-1.2.0.jar
--start repository_desktop/repository_desktop_all-1.1.1.jar
--start consoletty/consoletty-4.0.1.jar
--start consoletelnet/consoletelnet-4.0.1.jar
--start frameworkcommands/frameworkcommands-4.0.1.jar
--start logcommands/logcommands-5.0.0.jar
--start cm_cmd/cm_cmd-5.0.1.jar
--start repositorycommands/repositorycommands-1.1.1.jar
--start scrcommands/scrcommands-4.0.1.jar
--start desktop/desktop_all-5.0.1.jar
--start http/http_all-4.0.5.jar
--start httproot/httproot-4.0.0.jar
-
-# Uncomment the following line to add Resolver support
-# -istart http://repo2.maven.org/maven2/org/apache/felix/org.apache.felix.resolver/1.0.0/org.apache.felix.resolver-1.0.0.jar
diff --git a/osgi/kf2 b/osgi/kf2
old mode 100644
new mode 100755
diff --git a/osgi/minimal.xargs b/osgi/minimal.xargs
deleted file mode 100644
index ef1faa1..0000000
--- a/osgi/minimal.xargs
+++ /dev/null
@@ -1,22 +0,0 @@
--Dorg.knopflerfish.framework.main.verbosity=0
--Dorg.knopflerfish.gosg.jars=file:jars/
--Forg.knopflerfish.framework.debug.resolver=false
--Forg.knopflerfish.framework.debug.errors=true
--Forg.knopflerfish.framework.debug.classloader=false
--Forg.osgi.framework.system.packages.extra=
-
--Forg.knopflerfish.startlevel.use=true
-
--init
-
--install log/log_api-5.0.0.jar
--install console/console_api-4.0.1.jar
--istart  cm/cm_api-5.0.1.jar
--istart  log/log-5.0.0.jar
--istart  console/console-4.0.1.jar
--istart  consoletty/consoletty-4.0.1.jar
--istart  frameworkcommands/frameworkcommands-4.0.1.jar
--istart  logcommands/logcommands-5.0.0.jar
--istart  useradmin/useradmin_api-4.1.1.jar
-
--launch
diff --git a/osgi/remote-init.xargs b/osgi/remote-init.xargs
deleted file mode 100644
index 4a4d794..0000000
--- a/osgi/remote-init.xargs
+++ /dev/null
@@ -1,99 +0,0 @@
-#
-# Generated from template.xargs
-# Knopflerfish release 5.1.0
-#
-
-# load common properties
--xargs props.xargs
-
-# Semicolon seprated list of base URLs for searching (completing)
-# bundle URLs in "-install URL" command line options and in the console.
--Forg.knopflerfish.gosg.jars=http://www.knopflerfish.org/releases/5.1.0/osgi/jars/
-
-# Comma seprated list of OSGi Repository xml URLs for instantiating 
-# RepositoryServices
--Forg.knopflerfish.repository.xml.urls=file:jars/index.xml,      http://www.knopflerfish.org/releases/current/osgi/jars/index.xml
-
-## Basic KF bundles
--initlevel 1
--install log/log_all-5.0.0.jar
--install cm/cm_all-5.0.1.jar
--install console/console_all-4.0.1.jar
--install component/component_all-5.0.3.jar
--install event/event_all-4.0.1.jar
--install prefs/prefs_all-4.0.2.jar
--istart trayicon_fw/trayicon_fw-4.0.0.jar
-
-## Some library bundles
--initlevel 2
--install util/util-4.1.0.jar
--install crimson/crimson-2.1.0.kf4-001.jar
--install jsdk/jsdk_api-2.5.0.kf3-2.jar
--install kxml/kxml-2.3.0.kf4-001.jar
-
-# The Bundle repo commands and desktop plugin
--install repository_xml/repository_xml_all-1.0.2.jar
--install repositorymanager/repositorymanager_all-1.2.0.jar
--install repository_desktop/repository_desktop_all-1.1.1.jar
-
-## More basic KF bundles
--initlevel 3
--install device/device_all-4.0.1.jar
--install useradmin/useradmin_all-4.1.1.jar
-
--initlevel 4
--install http/http_all-4.0.5.jar
-
-## console command bundles
--initlevel 5
--install frameworkcommands/frameworkcommands-4.0.1.jar
--install logcommands/logcommands-5.0.0.jar
--install cm_cmd/cm_cmd-5.0.1.jar
--install repositorycommands/repositorycommands-1.1.1.jar
--install scrcommands/scrcommands-4.0.1.jar
-
--install consoletty/consoletty-4.0.1.jar
-
--install consoletelnet/consoletelnet-4.0.1.jar
-
--initlevel 6
--install remotefw/remotefw_api-4.0.0.jar
--install desktop/desktop_all-5.0.1.jar
-
-
--initlevel 7
--install httproot/httproot-4.0.0.jar
-
-
-
--startlevel 7
-
-
-# Start of these bundles are delayed since this makes start
-# order dependencies much easier
-
--start log/log_all-5.0.0.jar
--start crimson/crimson-2.1.0.kf4-001.jar
--start cm/cm_all-5.0.1.jar
--start console/console_all-4.0.1.jar
--start component/component_all-5.0.3.jar
--start event/event_all-4.0.1.jar
--start prefs/prefs_all-4.0.2.jar
--start device/device_all-4.0.1.jar
--start useradmin/useradmin_all-4.1.1.jar
--start repository_xml/repository_xml_all-1.0.2.jar
--start repositorymanager/repositorymanager_all-1.2.0.jar
--start repository_desktop/repository_desktop_all-1.1.1.jar
--start consoletty/consoletty-4.0.1.jar
--start consoletelnet/consoletelnet-4.0.1.jar
--start frameworkcommands/frameworkcommands-4.0.1.jar
--start logcommands/logcommands-5.0.0.jar
--start cm_cmd/cm_cmd-5.0.1.jar
--start repositorycommands/repositorycommands-1.1.1.jar
--start scrcommands/scrcommands-4.0.1.jar
--start desktop/desktop_all-5.0.1.jar
--start http/http_all-4.0.5.jar
--start httproot/httproot-4.0.0.jar
-
-# Uncomment the following line to add Resolver support
-# -istart http://repo2.maven.org/maven2/org/apache/felix/org.apache.felix.resolver/1.0.0/org.apache.felix.resolver-1.0.0.jar
diff --git a/osgi/template.xargs.in b/osgi/template.xargs.in
index 0dcab67..710c453 100644
--- a/osgi/template.xargs.in
+++ b/osgi/template.xargs.in
@@ -14,6 +14,9 @@
 # RepositoryServices
 -Forg.knopflerfish.repository.xml.urls=$(REPOSITORY_XML_URLS)
 
+# Set beginning start-level
+-Forg.osgi.framework.startlevel.beginning=7
+
 ## Basic KF bundles
 -initlevel 1
 -install @log_all-N.N.N.jar@
@@ -66,9 +69,6 @@ $(AWT)-install @desktop_all-N.N.N.jar@
 
 $(OS_ARGS)
 
--startlevel 7
-
-
 # Start of these bundles are delayed since this makes start
 # order dependencies much easier
 
diff --git a/osgi/test-restart1.xargs b/osgi/test-restart1.xargs
deleted file mode 100644
index 2116ed1..0000000
--- a/osgi/test-restart1.xargs
+++ /dev/null
@@ -1,34 +0,0 @@
-#
-# Startup file for framework restart testing
-#
-# NOTE: The base URLs for bundles assumes that the current working
-#       directory is the osgi-direcotry when this xargs-file is used.
-#
-
-# List of test IDs
--Forg.knopflerfish.junit_runner.tests=RestartSetupTestSuite
-
-# true means "quit framework when all tests are run"
--Forg.knopflerfish.junit_runner.quit=true
-
-# true means wait for complete framework start until run
--Forg.knopflerfish.junit_runner.wait=true
-
--Dorg.knopflerfish.gosg.jars=file:jars/;file:test_jars/
-
--init
-
--initlevel 1
--istart junit/junit_all-3.8.1.kf4-001.jar
-
-# the test cases
--initlevel 5
--istart restart_test/restart_test-1.0.0.jar
-
-# the test case runner bundle.
--initlevel 20
--istart junit_runner/junit_runner_all-4.0.0.jar
-
--startlevel 20
-
--launch
diff --git a/osgi/test-restart2.xargs b/osgi/test-restart2.xargs
deleted file mode 100644
index 9d8d287..0000000
--- a/osgi/test-restart2.xargs
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Restart file for framework restart testing
-#
-# NOTE: The base URLs for bundles assumes that the current working
-#       directory is the osgi-direcotry when this xargs-file is used.
-#
-
-# List of test IDs
--Forg.knopflerfish.junit_runner.tests=RestartTestSuite
-
-# true means "quit framework when all tests are run"
--Forg.knopflerfish.junit_runner.quit=true
-
-# true means wait for complete framework start until run
--Forg.knopflerfish.junit_runner.wait=false
-
--Dorg.knopflerfish.gosg.jars=file:jars/;file:test_jars/
-
--launch
diff --git a/release_notes.html b/release_notes.html
deleted file mode 100644
index aaaec51..0000000
--- a/release_notes.html
+++ /dev/null
@@ -1,380 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-
-<!-- This is a generated file. Do not edit. Built by jan on Fri June 13 2014, 08:33:03 -->
-
-<html>
-
-  <head>
-    <meta http-equiv = "Content-Type"
-	  content    = "text/html; charset=ISO-8859-1"/>
-    
-    <meta http-equiv = "CACHE-CONTROL"
-	  content    = "NO-CACHE"/>
-
-    <meta name       = "description"
-	  content    = "Release notes for Knopflerfish OSGi, version 5.1.0 - "/>
-    
-    <meta name       = "title"
-	  content    = "Knopflerfish OSGi, version 5.1.0 -  Release Notes"/>
-
-    <title>Knopflerfish OSGi, version 5.1.0 -  Release Notes</title>
-
-    <style>
-BODY  {
-  background: #ccc;
-}
-
-#main {
-  width: 1000; 
-  background: #fff;
-  border:		1px solid #000;
-  margin: 0px auto;
-  font-family: Lucida Grande, Tahoma, Helvetica, sans-serif;
-  padding: 0px 0px 0px 0px;
-}
-
-#mainblock {
-  margin-left: 20px; 
-  padding-right: 15px;
-  font-family: "Lucida Grande", Tahoma, Lucida Sans, Verdana, Helvetica, sans-serif;
-  font-size: 12.8px;
-}
-
-#footer {
-  clear:both;
-  border-style: solid;
-  border-color: #802060;
-  border-width: 1px 0px 0px 0px;
-  margin:	20px 15px 15px 15px;
-}
-
-#copyright {
-  margin-left: 200px;
-  font-size:10px;
-  color: #000;
-  text-align: right;
-  padding: 5px 10px 0px 0px;
-}	  
-
-H1, H1.kf {
-    font-family: Helvetica Neue, Helvetica, Verdana, Arial, Helvetica, sans-serif;
-    font-size: 2em;
-    font-weight:bold;
-    border-style: solid;
-    border-color: #802060;
-    border-width: 0px 0px 1px 0px;
-    padding-bottom: 2px;
-    margin: 2.0em 0 0.6em 0;
-    color: #444444;
-}
-
-H2.kf  {
-    font-family: Lucida Grande, Verdana, Arial, Helvetica, sans-serif;
-    font-size:	1.3em;
-    font-weight:bold;
-    border-style: solid;
-    color:		#444444;
-    border-style:  solid;
-    border-color:	#ccc;
-    border-width:	1px 0px 1px 0px;
-    background-image: url('../images/shortfadeout_20px.png');
-    background-repeat: repeat-x;
-    padding:	3px 0px 3px 6px;
-    margin: 1.4em 0 0.8em 0;
-}
-
-.note_group {
-    margin: 1.5em 0 0.5em 0;
-}
-
-.note_name {
-    font-weight: bold;
-    color:#333333;
-}
-
-.note_item {
-    display: list-item;
-    margin: 0.5em 0 0.5em 2em;
-}
-a {
-    color:#111111;
-    text-decoration:none;
-}
-    </style>
-
-  </head>
-
-
-  <body>
-    <div id="main">
-      <div id="mainblock">
-	<!-- The first line in this file is used by the desktop to check -->
-<!-- for new releases, i.e., do not change its format.           -->
-<!-- It must contain the word "Knopflerfish" followed by a space -->
-<!-- and then the version followed by another space.             -->
-
-<h1 class="kf">Release Notes Knopflerfish 5.1.0 (OSGi R5)</h1>
-<p>
-
-  Maintenance release of Knopflerfish 5 available from
-  http://www.knopflerfish.org/releases/5.1.0. Released 2014-06-13.
-
-</p>
-<p>
-
-  Knopflerfish 5 is an implementation of the "OSGi Service Platform
-  Release 5". It contains all services specified in the "Core
-  Specification" and most of the non Enterprise Edition related
-  services specified in the "Compendium Specification".
-
-</p>
-
-<p>
-
-  The Release Notes include all new features & changes for
-  Knopflerfish 5.1.0 compared to the release of Knopflerfish
-  5.0.0.
-
-</p>
-
-<h2 class="filled">Knopflerfish Framework - OSGi Core Specification</h2>
-<div class="release_notes">
-
-  <div class="note_group">
-    <div class="note_name">Framework 7.1.2</div>
-    <div class="note_item">
-    Fixed framework restart problem introduced in 7.1.0.
-    </div>
-    <div class="note_item">
-    Relaxed "org.knopflerfish.framework.validator.date" parsing, so that
-    it tries short US locale pattern if default locale parsing fails.
-    </div>
-
-    <div class="note_name">Framework 7.1.1</div>
-    <div class="note_item">
-    Fixed exception when doing BundleWiring.listResources on root directory.
-    </div>
-
-    <div class="note_name">Framework 7.1.0</div>
-    <div class="note_item">
-    Added new URL protocol "fwresource" to access resources from the framework
-    classloader.
-    </div>
-    <div class="note_item">
-    The start class org.knopflerfish.framework.Main now tries to load xargs as a
-    framework resource if the file is not found. This means that we together
-    with the new fwresource protocol can create a single jar that contains the
-    framework, all jars and xargs files that needs to start a complete application.
-    </div>
-    <div class="note_item">
-    Added property "org.knopflerfish.framework.readonly", that puts framework
-    in a read only mode. This means that framework will not write any files
-    in "fwdir". This means that if we are running with the default "file"
-    bundle storage then new bundles must be installed as a referenced file URL.
-    This also implies that no data storage will be available to bundles.
-    </div>
-
-    <div class="note_name">Framework 7.0.2</div>
-    <div class="note_item">
-    Fixed bug that caused IndexOutOfBoundsException when updating large
-    collections of ConditionalPermissionInfos using ConditionalPermissionUpdate.
-    </div>
-    <div class="note_item">
-    Added property "org.knopflerfish.framework.validator.date" to framework
-    for testing certification validation with different dates.
-    </div>
-  </div>
-
-</div>
-
-
-<h2 class="filled">OSGi Compendium Specification</h2>
-<div class="release_notes">
-
-  <div class="note_group">
-    <div class="note_name">UserAdmin 4.1.1</div>
-    <div class="note_item">
-    Now contains and imports/exports org.knopflerfish.service.log
-    in order to be self-contained.
-    </div>
-    <div class="note_item">
-      Changed to use the OSGi defined Bundle-Icon instead of
-      Application-Icon.
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">KF-XML-Metatype 5.0.1</div>
-    <div class="note_item">
-    Fixed bug in handling of designate-element that could cause
-    configurations to be created, deleted or overwritten
-    unintentionally.
-    Refactored handling of standardized OSGi metatype xml and
-    legacy proprietary meta type xml into separate classes.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">CM 5.0.1</div>
-    <div class="note_item">
-    Improved the persistent storage of CM data,
-    made it more robust and fault resilient. 
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">HTTP-Server 4.0.5</div>
-    <div class="note_item">
-    Fixed another bug in the handling of chunked transfer encoding in the
-    Request implementation. The last chunk (with size 0) is not followed
-    by any chunk-data and thus there is no CRLF to consume.
-    </div>
-
-    <div class="note_name">HTTP-Server 4.0.4</div>
-    <div class="note_item">
-    Fixed another bug in the handling of chunked transfer encoding in the
-    Request implementation. A chunk contianing a charter followed by a
-    new line char was not correctly un-chunked.
-    </div>
-
-    <div class="note_name">HTTP-Server 4.0.3</div>
-    <div class="note_item">
-    Fixed a bug in the handling of chunked transfer encoding in the
-    Request implementation. An extra CR-LF was incorrectly added to
-    the end of the decoded data, causing problems when transfering
-    binary data like a zip-file.
-    </div>
-  </div>  
-  
-  <div class="note_group">
-    <div class="note_name">Prefs 4.0.2</div>
-    <div class="note_item">
-      Added bundle icon.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">Repository XML 1.0.2</div>
-    <div class="note_item">
-    Fixed a bug in RequirementImpl and did some clean up.
-    </div>
-
-    <div class="note_name">Repository XML 1.0.1</div>
-    <div class="note_item">
-    Fixed a bug in CapabilityImpl.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">SCR(component) 5.0.3</div>
-    <div class="note_item">
-    Fixed missed factory component check in previous version. This miss caused
-    following error:<p/>
-    java.lang.IllegalStateException: Internal error! Factory component only created with newInstance
-    </div>
-
-    <div class="note_name">SCR(component) 5.0.2</div>
-    <div class="note_item">
-    Fixed a bug that caused factory components to be falsely created or
-    missed being created when we use target filters.
-    </div>
-
-    <div class="note_name">SCR(component) 5.0.1</div>
-    <div class="note_item">
-    Fixed a bug that caused problems when adding a CM configuration with
-    a target filter to an unsatisfied component.
-    </div>
-  </div>
-  
-</div>
-
-<h2 class="filled">Knopflerfish Services</h2>
-<div class="release_notes">
-
-   <div class="note_group">
-    <div class="note_name">CM Desktop 5.0.2</div>
-    <div class="note_item">
-    Add requirement for the Meta Type Service.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">KF Resource Analyzer Extensions 1.0.1</div>
-    <div class="note_item">
-    Added proper handling of Bundle-License according to osgi.identity
-    namepsace.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Commands 1.1.1</div>
-    <div class="note_item">
-    Bug fixes and some refactorings.
-    </div>
-
-    <div class="note_name">Repository Commands 1.1.0</div>
-    <div class="note_item">
-    Added [-r] flag to install command that tries to automatically find and
-    install dependencies along with the specified bundle by using new
-    methods in Repository Manager.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Desktop 1.1.1</div>
-    <div class="note_item">
-    The dialogue now gives information about exactly what will be installed when asking if a
-    Resolver should be used.
-    </div>
-
-    <div class="note_name">Repository Desktop 1.1.0</div>
-    <div class="note_item">
-    Added support for new methods in Repository Manager to use a Resolver
-    service when available.
-    </div>
-  </div>
-  
-  <div class="note_group">
-    <div class="note_name">Repository Manager 1.2.0</div>
-    <div class="note_item">
-    Added install and resolverAvailable methods to RepositoryManager interface.
-    Embedded Resolver and Repository APIs.
-    </div>
-
-    <div class="note_name">Repository Manager 1.1.0</div>
-    <div class="note_item">
-    Added support for Resolver services and added RepositoryManager.findResolution method.
-    </div>
-  </div>
-
-  <div class="note_group">
-    <div class="note_name">KF-XML-Metatype 5.0.2</div>
-    <div class="note_item">
-    Only build an "all" variant. This makes it possible to correctly install
-    CM-Desktop using the Repository Desktop with the Felix resolver.
-    </div>
-  </div>
-
-</div>
-
-
-<h2 class="filled">Misc, start scripts, build system etc </h2>
-<div class="release_notes">
-
-   <div class="note_group">
-    <div class="note_name">init.xargs</div>
-    <div class="note_item">Added commented out line to install Resolver
-    reference implementation.
-    </div>
-  </div>
-
-</div>
-
-      </div>
-      <div id="footer">
-	<div id="copyright">
-	  Copyright © 2008-2014 The Knopflerfish Project. All rights reserved.
-	</div>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/release_notes.in.md b/release_notes.in.md
new file mode 100644
index 0000000..1df4a69
--- /dev/null
+++ b/release_notes.in.md
@@ -0,0 +1,43 @@
+Release Notes Knopflerfish $(VERSION) (OSGi R6)
+======================================================================
+
+Maintenance release of Knopflerfish 6 available from
+$(BASE_URL)/$(VERSION). Released $(RELEASE_DATE).
+
+Knopflerfish 6 is an implementation of the "OSGi Service Platform
+Release 6". It contains all services specified in the "Core
+Specification" and most of the non Enterprise Edition related
+services specified in the "Compendium Specification".
+
+The Release Notes include all new features & changes for
+Knopflerfish $(VERSION) compared to the release of Knopflerfish
+$(VERSION_PREV)
+
+Knopflerfish Framework - OSGi Core Specification
+----------------------------------------------------------------------
+
+### Framework 8.0.5
+
+* Fixed issue #23. If you change the filtering of a service listener
+  by calling BundleContext.addServiceListener() when an event
+  delivery is in progress, then the event calls that are queued will
+  be dropped. This is true even if the event matched the filte both
+  before and after the filtering change.
+
+
+OSGi Compendium Specification
+----------------------------------------------------------------------
+
+
+
+Knopflerfish Services
+----------------------------------------------------------------------
+
+
+
+Misc, start scripts, build system etc 
+----------------------------------------------------------------------
+
+### Build system
+
+* Changed download location for asm_all jar.
diff --git a/strings.properties b/strings.properties
deleted file mode 100644
index 2ccf1ec..0000000
--- a/strings.properties
+++ /dev/null
@@ -1,66 +0,0 @@
-frame_title=Knopflerfish OSGi $(1) installation
-
-page_license_title=Knopflerfish OSGi License
-page_installdir_title=Select installation directory
-page_finish_title=Installing Knopflerfish OSGi
-
-cancel=Cancel
-yes=Yes	
-no=No
-ok=OK
-select=Select
-finish=Finish
-back=Back <<
-forward=Next >>
-browse=Browse...
-
-tt_browse_file=Browse for file
-tt_browse_dir=Browse for directory
-title_select_dir=Browse for directory
-title_select_file=Browse for file
-
-cb_open_dir=Open OSGi directory when done
-
-license_res_name=/license.html
-
-fmt_install_info=<font size\=-1 face\=\"$(3)\">Total installation requires about $(1).\
-<p>\
-The framework can be started by running \
-<tt>framework.jar</tt> in <font size\=-2>$(2)$(sep)osgi</font>\
-<p>\
-It can also be started from a command prompt in that directory by typing<br>\
-<tt>  java -jar framework.jar</tt></font>
-
-
-replace_array4=Yes,"Yes to all",No,Cancel
-
-title_replace_dir=Overwrite directory?
-
-q_replace_dir=\
-The destination folder '$(name)' already exists.\n\
-\n\
-Overwrite directory?
-
-title_replace_file=Replace file?
-
-destfolder_contains=The destination folder already contains a file '$(1)'
-title_origfile=Would you like to replace the existing file
-title_newfile=with this one?
-file_info_fmt=$(1), $(2) bytes
-
-
-cancel_install_title=Cancel installation?
-cancel_install_msg=Are you sure you want to cancel the the installation?
-cancel_install_array2="Yes","No, continue"
-
-page_installselection_title=Select components to install
-install_comp_base=OSGi framework runtime files
-install_comp_src=Java sources and build environment
-install_comp_htdocs=Knopflerfish documentation
-
-install_comp_base_tt=Compiled OSGi framework files.
-install_comp_src_tt=All java sources for the framework and bundles + ant build environment. 
-install_comp_htdocs_tt=Create 'docs'-subdirectory with Knopflerfish documentation
-
-comp_size=Installation requires about $(1).
-

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/knopflerfish-osgi.git



More information about the pkg-java-commits mailing list