You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by gc...@apache.org on 2013/07/08 16:32:15 UTC

svn commit: r1500766 - /aries/site/trunk/content/modules/esamavenpluginproject.mdtext

Author: gcc
Date: Mon Jul  8 14:32:14 2013
New Revision: 1500766

URL: http://svn.apache.org/r1500766
Log:
First stab at esa-maven-plugin docs

Added:
    aries/site/trunk/content/modules/esamavenpluginproject.mdtext   (with props)

Added: aries/site/trunk/content/modules/esamavenpluginproject.mdtext
URL: http://svn.apache.org/viewvc/aries/site/trunk/content/modules/esamavenpluginproject.mdtext?rev=1500766&view=auto
==============================================================================
--- aries/site/trunk/content/modules/esamavenpluginproject.mdtext (added)
+++ aries/site/trunk/content/modules/esamavenpluginproject.mdtext Mon Jul  8 14:32:14 2013
@@ -0,0 +1,113 @@
+Title:
+Notice:    Licensed to the Apache Software Foundation (ASF) under one
+           or more contributor license agreements.  See the NOTICE file
+           distributed with this work for additional information
+           regarding copyright ownership.  The ASF licenses this file
+           to you 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.
+
+<a name="ESAMavenPluginProject-ESAMavenPlugin"></a>
+# ESA Maven Plugin
+
+Note: the esa-maven-plugin has yet to be released and so to use it you must first extract and build it from the Aries svn.
+
+The ESA Maven Plugin provides the ability to generate ESA archives using
+Maven.	The ESA archive format is defined in the Subsystems Service Specification which was part of <a href="http://www.osgi.org/Specifications/HomePage">OSGi Enterprise R5</a>.  An ESA archive can optionally contain an Subsystem manifest
+(SUBSYSTEM.MF).  This can be added in one of two ways
+
+1. Hand written and added into the archive.
+1. Generated based on pom configuration.
+
+<a name="ESAMavenPluginProject-UsingthePlugin"></a>
+## Using the Plugin
+
+The plugin is included by as follows:
+
+
+        <build>
+    	<plugins>
+    	    <plugin>
+    		<groupId>org.apache.aries</groupId>
+    		<artifactId>esa-maven-plugin</artifactId>
+    	    </plugin>
+    	</plugins>
+        </build>
+
+
+By default it will not generate a manifest, so in the above example it will
+attempt to copy a pre-defined SUBSYSTEM.MF from
+src/main/resources/META-INF.  If that file does not exist, then no
+Subsystem manifest will be included.
+
+<a name="ESAMavenPluginProject-GeneratinganSUBSYSTEM.MF"></a>
+## Generating an SUBSYSTEM.MF
+
+The following example shows how to get the plugin to generate an
+SUBSYSTEM.MF based on the pom configuration:
+
+
+        <build>
+    	<plugins>
+    	    <plugin>
+    		<groupId>org.apache.aries</groupId>
+    		<artifactId>esa-maven-plugin</artifactId>
+    		<configuration>
+    		    <generateManifest>true</generateManifest>
+    		</configuration>
+    	    </plugin>
+    	</plugins>
+        </build>
+
+
+The pom to subsystem manfiest header mapping is as follows:
+* Pom <groupId/>.<artifactId/> -> Subsystem-SymbolicName
+* Pom <name/> -> Subsystem-Name
+* Pom <version/> -> Subsystem-Version (cleaned up for OSGi)
+* Pom <description/> -> Subsystem-Description
+* Pom <dependencies/> -> Subsystem-Content
+
+<a name="ESAMavenPluginProject-OverridingSubsystem-SymbolicName"></a>
+## Overriding Subsystem-SymbolicName
+
+The subsystem symbolic name defaults to the
+$\{project.groupId\}.$\{project.artifaceId\}.  The following shows how to override
+this:
+
+
+    <configuration>
+      <instructions>
+        <Subsystem-SymbolicName>${project.artifaceId}</Subsystem-SymbolicName>
+      </instructions>
+    </configuration>
+
+<a name="ESAMavenPluginProject-Archivecontent"></a>
+## Including bundles in the archive
+
+By default, the archive will only include the direct dependencies of the project.  The `<archiveContent/>` element can be used to control the archive artifact contents.  The following shows how to include all direct and transitive dependencies.
+
+    <configuration>
+      <archiveContent>all</archiveContent>
+    </configuration>
+
+The following shows how to exclude all dependencies from the archive.  This is useful if you just want the subsystem definition and will use a bundle repository to provision the bundles during deployment.
+
+    <configuration>
+      <archiveContent>none</archiveContent>
+    </configuration>
+
+The following specifies the default of including only the direct dependencies (assumes the subsystem contents and direct dependencies are the same).
+
+    <configuration>
+      <archiveContent>subsystemContent</archiveContent>
+    </configuration>
+

Propchange: aries/site/trunk/content/modules/esamavenpluginproject.mdtext
------------------------------------------------------------------------------
    svn:eol-style = native