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