You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by fc...@apache.org on 2012/05/11 15:22:28 UTC

svn commit: r1337145 - /incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext

Author: fchrist
Date: Fri May 11 13:22:27 2012
New Revision: 1337145

URL: http://svn.apache.org/viewvc?rev=1337145&view=rev
Log:
STANBOL-609 Extended dependency management doc

Modified:
    incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext

Modified: incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext
URL: http://svn.apache.org/viewvc/incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext?rev=1337145&r1=1337144&r2=1337145&view=diff
==============================================================================
--- incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext (original)
+++ incubator/stanbol/site/trunk/content/stanbol/development/index.mdtext Fri May 11 13:22:27 2012
@@ -14,8 +14,8 @@ Apache Stanbol is a modular software sta
 basically have different release cycles. Technically, this modularization
 is implemented by the underlying OSGi component infrastructure. Each Apache
 Stanbol component is implemented as an OSGi bundle that can be deployed in
-an OSGi environment. Apache Stanbol uses the OSGi implementation from Apache
-Felix for this.
+an OSGi environment. Apache Stanbol uses the OSGi implementation from
+[Apache Felix](http://felix.apache.org/site/index.html) for this.
 
 Apache Stanbol's dependency management is organized at three levels:
 
@@ -63,10 +63,52 @@ a working Apache Stanbol stack.
 <a name="runtime-dependency-management"></a>
 ### Runtime (OSGi) Dependency Management
 
+Apache Stanbol components are OSGi bundles. Therefore, the runtime
+dependencies between such bundles are managed by the exported and imported
+packages of those bundles. What a bundle requires to import and what it
+exports is configured by using the Maven Bundle plugin of the Apache Felix
+project. Its configuration is done inside the POM. The Maven Bundle plugin
+ensures that the OSGi specific meta-information are generated correctly
+for the resulting JAR.
+
+Configuring the OSGi imports and exports is in most cases analogue to
+configure the build dependencies in the POM. We can not go into the details
+of OSGi here and refer to the
+[OSGi Alliance](http://www.osgi.org/) and the
+[Apache Felix](http://felix.apache.org/site/index.html) project
+for further information.
 
 <a name="launcher-configuration-management"></a>
 ### Launcher Configuration Management
 
+Launchers represent the binary distribution of Apache Stanbol. An Apache
+Stanbol launcher is a packaged OSGi runtime environment. It includes a set
+of Apache Stanbol components and required third party components to build up
+the runtime stack. Additionally, a launcher instantiates an Apache Stanbol
+HTTP endpoint to provide the RESTful interface and documentation.
+
+Basically, a launcher packages everything together in a single executable
+JAR that is needed to run Apache Stanbol. To configure which bundles are
+part of this launcher and to ensure that all required third party components
+are in place, the launchers are composed of so called 'partial bundlelists'.
+
+A partial bundlelist is defined by each Apache Stanbol component and it lists
+all required internal and external dependencies that have to be included in a
+launcher in order to make this component work. The dependencies are
+configured in a 'src/main/bundles/list.xml' file of each partial bundlelist
+artifact. The dependencies listed such a file for a partial bundlelist
+are more or less the same as the one defined for the build dependencies in
+the POM. But remember that the partial bundlelists define the dependencies
+needed at runtime and there may be other/more dependencies needed at runtime
+than at build time.
+
+Apache Stanbol pre-configures a set of launchers in the
+[/launchers](http://svn.apache.org/repos/asf/incubator/stanbol/trunk/launchers/) directory.
+The most important one is the 'full' launcher which includes all available
+Apache Stanbol components. This launcher is also used when executing the
+integration tests. In a launcher's POM you just have to declare dependencies
+to all required partial bundlelists that the launcher should include.
+
 <a name="coding"></a>
 ## Coding
 
@@ -112,3 +154,4 @@ developer has to keep in mind when writi
 
 <a name="release-management"></a>
 ## Release Process
+