You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by bu...@apache.org on 2013/01/26 23:55:12 UTC

svn commit: r848100 [1/2] - in /websites/staging/felix/trunk/content: ./ documentation/faqs/ documentation/subprojects/ documentation/subprojects/apache-felix-maven-scr-plugin/ site/

Author: buildbot
Date: Sat Jan 26 22:55:12 2013
New Revision: 848100

Log:
Staging update by buildbot for felix

Removed:
    websites/staging/felix/trunk/content/site/apache-felix-maven-scr-plugin-use.html
    websites/staging/felix/trunk/content/site/apache-felix-maven-scr-plugin.html
    websites/staging/felix/trunk/content/site/apache-felix-scr-ant-task-use.html
    websites/staging/felix/trunk/content/site/apache-felix-scr-plugin-faq.html
    websites/staging/felix/trunk/content/site/extending-scr-annotations.html
    websites/staging/felix/trunk/content/site/scr-annotations.html
    websites/staging/felix/trunk/content/site/scr-javadoc-tags.html
Modified:
    websites/staging/felix/trunk/content/   (props changed)
    websites/staging/felix/trunk/content/documentation/faqs/apache-felix-scr-plugin-faq.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-maven-scr-plugin-use.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-ant-task-use.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html
    websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/scr-javadoc-tags.html
    websites/staging/felix/trunk/content/site/.htaccess
    websites/staging/felix/trunk/content/sitemap.html

Propchange: websites/staging/felix/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sat Jan 26 22:55:12 2013
@@ -1 +1 @@
-1438132
+1438983

Modified: websites/staging/felix/trunk/content/documentation/faqs/apache-felix-scr-plugin-faq.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/faqs/apache-felix-scr-plugin-faq.html (original)
+++ websites/staging/felix/trunk/content/documentation/faqs/apache-felix-scr-plugin-faq.html Sat Jan 26 22:55:12 2013
@@ -18,7 +18,7 @@
     limitations under the License.
 -->
   <head>
-    <title>Apache Felix - Apache Felix SCR Plugin FAQ</title>
+    <title>Apache Felix - Apache Felix SCR Plugin Frequently Asked Questions</title>
     <link rel="icon" href="/res/favicon.ico">
     <link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
     <link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
@@ -67,41 +67,35 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/apache-felix-scr-plugin-faq.html" target="felix_cwiki">/site/apache-felix-scr-plugin-faq.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
-      <h1>Apache Felix SCR Plugin FAQ</h1>
-      <h1 id="apache-felix-scr-plugin-frequently-asked-questions">Apache Felix SCR Plugin Frequently Asked Questions</h1>
-<div class="toc">
+      <h1>Apache Felix SCR Plugin Frequently Asked Questions</h1>
+      <div class="toc">
 <ul>
-<li><a href="#apache-felix-scr-plugin-frequently-asked-questions">Apache Felix SCR Plugin Frequently Asked Questions</a><ul>
 <li><a href="#syntax-error-when-enums-are-used">Syntax Error when Enums are used?</a></li>
 <li><a href="#noclassdeffounderror-during-build">NoClassDefFoundError during build</a></li>
 </ul>
-</li>
-</ul>
 </div>
+<p>This page provides answers to frequently asked questions using the Maven
+SCR Plugin. See <a href="/documentation/subprojects/apache-felix-maven-scr-plugin.html">Apache Felix Maven SCR Plugin</a>
+for documentation on that plugin.</p>
 <h2 id="syntax-error-when-enums-are-used">Syntax Error when Enums are used?</h2>
 <p>During a SCR plugin run, a syntax error might occur if enums are used in the source code. This is a know problem of the used QDox version that reads the Java source files. Usually this happens when an enum is used inline and does not end with a ";". So adding this character should solve the problem:</p>
-<div class="codehilite"><pre><span class="n">public</span> <span class="n">interface</span> <span class="n">MyTest</span> <span class="p">{</span>
+<div class="codehilite"><pre><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">MyTest</span> <span class="o">{</span>
 
-     <span class="sr">/** more error codes may be added */</span>
-     <span class="n">enum</span> <span class="n">Result</span> <span class="p">{</span>
-    <span class="n">OK</span><span class="p">,</span> <span class="n">UNKNOWN</span><span class="p">,</span> <span class="n">ERROR</span><span class="p">,</span> <span class="n">DENIED</span>
-     <span class="p">};</span>     <span class="sr">//</span> <span class="o">&lt;!--</span> <span class="n">HERE</span>
-
-     <span class="sr">/** @return the result */</span>
-     <span class="n">public</span> <span class="n">void</span> <span class="n">getResult</span><span class="p">();</span> 
-  <span class="p">}</span>
+    <span class="cm">/** more error codes may be added */</span>
+    <span class="kd">enum</span> <span class="n">Result</span> <span class="o">{</span>
+        <span class="n">OK</span><span class="o">,</span> <span class="n">UNKNOWN</span><span class="o">,</span> <span class="n">ERROR</span><span class="o">,</span> <span class="n">DENIED</span>
+    <span class="o">};</span>     <span class="c1">// &lt;!-- HERE</span>
+
+    <span class="cm">/** @return the result */</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">getResult</span><span class="o">();</span> 
+<span class="o">}</span>
 </pre></div>
 
 
 <h2 id="noclassdeffounderror-during-build">NoClassDefFoundError during build</h2>
 <p>If the javadoc tags are used (and not the annotations) then the QDox library is used to parse/introspect the java class. For this the classes have to be loaded and static fields have to be initialized. If you have have for example something like</p>
-<div class="codehilite"><pre>  <span class="n">private</span> <span class="n">static</span> <span class="n">final</span> <span class="n">org</span><span class="o">.</span><span class="n">slf4f</span><span class="o">.</span><span class="n">Logger</span> <span class="n">LOGGER</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="n">slf4j</span><span class="o">.</span><span class="n">LoggerFactory</span><span class="o">.</span><span class="n">getLogger</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">);</span>
+<div class="codehilite"><pre><span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">org</span><span class="o">.</span><span class="na">slf4f</span><span class="o">.</span><span class="na">Logger</span> <span class="n">LOGGER</span> <span class="o">=</span> <span class="n">org</span><span class="o">.</span><span class="na">slf4j</span><span class="o">.</span><span class="na">LoggerFactory</span><span class="o">.</span><span class="na">getLogger</span><span class="o">(</span><span class="s">&quot;name&quot;</span><span class="o">);</span>
 </pre></div>
 
 
@@ -111,21 +105,23 @@
 
 
 <p>is thrown - this often happens with slf4j but might also happen with other libraries.</p>
-<p>In these cases you should add a dependency to the missing class to the dependency list of the plugin, like:</p>
-<div class="codehilite"><pre>     <span class="nt">&lt;plugin&gt;</span>
-         <span class="nt">&lt;groupId&gt;</span>org.apache.felix<span class="nt">&lt;/groupId&gt;</span>
-         <span class="nt">&lt;artifactId&gt;</span>maven-scr-plugin<span class="nt">&lt;/artifactId&gt;</span>
-         <span class="nt">&lt;version&gt;</span>1.4.2<span class="nt">&lt;/version&gt;</span>
-         <span class="nt">&lt;dependencies&gt;</span>
-             <span class="nt">&lt;dependency&gt;</span>
-                 <span class="nt">&lt;groupId&gt;</span>org.slf4j<span class="nt">&lt;/groupId&gt;</span>
-                 <span class="nt">&lt;artifactId&gt;</span>slf4j-simple<span class="nt">&lt;/artifactId&gt;</span>
-                 <span class="nt">&lt;version&gt;</span>1.5.2<span class="nt">&lt;/version&gt;</span>
-             <span class="nt">&lt;/dependency&gt;</span>
-         <span class="nt">&lt;/dependencies&gt;</span>
+<p>In these cases you should add a dependency to the missing class to the dependency list of the plugin, for example:</p>
+<div class="codehilite"><pre><span class="nt">&lt;plugin&gt;</span>
+    <span class="nt">&lt;groupId&gt;</span>org.apache.felix<span class="nt">&lt;/groupId&gt;</span>
+    <span class="nt">&lt;artifactId&gt;</span>maven-scr-plugin<span class="nt">&lt;/artifactId&gt;</span>
+    <span class="nt">&lt;version&gt;</span>1.9.0<span class="nt">&lt;/version&gt;</span>
+    <span class="nt">&lt;dependencies&gt;</span>
+        <span class="nt">&lt;dependency&gt;</span>
+            <span class="nt">&lt;groupId&gt;</span>org.slf4j<span class="nt">&lt;/groupId&gt;</span>
+            <span class="nt">&lt;artifactId&gt;</span>slf4j-simple<span class="nt">&lt;/artifactId&gt;</span>
+            <span class="nt">&lt;version&gt;</span>1.5.2<span class="nt">&lt;/version&gt;</span>
+        <span class="nt">&lt;/dependency&gt;</span>
+    <span class="nt">&lt;/dependencies&gt;</span>
+    ...
+<span class="nt">&lt;/plugin&gt;</span>
 </pre></div>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1438983 by fmeschbe on Sat, 26 Jan 2013 22:54:42 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin.html Sat Jan 26 22:55:12 2013
@@ -67,15 +67,10 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/apache-felix-maven-scr-plugin.html" target="felix_cwiki">/site/apache-felix-maven-scr-plugin.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
       <h1>Apache Felix Maven SCR Plugin</h1>
       <p>The Apache Felix Maven SCR Plugin is a great tool to ease the development of OSGi components and services. Components and services are defined through annotations and the plugin creates the necessary descriptors for the OSGi Declarative Services, Config Admin and Metatype services. Starting with version 1.4.0 of the plugin, OSGi Declarative Services versions 1.0 and 1.1 are supported.</p>
-<p>Make sure to see the <a href="">FAQ</a> for known problems.</p>
+<p>Make sure to see the <a href="/documentation/faqs/apache-felix-scr-plugin-faq.html">FAQ</a> for known problems.</p>
 <h2 id="introduction">Introduction</h2>
 <p>In OSGi based systems functionality is mainly provided through services. Unlike traditional systems but comparable to Spring, a service is not reqiured to implement a framework defined interface. Instead services implement one or more interfaces, which stipulate the type of service provided. It is the lifetime of the bundle, which defines the lifetime of the service: A service object may be instantiated when the bundle is started and will automatically be removed when the bundle is stopped (and the service has not already been unregistered).</p>
 <p>Usually, the functionality of a bundle - be it the packages exported or be it the services provided - is made available to the rest of the system, when the bundle is started. To give the bundle a change to take action, a bundle may declare a <code>BundleActivator</code> class in the <code>Bundle-Activato</code> manifest header of the bundle. When the bundle is started, the <code>start(BundleContext)</code> method is called, while the <code>stop(BundleContext)</code> method is called when the bundle is stopped. These methods are one place to instantiate and register services with the service registry.</p>
@@ -84,25 +79,31 @@
 <p>Components are declared using XML configuration files contained in the respective bundle and listed in the <code>Service-Component</code> bundle manifest header. These configuration files may be handwritten and registered. To support automatic generation of the component descriptors, the Maven SCR Plugin helps in the generation of these files by means of JavaDoc tags embedded in the Java source code of the components.</p>
 <p>Related to declarative services is configuration support. To support configuration of services and components, OSGi provides the Configuration Admin Service Specification. This specification defines a service, which is the center of providing configuration to services and components. As such the Configuration Admin Service cares for storing configuration and deliver the configuration automatically or on-demand to clients. Configuration objects are identified by so-called Persistent Identifiers (PID) and are bound to bundles when used. For services implementing the special <code>ManagedService</code> or <code>ManagedServiceFactory</code> interfaces the PID has to be provided in the service properties as a property with the name <code>service.pid</code>. For Declarative Services, the name of the component is used as the PID to retrieve the configuration from the Configuration Admin Service.</p>
 <p>The Configuration Admin Service not only allows components to get or retrieve configuration, it also provides the entry point for Management Agents to retrieve and update configuration data. To help building Management Agents the OSGi Metatype Service Specification defines a descripton model which may be used to describe data used by components and services. The configuration properties and meta type description for a given PID together are used to build the user interface to configure the service and/or component.</p>
-<p>To summarize:
-1. <em>Declarative Services</em> provides a means to define components (and services) through one or more XML files. Each component may get default configuration from its own definition.
-1. The <em>Configuration Admin Service</em> provides functionality to provide configuration to components and services as well as to support management tools to update (and create) configuration data.
-1. The <em>Metatype Service</em> provides a description suitable for management tools to manage configurations provided by the Configuration Admin Service. The descriptions of the data is provided in one or more XML files and associated languag binding files.</p>
+<p>To summarize:</p>
+<ol>
+<li><em>Declarative Services</em> provides a means to define components (and services) through one or more XML files. Each component may get default configuration from its own definition.</li>
+<li>The <em>Configuration Admin Service</em> provides functionality to provide configuration to components and services as well as to support management tools to update (and create) configuration data.</li>
+<li>The <em>Metatype Service</em> provides a description suitable for management tools to manage configurations provided by the Configuration Admin Service. The descriptions of the data is provided in one or more XML files and associated languag binding files.</li>
+</ol>
 <h2 id="where-to-go-from-here">Where to go from here</h2>
 <ul>
-<li>[})</li>
-<li>[})</li>
-<li>[})</li>
-<li>[})</li>
-<li>[})</li>
+<li><a href="/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-maven-scr-plugin-use.html">Using the Apache Felix Maven SCR Plugin to generate Declarative Services and Metatype Service descriptors during a Maven Build</a></li>
+<li><a href="/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-ant-task-use.html">Using the Apache Felix SCR Ant Task to generate Declarative Services and Metatype Service descriptors during an Ant driven Build.</a></li>
+<li><a href="/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html">Using Java 5 Annotations to describe the component or service.</a></li>
+<li><a href="/documentation/subprojects/apache-felix-maven-scr-plugin/scr-javadoc-tags.html">Using JavaDoc Tags to describe the component or service.</a></li>
+<li><a href="/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html">How add new Annotations extending the base Annotations</a></li>
 </ul>
 <h2 id="differences-between-javadoc-tags-and-annotations">Differences between JavaDoc tags and annotations</h2>
-<p>In general both mechanisms provide the same functionality. There are some subtle difference which are listed in this section:
-<em> While the <code>metatype</code> flag is turned on by default for the JavaDoc tags, the default for the annotations is to generate no metadata. The reason for this is, that it turned out that services with metadata are less often used.
-</em> The JavaDoc support adds properties and references from super classes if the source is in the same module to a component even if the super class does not have the <code>@scr.component</code> tag. With the annotations the super class is required to have the <code>Component</code> annotation.
-* Property values are handled differently. While the JavaDoc version has an auto detection of types together with an explicit type parameter, the annotations version has several attributes. Each type has its own attribute (like <code>shortValue</code>, <code>intValue</code> and so on). This is because of a limitation in the Java annotations which only allow typed parameters.</p>
+<p>In general both mechanisms provide the same functionality. There are some subtle difference which are listed in this section:</p>
+<ul>
+<li>JavaDoc tags are not supported in recent versions of the plugin. New features
+will only be implemented as annotations.</li>
+<li>While the <code>metatype</code> flag is turned on by default for the JavaDoc tags, the default for the annotations is to generate no metadata. The reason for this is, that it turned out that services with metadata are less often used.</li>
+<li>The JavaDoc support adds properties and references from super classes if the source is in the same module to a component even if the super class does not have the <code>@scr.component</code> tag. With the annotations the super class is required to have the <code>Component</code> annotation.</li>
+<li>Property values are handled differently. While the JavaDoc version has an auto detection of types together with an explicit type parameter, the annotations version has several attributes. Each type has its own attribute (like <code>shortValue</code>, <code>intValue</code> and so on). This is because of a limitation in the Java annotations which only allow typed parameters.</li>
+</ul>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1438983 by fmeschbe on Sat, 26 Jan 2013 22:54:42 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-maven-scr-plugin-use.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-maven-scr-plugin-use.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-maven-scr-plugin-use.html Sat Jan 26 22:55:12 2013
@@ -67,11 +67,6 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/apache-felix-maven-scr-plugin-use.html" target="felix_cwiki">/site/apache-felix-maven-scr-plugin-use.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
       <h1>Apache Felix Maven SCR Plugin Use</h1>
       <p>Support for automatic generation of the compenent and metadata descriptors is embeded in the <code>org.apache.felix:maven-scr-plugin</code> plugin. To use this plugin, it has to be declared in the project descriptor as a <code>&lt;plugin&gt;</code> element: </p>
@@ -84,6 +79,7 @@
       <span class="nt">&lt;plugin&gt;</span>
         <span class="nt">&lt;groupId&gt;</span>org.apache.felix<span class="nt">&lt;/groupId&gt;</span>
         <span class="nt">&lt;artifactId&gt;</span>maven-scr-plugin<span class="nt">&lt;/artifactId&gt;</span>
+        <span class="nt">&lt;version&gt;</span>1.9.0<span class="nt">&lt;/version&gt;</span>
         <span class="nt">&lt;executions&gt;</span>
           <span class="nt">&lt;execution&gt;</span>
             <span class="nt">&lt;id&gt;</span>generate-scr-scrdescriptor<span class="nt">&lt;/id&gt;</span>
@@ -103,21 +99,78 @@
 
 
 <p>The <code>scr</code> goal is bound to the <code>generate-resources</code> phase and will generate a single descriptor file as well as meta type file for all components found in the project. </p>
-<p>The plugin may be configured with the following properties (Check the version column to make sure you use at least this version for the mentioned feature): 
-| <em>Property</em> | <em>Description</em> | <em>Version</em> | 
-| <code>specVersion</code> | The plugin will generate a descriptor for the Declarative Service version (either 1.0 or 1.1). If no value is specified, the plugin will detect the version and only use 1.1 if features from this version are used. | &gt;= 1.4.0 | 
-| <code>generateAccessors</code> | If this switch is turned on, the bind and unbind methods for unary references are automatically generated by the plugin. By default this is set to <code>true</code>. | | 
-| <code>parseJavadoc</code> | If this switch is turned on, the java source code and its javadoc tags are scanned for the scr tags (see below). The default value is <code>true</code>. | | 
-| <code>processAnnotations</code> | If this switch is turned on, the java code is scanned for the scr annotations (see below). The default value is <code>true</code>. | &gt;= 1.2.0 | 
-| <code>sourceExcludes</code> | Comma separated list of classes to exclude when processing the source. | | 
-| <code>strictMode</code> | The plugin distinguishes between errors and warnings. In strict mode warnings are treated as errors and cause the plugin to fail. The default value is <code>false</code>. | | 
-| <code>properties</code> | A map of predefined properties. These properties are set to each component (if the component does not define the property already). This is a map where the property name is made up by the included element name and the value is the value of the element.| &gt;= 1.2.0 | 
-| <code>finalName</code> | The name of the descriptor file to create. This property defaults to the value of the <code>scr.descriptor.name</code> property if defined. Otherwise the default is <code>serviceComponents.xml</code>. | | 
-| <code>metaTypeName</code> | The name of the descriptor file to create. This property defauls to <code>metatype.xml</code>. | | 
-| <code>outputDirectory</code> | The directory where all files are generated in. This defaults to <code>scr-plugin-generated</code> inside the build output directory. | | 
-The meta type file is generated in the <code>OSGI-INF/metatype/</code> directory and the scr descriptor file in the <code>OSGI-INF</code> directory. 
-<em>Note</em>: The location of the meta type descriptor may not be changed as the OSGi Metatype Service Specification prescribes the location of the descriptors. </p>
-<p>The plugin will look for component definition tags in all Java files found in the source directories of the project. </p>
+<p>The plugin may be configured with the following properties (Check the version column to make sure you use at least this version for the mentioned feature):</p>
+<hr />
+<p><strong><code>specVersion</code></strong>      <br />
+<em>Default</em>: Automatically detected  <br />
+<em>Since</em>: 1.4.0  <br />
+The plugin will generate a descriptor for the Declarative Service version (e.g. 1.0, 1.1, or 1.2). If no value is specified, the plugin will detect the version and only use 1.1 if features from this version are used. </p>
+<hr />
+<p><strong><code>generateAccessors</code></strong>      <br />
+<em>Default</em>: <code>true</code>  <br />
+<em>Since</em>:   <br />
+If this switch is turned on, the bind and unbind methods for unary references are automatically generated by the plugin.</p>
+<hr />
+<p><strong><code>processAnnotations</code></strong>  <br />
+<em>Default</em>: <code>true</code>  <br />
+<em>Since</em>: 1.2.0  <br />
+If this switch is turned on, the java code is scanned for the scr annotations (see below).</p>
+<hr />
+<p><strong><code>sourceIncludes</code></strong>      <br />
+<em>Default</em>: <code>true</code>  <br />
+<em>Since</em>: 1.7.4  <br />
+Comma separated list of classes to include when processing the source.</p>
+<hr />
+<p><strong><code>sourceExcludes</code></strong>      <br />
+<em>Default</em>: <code>true</code>  <br />
+<em>Since</em>:  <br />
+Comma separated list of classes to exclude when processing the source. </p>
+<hr />
+<p><strong><code>strictMode</code></strong>      <br />
+<em>Default</em>: <code>false</code>  <br />
+<em>Since</em>:  <br />
+The plugin distinguishes between errors and warnings. In strict mode warnings are treated as errors and cause the plugin to fail.</p>
+<hr />
+<p><strong><code>properties</code></strong>      <br />
+<em>Default</em>: None  <br />
+<em>Since</em>: 1.2.0  <br />
+A map of predefined properties. These properties are set to each component (if the component does not define the property already). This is a map where the property name is made up by the included element name and the value is the value of the element. </p>
+<hr />
+<p><strong><code>finalName</code></strong>      <br />
+<em>Default</em>: <code>serviceComponents.xml</code> or <code>scr.descriptor.name</code> system property  <br />
+<em>Since</em>: 1.0.0  <br />
+The name of the descriptor file to create. This property only applies if
+the <code>generateSeparateDescriptors</code> is set to <code>false</code>.</p>
+<hr />
+<p><strong><code>metaTypeName</code></strong>      <br />
+<em>Default</em>: <code>metatype.xml</code>  <br />
+<em>Since</em>: 1.0.0  <br />
+The name of the descriptor file to create.</p>
+<hr />
+<p><strong><code>outputDirectory</code></strong>      <br />
+<em>Default</em>: <code>${project.build.directory}/scr-plugin-generated</code>  <br />
+<em>Since</em>: 1.0.0  <br />
+The directory where all files are generated in.</p>
+<hr />
+<p><strong><code>generateSeparateDescriptors</code></strong>  <br />
+<em>Default</em>: <code>true</code>  <br />
+<em>Since</em>: 1.9.0  <br />
+If set to false, a single descriptor will be created.</p>
+<hr />
+<p><strong><code>supportedProjectTypes</code></strong>  <br />
+<em>Default</em>: <code>jar, bundle</code>  <br />
+<em>Since</em>: 1.8.0  <br />
+Project types which this plugin supports.</p>
+<hr />
+<p><strong><code>scanClasses</code></strong>  <br />
+<em>Default</em>: <code>false</code>  <br />
+<em>Since</em>: 1.9.0  <br />
+By default the plugin scans the java source tree, if this is set to <code>true</code>,
+the generated classes directory is scanned instead.</p>
+<hr />
+<p>The Metatype file is generated in the <code>OSGI-INF/metatype/</code> directory and the Declarative Services descriptor file in the <code>OSGI-INF</code> directory. </p>
+<p><strong>Note</strong>: The location of the Metatype descriptor may not be changed as the OSGi Metatype Service Specification prescribes the location of the descriptors. </p>
+<p>The plugin will look for component definition tags in all Java files found in the source directories of the project unless the <code>scanClasses</code> property indicates the class files are to be scanned instead. This is usefull if the annotations are actually defined in JVM-based languages such as Groovy or Scala.</p>
 <h3 id="using-the-descriptor">Using the descriptor</h3>
 <p>Currently the <code>maven-scr-plugin</code> only creates the component descriptor file. Adding the descriptor to the bundle and setting the <code>Service-Component</code> manifest header accordingly is a different task. However, if you're using the <code>org.apache.felix:maven-bundle-plugin</code> to construct the bundle and its manifest, then the <code>maven-scr-plugin</code> will add the following settings automatically for the <code>org.apache.felix:maven-bundle-plugin</code> (given default <code>maven-scr-plugin</code> configuration), so you don't have to configure this yourself: </p>
 <div class="codehilite"><pre>...
@@ -126,12 +179,12 @@ The meta type file is generated in the <
     target/scr-plugin-generated
 <span class="nt">&lt;/Include-Resource&gt;</span>
 <span class="nt">&lt;Service-Component&gt;</span>
-  OSGI-INF/serviceComponents.xml
+    OSGI-INF/serviceComponents.xml
 <span class="nt">&lt;/Service-Component&gt;</span>
 ...
 </pre></div>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1438983 by fmeschbe on Sat, 26 Jan 2013 22:54:42 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-ant-task-use.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-ant-task-use.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-ant-task-use.html Sat Jan 26 22:55:12 2013
@@ -67,11 +67,6 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/apache-felix-scr-ant-task-use.html" target="felix_cwiki">/site/apache-felix-scr-ant-task-use.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
       <h1>Apache Felix SCR Ant Task Use</h1>
       <p>The SCR Ant Task is implemented in the <code>org.apache.felix.scr.ant</code> library which must be registered as an Ant Task in the build file as follows:</p>
@@ -87,96 +82,75 @@
 
 <p>Of course the value you set in the <code>classpath</code> attribute depends on the actual location of the <code>org.apache.felix.scr.ant</code> JAR file.</p>
 <p>The SCR Ant Task is available for download from the Apache Felix <a href="http://felix.apache.org/site/downloads.cgi">Downloads</a> page.</p>
-<p><em>Notes</em>:
-<em> The name of the task is <code>scr</code>
-</em> The task requires that the source files have already been compiled</p>
+<p><strong>Notes</strong>:</p>
+<ul>
+<li>The name of the task is <code>scr</code></li>
+<li>The task requires that the source files have already been compiled</li>
+</ul>
 <p>The task only generates the descriptor file(s). If you want to use the Declarative Services descriptor -- by default generated in the <code>OSGI-INF/serviceComponents.xml</code> -- you must make sure to add a <code>Service-Components</code> header to your bundle manifest. Unlike Maven plugin the Ant task cannot automatically generate this header.</p>
 <h2 id="task-attributes">Task Attributes</h2>
-<p>Like the standard <code>javac</code> Ant Task, the SCR Ant Task defines an implicit fileset which defines the source files to be scanned for Java 5 Annotations or JavaDoc Tags. In addition to the child elements available to Ant Fileset as defined for <a href="http://ant.apache.org/manual/dirtasks.html#directorybasedtasks">directory-based tasks</a> the following task attributes:</p>
-<table>
-<thead>
-<tr>
-<th>Attribute</th>
-<th>Required</th>
-<th>Default</th>
-<th>Description</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>scrdir</td>
-<td>Yes</td>
-<td>--</td>
-<td>The root directory of the implicitly defined fileset denoting the files to consider for annotation and/or JavaDoc tag processing.</td>
-</tr>
-<tr>
-<td>destdir</td>
-<td>Yes</td>
-<td>--</td>
-<td>The name of the directory where the descriptor files are generated into. This is also used as the directory where the compiled classes from the <code>srcdir</code> may be located. This directory is actually added as another element to the classpath as defined by <code>classpath</code> and <code>classpathRef</code>.</td>
-</tr>
-<tr>
-<td>classpath</td>
-<td>No</td>
-<td>--</td>
-<td>The class path used to load classes from to analyse for the descriptor file generation. Generally this will be the same class path as the one used to compile the sources.</td>
-</tr>
-<tr>
-<td>classpathRef</td>
-<td>No</td>
-<td>--</td>
-<td>A reference to a class path used to load classes from to analyse for the descriptor file generation. Generally this will be the same class path as the one used to compile the sources.</td>
-</tr>
-<tr>
-<td>finalName</td>
-<td>No</td>
-<td><code>serviceComponents.xml</code></td>
-<td>The name of the descriptor file to create. This file is always located inside the <code>OSGI-INF</code> folder in the <code>destdir</code>.</td>
-</tr>
-<tr>
-<td>metaTypeName</td>
-<td>No</td>
-<td><code>metatype.xml</code></td>
-<td>The name of the descriptor file to create. This file is always located inside the <code>OSGI-INF/metatype</code> folder in the <code>destdir</code>.</td>
-</tr>
-<tr>
-<td>generateAccessors</td>
-<td>No</td>
-<td><code>true</code></td>
-<td>If this switch is turned on, the bind and unbind methods for unary references are automatically generated by the plugin.</td>
-</tr>
-<tr>
-<td>annotationTagProviders</td>
-<td>No</td>
-<td>--</td>
-<td>List of fully qualified class names providing more Annotation Tag Providers. As of version 1.4.0 of the SCR Annotations library this configuration element is optional if the SCR Annotations library comes with a proper SPI setup (see <a href="/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html">Extending SCR Annotations</a>)</td>
-</tr>
-<tr>
-<td>specVersion</td>
-<td>No</td>
-<td>Auto-Detected</td>
-<td>The plugin will generate a descriptor for the Declarative Service version (either 1.0 or 1.1). If no value is specified, the plugin will detect the version and only use 1.1 if features from this version are used.</td>
-</tr>
-<tr>
-<td>strictMode</td>
-<td>No</td>
-<td>false</td>
-<td>If set to true, a warning will be considered as an error and the build will fail with warnings generated by this task.</td>
-</tr>
-<tr>
-<td>parseJavadoc</td>
-<td>No</td>
-<td>true</td>
-<td>If set to true, javadoc based annotations will be processed.</td>
-</tr>
-<tr>
-<td>processAnnotations</td>
-<td>No</td>
-<td>true</td>
-<td>If set to true, SCR annotations will be processed</td>
-</tr>
-</tbody>
-</table>
+<p>Like the standard <code>javac</code> Ant Task, the SCR Ant Task defines an implicit fileset which defines the source files to be scanned for Java 5 Annotations or JavaDoc Tags. In addition to the child elements available to Ant Fileset as defined for <a href="http://ant.apache.org/manual/dirtasks.html#directorybasedtasks">directory-based tasks</a> the following task attributes are supported:</p>
+<hr />
+<p><strong><code>scrdir</code></strong>  <br />
+<em>Required</em>: Yes  <br />
+<em>Default</em> --  <br />
+The root directory of the implicitly defined fileset denoting the files to consider for annotation and/or JavaDoc tag processing.</p>
+<hr />
+<p><strong><code>destdir</code></strong>  <br />
+<em>Required</em>: Yes  <br />
+<em>Default</em>: --  <br />
+The name of the directory where the descriptor files are generated into. This is also used as the directory where the compiled classes from the <code>srcdir</code> may be located. This directory is actually added as another element to the classpath as defined by <code>classpath</code> and <code>classpathRef</code>.</p>
+<hr />
+<p><strong><code>classpath</code></strong>  <br />
+<em>Required</em>: No   <br />
+<em>Default:</em>  --  <br />
+The class path used to load classes from to analyse for the descriptor file generation. Generally this will be the same class path as the one used to compile the sources.</p>
+<hr />
+<p><strong><code>classpathRef</code></strong>  <br />
+<em>Required</em>: No  <br />
+<em>Default</em>: --  <br />
+A reference to a class path used to load classes from to analyse for the descriptor file generation. Generally this will be the same class path as the one used to compile the sources.</p>
+<hr />
+<p><strong><code>finalName</code></strong>  <br />
+<em>Required</em>: No  <br />
+<em>Default</em>: <code>serviceComponents.xml</code>  <br />
+The name of the descriptor file to create. This file is always located inside the <code>OSGI-INF</code> folder in the <code>destdir</code>.</p>
+<hr />
+<p><strong><code>metaTypeName</code></strong>   <br />
+<em>Required</em>:  No  <br />
+<em>Default</em>:  <code>metatype.xml</code>  <br />
+The name of the descriptor file to create. This file is always located inside the <code>OSGI-INF/metatype</code> folder in the <code>destdir</code>.</p>
+<hr />
+<p><strong><code>generateAccessors</code></strong>  <br />
+<em>Required</em>:  No  <br />
+<em>Default</em>: <code>true</code>  <br />
+If this switch is turned on, the bind and unbind methods for unary references are automatically generated by the plugin.</p>
+<hr />
+<p><strong><code>annotationTagProviders</code></strong>  <br />
+<em>Required</em>:  No  <br />
+<em>Default</em>:  --  <br />
+List of fully qualified class names providing more Annotation Tag Providers. As of version 1.4.0 of the SCR Annotations library this configuration element is optional if the SCR Annotations library comes with a proper SPI setup (see <a href="/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html">Extending SCR Annotations</a>)</p>
+<hr />
+<p><strong><code>specVersion</code></strong>  <br />
+<em>Required</em>:  No  <br />
+<em>Default</em>: Auto-Detected  <br />
+The plugin will generate a descriptor for the Declarative Service version (e.g. 1.0, 1.1, or 1.2). If no value is specified, the plugin will detect the version and only use 1.1 if features from this version are used.</p>
+<hr />
+<p><strong><code>strictMode</code></strong>  <br />
+<em>Required</em>:  No  <br />
+<em>Default</em>:  <code>false</code>  <br />
+If set to true, a warning will be considered as an error and the build will fail with warnings generated by this task.</p>
+<hr />
+<p><strong><code>parseJavadoc</code></strong>  <br />
+<em>Required</em>: No  <br />
+<em>Default</em>: <code>true</code>  <br />
+If set to true, JavaDoc based annotations will be processed.</p>
+<hr />
+<p><strong><code>processAnnotations</code></strong>  <br />
+<em>Required</em>: No  <br />
+<em>Default</em>: <code>true</code>  <br />
+If set to true, SCR annotations will be processed</p>
+<hr />
 <p>The <code>scr</code> task must be provided with the same class path as was used to compile the sources. The classes in the class path are used by the task to be able to load compiled classes (mostly for Java 5 annotation processing) and any base classes, which may be extended. The easiest way to share the class path is to define a class path property and refer to it with the <code>classpathref</code> attribute of the <code>scr</code> task.</p>
 <h2 id="using-javadoc-tags">Using JavaDoc Tags</h2>
 <p>JavaDoc tags are supported natively by the SCR Ant Task. No further configuration and/or libraries are needed.</p>
@@ -193,9 +167,9 @@
   <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">&quot;init&quot;</span><span class="nt">&gt;</span>
     <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;src&quot;</span> <span class="na">value=</span><span class="s">&quot;src/main/java&quot;</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;classes&quot;</span> <span class="na">value=</span><span class="s">&quot;target/classes&quot;</span> <span class="nt">/&gt;</span>
-    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;m2Repo&quot;</span> <span class="na">value=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">user</span><span class="o">.</span><span class="n">home</span><span class="cp">}</span><span class="s">/.m2/repository&quot;</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;property</span> <span class="na">name=</span><span class="s">&quot;m2Repo&quot;</span> <span class="na">value=</span><span class="s">&quot;${user.home}/.m2/repository&quot;</span> <span class="nt">/&gt;</span>
     <span class="nt">&lt;path</span> <span class="na">id=</span><span class="s">&quot;dependencies&quot;</span><span class="nt">&gt;</span>
-      <span class="nt">&lt;fileset</span> <span class="na">dir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">m2Repo</span><span class="cp">}</span><span class="s">&quot;</span><span class="nt">&gt;</span>
+      <span class="nt">&lt;fileset</span> <span class="na">dir=</span><span class="s">&quot;${m2Repo}&quot;</span><span class="nt">&gt;</span>
         <span class="nt">&lt;include</span> <span class="na">name=</span><span class="s">&quot;javax/jcr/jcr/1.0/jcr-1.0.jar&quot;</span> <span class="nt">/&gt;</span>
         <span class="nt">&lt;include</span> <span class="na">name=</span><span class="s">&quot;org/apache/sling/org.apache.sling.jcr.api/2.0.6/org.apache.sling.jcr.api-2.0.6.jar&quot;</span> <span class="nt">/&gt;</span>
         <span class="nt">&lt;include</span> <span class="na">name=</span><span class="s">&quot;org/apache/felix/org.apache.felix.webconsole/3.0.0/org.apache.felix.webconsole-3.0.0.jar&quot;</span> <span class="nt">/&gt;</span>
@@ -206,12 +180,12 @@
   <span class="nt">&lt;/target&gt;</span>
 
   <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">&quot;compile&quot;</span> <span class="na">depends=</span><span class="s">&quot;init&quot;</span><span class="nt">&gt;</span>
-      <span class="nt">&lt;mkdir</span> <span class="na">dir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">classes</span><span class="cp">}</span><span class="s">&quot;</span> <span class="nt">/&gt;</span>
-      <span class="nt">&lt;javac</span> <span class="na">srcdir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">src</span><span class="cp">}</span><span class="s">&quot;</span> <span class="na">destdir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">classes</span><span class="cp">}</span><span class="s">&quot;</span> <span class="na">classpathref=</span><span class="s">&quot;dependencies&quot;</span> <span class="nt">/&gt;</span>
+      <span class="nt">&lt;mkdir</span> <span class="na">dir=</span><span class="s">&quot;${classes}&quot;</span> <span class="nt">/&gt;</span>
+      <span class="nt">&lt;javac</span> <span class="na">srcdir=</span><span class="s">&quot;${src}&quot;</span> <span class="na">destdir=</span><span class="s">&quot;${classes}&quot;</span> <span class="na">classpathref=</span><span class="s">&quot;dependencies&quot;</span> <span class="nt">/&gt;</span>
   <span class="nt">&lt;/target&gt;</span>
 
   <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">&quot;scr&quot;</span> <span class="na">depends=</span><span class="s">&quot;compile&quot;</span><span class="nt">&gt;</span>
-    <span class="nt">&lt;scr</span> <span class="na">srcdir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">src</span><span class="cp">}</span><span class="s">&quot;</span> <span class="na">destdir=</span><span class="s">&quot;</span><span class="cp">${</span><span class="n">classes</span><span class="cp">}</span><span class="s">&quot;</span> <span class="na">classpathref=</span><span class="s">&quot;dependencies&quot;</span> <span class="nt">/&gt;</span>
+    <span class="nt">&lt;scr</span> <span class="na">srcdir=</span><span class="s">&quot;${src}&quot;</span> <span class="na">destdir=</span><span class="s">&quot;${classes}&quot;</span> <span class="na">classpathref=</span><span class="s">&quot;dependencies&quot;</span> <span class="nt">/&gt;</span>
   <span class="nt">&lt;/target&gt;</span>
 
   <span class="nt">&lt;target</span> <span class="na">name=</span><span class="s">&quot;clean&quot;</span><span class="nt">&gt;</span>
@@ -221,7 +195,7 @@
 <span class="nt">&lt;/project&gt;</span>
 </pre></div>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1438983 by fmeschbe on Sat, 26 Jan 2013 22:54:42 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project

Modified: websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html
==============================================================================
--- websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html (original)
+++ websites/staging/felix/trunk/content/documentation/subprojects/apache-felix-maven-scr-plugin/extending-scr-annotations.html Sat Jan 26 22:55:12 2013
@@ -67,42 +67,53 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/extending-scr-annotations.html" target="felix_cwiki">/site/extending-scr-annotations.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
       <h1>Extending SCR Annotations</h1>
-      <p><em>Note:</em> This page documents functionality available with the SCR Generator 1.0.0 release providing the declaration file generation mechanism for the Maven SCR Plugin 1.6.0 (and newer) and the SCR Ant Task 1.0.0 (and newer).</p>
-<p>The SCR Annotations library has been updated in version 1.4.0 to comply with the rules described here. As such the this library may be used as basis to learn more about providing pluggbale Java 5 annotations for the Maven SCR Plugin and SCR Ant Task. The source code for the SCR Annotations library is available from the Apache Felix SVN repository at <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations">annotations</a>.</p>
+      <p><strong>Note:</strong> This page documents functionality available with the SCR Generator 1.0.0 release providing the declaration file generation mechanism for the Maven SCR Plugin 1.6.0 (and newer) and the SCR Ant Task 1.0.0 (and newer).</p>
+<p>The SCR Annotations library has been updated in version 1.4.0 to comply
+with the rules described here. As such this library may be used as basis
+to learn more about providing pluggbale Java 5 annotations for the Maven
+SCR Plugin and SCR Ant Task. The source code for the SCR Annotations
+library is available from the Apache Felix SVN repository at
+<a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations">annotations</a>.</p>
 <p>This page outlines the required steps to implement your own extended Java 5 annotations:</p>
 <ol>
 <li>Define the Annotations</li>
 <li>Define an <code>AnnotationTagProvider</code></li>
 <li>Register the <code>AnnotationsTagProvider</code></li>
 </ol>
-<p>It is interesting to note, that the SCR Annotations 1.4.0 library providing the default and Sling Java 5 tags for the SCR Generator by itself is already implemented according to the rules outlined herein. This means, that actually the SCR Generator does not have any built-in annotations but only provides the framework to allow for the definition of Java 5 Annotations.</p>
+<p>It is interesting to note, that the SCR Annotations 1.4.0 library providing
+the default and Sling Java 5 tags for the SCR Generator by itself is
+already implemented according to the rules outlined herein. This means,
+that actually the SCR Generator does not have any built-in annotations but
+only provides the framework to allow for the definition of Java 5 Annotations.</p>
 <h2 id="define-the-annotations">Define the Annotations</h2>
 <p>To start with you will define Java 5 Annotations to suit your application needs. The <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scr/annotations/sling"><code>org.apache.felix.scr.annotations.sling</code></a> package provides three sample annotations:</p>
 <ul>
-<li><code>SlingServlet</code> -- used to declare a <code>javax.servlet.Servlet</code> service component with the appropriate service registration properties to configure the service as an Apache Sling Servlet.</li>
-<li><code>SlingFilter</code> -- used to declare a <code>javax.servlet.Filter</code> service component with the appropriate service registration properties to configure the service as a Filter used by the Apache Sling Main Servlet.</li>
-<li><code>SlingFilterScope</code> -- helper annotation to define the <code>filter.scope</code> service registration property for Filters defined with the <code>SlingFilter</code> annotation.</li>
+<li><a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scr/annotations/sling/SlingServlet.java"><code>SlingServlet</code></a> -- used to declare a <code>javax.servlet.Servlet</code> service
+component with the appropriate service registration properties to configure
+the service as an Apache Sling Servlet.</li>
+<li><a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scr/annotations/sling/SlingFilter.java"><code>SlingFilter</code></a> -- used to declare a <code>javax.servlet.Filter</code> service
+component with the appropriate service registration properties to configure
+the service as a Filter used by the Apache Sling Main Servlet.</li>
+<li><a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scr/annotations/sling/SlingFilterScope.java"><code>SlingFilterScope</code></a> -- helper annotation to define the <code>filter.scope</code>
+service registration property for Filters defined with the <code>SlingFilter</code>
+annotation.</li>
 </ul>
-<p>These annotations will be used by the application programmer to annotate his/her classes for use with Declarative Services.</p>
-<p>It is suggested to maintain the Anntoations in their own package.</p>
-<h2 id="define-an-annotationtagprovider">Define an <code>AnnotationTagProvider</code></h2>
-<p>The <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AnnotationTagProvider.java"><code>AnnotationTagProvider</code></a> interface defines the interface of a helper class which is used to convert Java 5 Annotation data into internal data structures to be then used as the basis for the generation of the descriptor files.</p>
-<p>Implementations of this interface are fed with the annotations and are expected to return a list of objects representing the actual information to be processed into the descriptor files. If a processor does not understand a particular annotations an empty list is just returned.</p>
-<p>The objects returned by the <code>AnnotationTagProvider</code> must implement the <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/JavaTag.java"><code>JavaTag</code></a> interface. To ease the implementation the [<code>AbstractTag</code>|http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/tags/annotation/AbstractTag.java] may be used as a base class.</p>
-<p>The <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/tags/annotations/sling"><code>org.apache.felix.scrplugin.tags.annotation.sling</code></a> package contains the <code>AnnotationTagProvider</code> supporting Sling Annotations mentioned above as well as corresponding <code>JavaTag</code> implementations (mostly extending from <code>AbstractTag</code>).</p>
-<h2 id="register-the-annotationstagprovider">Register the <code>AnnotationsTagProvider</code></h2>
-<p>To finally make the <code>AnnotationTagProvider</code> implementations available to the SCR Generator (and thus the Maven SCR Plugin and/or SCR Ant Task) the fully qualified class names of these implementations must be listed in an <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/resources/META-INF/services/org.apache.felix.scrplugin.tags.annotation.AnnotationTagProvider"><code>META-INF/services/org.apache.felix.scrplugin.tags.annotation.AnnotationTagProvider</code></a> file.</p>
+<p>These annotations will be used to annotate classes for use with Declarative Services.</p>
+<p>It is suggested to maintain the annotations in a separate package or even
+in a separate module that your projects may depend upon.</p>
+<h2 id="define-an-annotationprocessor">Define an <code>AnnotationProcessor</code></h2>
+<p>The <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/annotations/AnnotationProcessor.java"><code>AnnotationProcessor</code></a> interface defines the interface of a helper class which is used to convert Java 5 Annotation data into internal data structures to be then used as the basis for the generation of the descriptor files.</p>
+<p>Implementations of this interface are provided with the <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/annotations/ScannedClass.java"><code>ScannedClass</code></a> instances and are expected to augment the provided <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/generator/src/main/java/org/apache/felix/scrplugin/description/ClassDescription.java">ClassDescription</a>.</p>
+<p>The <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/java/org/apache/felix/scrplugin/processing/SlingAnnotationProcessor.java"><code>SlingAnnotationProcessor</code></a> class implements the <code>AnnotationProcessor</code>to handle the Sling annotations described above.</p>
+<h2 id="register-the-annotationprocessor">Register the <code>AnnotationProcessor</code></h2>
+<p>To finally make the <code>AnnotationProcessor</code> implementations available to the SCR Generator (and thus the Maven SCR Plugin and/or SCR Ant Task) the fully qualified class names of these implementations must be listed in an <a href="http://svn.apache.org/repos/asf/felix/trunk/scrplugin/annotations/src/main/resources/META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor"><code>META-INF/services/org.apache.felix.scrplugin.annotations.AnnotationProcessor</code></a> file
+in the library providing the annotations.</p>
 <p>The classes listed in this file will automatically be picked up by the SCR Generator from the library placed on the build class path and thus enable support for the respective annotations.</p>
 <p>Again, refer to the actual implementation in the SCR Annotations library referred to above.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1422427 by fmeschbe on Sun, 16 Dec 2012 00:36:51 +0000
+        Rev. 1438983 by fmeschbe on Sat, 26 Jan 2013 22:54:42 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project