You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bu...@apache.org on 2015/09/22 12:23:33 UTC

svn commit: r966334 [5/11] - in /websites/staging/sling/trunk/content: ./ documentation/ documentation/bundles/ documentation/bundles/scripting/ documentation/development/ documentation/getting-started/ documentation/legacy/ documentation/the-sling-eng...

Modified: websites/staging/sling/trunk/content/documentation/development/getting-and-building-sling.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/getting-and-building-sling.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/getting-and-building-sling.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Getting and Building Sling</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,14 +101,25 @@
       
       
       <h1>Getting and Building Sling</h1>
-      <p>A quick guide for getting the Sling source, then building and running the resulting Sling instance; either without or with Eclipse.</p>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>A quick guide for getting the Sling source, then building and running the resulting Sling instance; either without or with Eclipse.</p>
 <p>Note that you don't <em>have</em> to build Sling yourself, if you don't need the bleeding-edge stuff you can get prebuilt 
 binaries from the <a href="/downloads.cgi">Downloads</a> page. But those, especially the launchpad runnable jar, are not released often
 and can be outdated. In case of doubt, build it yourself as shown below or ask on the Sling users mailing list.</p>
 <p>A full build of Sling takes 5-10 minutes on a recent computer once your local Maven repository is up to date. The first build 
 may take much longer than that if you start with an empty local Maven repository, as Maven will then download its plugins and 
 all the required dependencies.</p>
-<h2 id="tldr-short-form-build-run-instructions">tl:dr - Short form build + run instructions</h2>
+<h2 id="tldr-short-form-build-run-instructions">tl:dr - Short form build + run instructions<a class="headerlink" href="#tldr-short-form-build-run-instructions" title="Permanent link">&para;</a></h2>
 <p>If you already have the required svn (or Git, see below) client, JDK and Maven installed, here's the short form recipe:</p>
 <div class="codehilite"><pre>$ <span class="n">svn</span> <span class="n">co</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">svn</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">repos</span><span class="o">/</span><span class="n">asf</span><span class="o">/</span><span class="n">sling</span><span class="o">/</span><span class="n">trunk</span> <span class="n">sling</span>
 $ <span class="n">cd</span> <span class="n">sling</span>
@@ -111,7 +133,7 @@ $ <span class="n">java</span> $<span cla
 
 
 <p>With this, Sling should be running at http://localhost:8080 with remote debugging active as per the $DBG variable.      </p>
-<h2 id="prerequisites">Prerequisites</h2>
+<h2 id="prerequisites">Prerequisites<a class="headerlink" href="#prerequisites" title="Permanent link">&para;</a></h2>
 <p>Before you begin, you need to have the following tools installed on your system:</p>
 <ul>
 <li>Java 7 or higher</li>
@@ -123,9 +145,9 @@ $ <span class="n">java</span> $<span cla
 <li>M2Eclipse plugin for Eclipse (sonatype) -&gt; <a href="http://m2eclipse.sonatype.org/installing-m2eclipse.html">instructions</a></li>
 <li><a href="http://www.polarion.com/products/svn/subversive.php">Subversive plugin</a> or <a href="http://subclipse.tigris.org">Subclipse-plugin</a> for Eclipse</li>
 </ul>
-<h2 id="environment-setup">Environment Setup</h2>
+<h2 id="environment-setup">Environment Setup<a class="headerlink" href="#environment-setup" title="Permanent link">&para;</a></h2>
 <p>The full build process requires quite a lot of resources, so you may run into limits. The following hints should show you what to setup before building Sling.</p>
-<h3 id="java-heap-space">Java Heap Space</h3>
+<h3 id="java-heap-space">Java Heap Space<a class="headerlink" href="#java-heap-space" title="Permanent link">&para;</a></h3>
 <ul>
 <li><em>Problem</em> - Build aborts with reports of <code>java.lang.OutOfMemoryError: Java heap space</code>. Alternatively the build may randomly fail during the integration tests.</li>
 <li><em>Platforms</em> - This happens on all platforms</li>
@@ -142,7 +164,7 @@ $ <span class="n">java</span> $<span cla
 
 
 <p>For more information see <a href="https://issues.apache.org/jira/browse/SLING-443">SLING-443</a> and <a href="https://issues.apache.org/jira/browse/SLING-1782">SLING-1782</a>.</p>
-<h3 id="environment-variable-space">Environment Variable Space</h3>
+<h3 id="environment-variable-space">Environment Variable Space<a class="headerlink" href="#environment-variable-space" title="Permanent link">&para;</a></h3>
 <ul>
 <li>
 <p><em>Problem</em> - Build aborts when trying to launch the integration tests with the message</p>
@@ -155,10 +177,10 @@ $ <span class="n">java</span> $<span cla
 <li><em>Platform</em> - OpenSolaris</li>
 <li><em>Fix</em> - If this issue persists you will need to check your system requirements and configuration with regard to swap, before taking action - if necessary.</li>
 </ul>
-<h2 id="configuring-maven">Configuring Maven</h2>
+<h2 id="configuring-maven">Configuring Maven<a class="headerlink" href="#configuring-maven" title="Permanent link">&para;</a></h2>
 <p>See <a href="/documentation/development/maventipsandtricks.html">MavenTipsAndTricks</a>.</p>
-<h2 id="getting-the-sling-source">Getting the Sling Source</h2>
-<h3 id="from-the-apache-sling-subversion-repository">From the Apache Sling Subversion repository</h3>
+<h2 id="getting-the-sling-source">Getting the Sling Source<a class="headerlink" href="#getting-the-sling-source" title="Permanent link">&para;</a></h2>
+<h3 id="from-the-apache-sling-subversion-repository">From the Apache Sling Subversion repository<a class="headerlink" href="#from-the-apache-sling-subversion-repository" title="Permanent link">&para;</a></h3>
 <ol>
 <li>
 <p>Install an svn client if needed.</p>
@@ -168,7 +190,7 @@ $ <span class="n">java</span> $<span cla
 <p>$ svn checkout http://svn.apache.org/repos/asf/sling/trunk sling</p>
 </li>
 </ol>
-<h3 id="from-the-sling-github-mirror">From the Sling GitHub mirror</h3>
+<h3 id="from-the-sling-github-mirror">From the Sling GitHub mirror<a class="headerlink" href="#from-the-sling-github-mirror" title="Permanent link">&para;</a></h3>
 <ol>
 <li>
 <p>Install a Git client if needed</p>
@@ -178,11 +200,11 @@ $ <span class="n">java</span> $<span cla
 <p>$ git clone https://github.com/apache/sling.git</p>
 </li>
 </ol>
-<h3 id="with-eclipse-subversive-or-subclipse">With Eclipse Subversive or Subclipse</h3>
+<h3 id="with-eclipse-subversive-or-subclipse">With Eclipse Subversive or Subclipse<a class="headerlink" href="#with-eclipse-subversive-or-subclipse" title="Permanent link">&para;</a></h3>
 <p>First note how simple the above SVN instructions are...but if you <em>really</em> want to do this, read on.</p>
 <p>If you use the Subversive plugin make sure you have installed the "Subversive Integration for M2Eclipse Project" which can be found under the following Eclipse update site: <a href="http://community.polarion.com/projects/subversive/download/integrations/update-site/">http://community.polarion.com/projects/subversive/download/integrations/update-site/</a>.</p>
 <p>Also, make sure that you have installed either the "Maven SCM handler for Subclipse" or the "Maven SCM handler for Subversive".</p>
-<h4 id="create-a-new-workspace">Create a new workspace</h4>
+<h4 id="create-a-new-workspace">Create a new workspace<a class="headerlink" href="#create-a-new-workspace" title="Permanent link">&para;</a></h4>
 <p>It's best to create a new workspace for the sling project:</p>
 <ol>
 <li>List item</li>
@@ -194,7 +216,7 @@ $ <span class="n">java</span> $<span cla
 <li>Expand the "Deprecated and restricted API" and change "Forbidden references (access rules)" from "Error" to "Warning"</li>
 <li>Click OK</li>
 </ol>
-<h4 id="checkout-the-sling-source">Checkout the Sling source</h4>
+<h4 id="checkout-the-sling-source">Checkout the Sling source<a class="headerlink" href="#checkout-the-sling-source" title="Permanent link">&para;</a></h4>
 <ol>
 <li>Menu: File-&gt;Import</li>
 <li>In the Import wizard select Maven-&gt;"Check out Maven Projects from SCM"</li>
@@ -209,8 +231,8 @@ $ <span class="n">java</span> $<span cla
 <li>A couple of changes will be displayed</li>
 <li>Click OK</li>
 </ol>
-<h2 id="building-sling">Building Sling</h2>
-<h3 id="with-the-maven-command-line-tool">With the Maven command line tool</h3>
+<h2 id="building-sling">Building Sling<a class="headerlink" href="#building-sling" title="Permanent link">&para;</a></h2>
+<h3 id="with-the-maven-command-line-tool">With the Maven command line tool<a class="headerlink" href="#with-the-maven-command-line-tool" title="Permanent link">&para;</a></h3>
 <ol>
 <li>
 <p>Enter the directory, then do a full build and local install (below are unix/linux commands, slightly different under windows)</p>
@@ -239,7 +261,7 @@ When starting Sling inside the `launchpa
 </ul>
 <p>After all messages have been printed you should be able to open the Sling Management Console by pointing your web browser at <a href="http://localhost:8080/system/console">http://localhost:8080/system/console</a>. You will be prompted for a user name and password. Enter <code>admin</code> for both the user name and the password (this may be set on the <em>Configuration</em> page later). From this console, you can manage the installed bundles, modify configuration objects, dump a configuration status and see some system information.</p>
 <p>To stop Sling, just hit <code>Ctrl-C</code> in the console or click the <em>Stop</em> button on the <em>System Information</em> page of the Sling Management Console.</p>
-<h3 id="with-m2eclipse">With M2Eclipse</h3>
+<h3 id="with-m2eclipse">With M2Eclipse<a class="headerlink" href="#with-m2eclipse" title="Permanent link">&para;</a></h3>
 <ol>
 <li>Make sure you're in the Java perspective (Menu: Window-&gt;Open Perspective)</li>
 <li>Menu: Run-&gt;Run Configurations...</li>
@@ -252,7 +274,7 @@ When starting Sling inside the `launchpa
 <li>Click Apply</li>
 <li>Click Run</li>
 </ol>
-<h3 id="alternative-setup-in-eclipse-without-m2eclipse-plugin">Alternative setup in Eclipse without M2Eclipse plugin</h3>
+<h3 id="alternative-setup-in-eclipse-without-m2eclipse-plugin">Alternative setup in Eclipse without M2Eclipse plugin<a class="headerlink" href="#alternative-setup-in-eclipse-without-m2eclipse-plugin" title="Permanent link">&para;</a></h3>
 <p>In the case that you do not want to use the M2Eclipse plugin there's another setup that lets you have the automatic build turned on:</p>
 <ol>
 <li>Checkout the whole sling trunk (with subversive or the subclipse plugin) from SVN to a single project</li>
@@ -262,8 +284,8 @@ When starting Sling inside the `launchpa
 </ol>
 <p>If you use "mvn clean install" to build Sling be sure you have set MAVEN_OPTS to "-Xmx384m -XX:PermSize=256m" otherwise you will probably get OutOfmemory errors.</p>
 <p>Congratulations ! You should now have a running Sling instance, that you can start playing around with.</p>
-<h2 id="further-tips-and-tricks">Further Tips and Tricks</h2>
-<h3 id="debug-sling-in-eclipse">Debug Sling in Eclipse</h3>
+<h2 id="further-tips-and-tricks">Further Tips and Tricks<a class="headerlink" href="#further-tips-and-tricks" title="Permanent link">&para;</a></h2>
+<h3 id="debug-sling-in-eclipse">Debug Sling in Eclipse<a class="headerlink" href="#debug-sling-in-eclipse" title="Permanent link">&para;</a></h3>
 <p>You can use remote debugging to debug Sling in Eclipse, here's a little How-To</p>
 <ol>
 <li>
@@ -285,7 +307,7 @@ When starting Sling inside the `launchpa
 <li>Click "Debug"</li>
 </ol>
 <p>Now you should be able to set breakpoints, evaluate properties, and so on as usual.</p>
-<h3 id="debug-maven-tests-in-eclipse">Debug Maven Tests in Eclipse</h3>
+<h3 id="debug-maven-tests-in-eclipse">Debug Maven Tests in Eclipse<a class="headerlink" href="#debug-maven-tests-in-eclipse" title="Permanent link">&para;</a></h3>
 <p>In the same way as you can debug the sling app, you are also able to debug a maven test. Just run the maven tests like this</p>
 <div class="codehilite"><pre><span class="n">mvn</span> <span class="o">-</span><span class="n">Dmaven</span><span class="p">.</span><span class="n">surefire</span><span class="p">.</span><span class="n">debug</span> <span class="n">test</span>
 </pre></div>
@@ -293,7 +315,7 @@ When starting Sling inside the `launchpa
 
 <p>The tests will automatically pause and await a remote debugger on port 5005. You can then attach to the running tests using Eclipse. You can setup a "Remote Java Application" launch configuration via the menu command "Run" &gt; "Open Debug Dialog..." (see above).
 For more information on this see the <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html">Maven Surefire Docu</a>.</p>
-<h3 id="simple-way-to-develop-new-bundle-in-eclipse-for-sling">Simple way to develop new bundle in Eclipse for Sling</h3>
+<h3 id="simple-way-to-develop-new-bundle-in-eclipse-for-sling">Simple way to develop new bundle in Eclipse for Sling<a class="headerlink" href="#simple-way-to-develop-new-bundle-in-eclipse-for-sling" title="Permanent link">&para;</a></h3>
 <p>The easiest way that I found is to create a new folder in the existing Eclipse workspace. After that you can follow these steps:</p>
 <ul>
 <li>Start by copying and adapting an existing Sling pom.xml (eg. the pom.xml from the espblog sample)</li>

Modified: websites/staging/sling/trunk/content/documentation/development/ide-tooling.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/ide-tooling.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/ide-tooling.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Sling IDE tooling for Eclipse User Guide</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,30 +101,41 @@
       
       
       <h1>Sling IDE tooling for Eclipse User Guide</h1>
-      <h2 id="installation">Installation</h2>
-<h3 id="prerequisites">Prerequisites</h3>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link">&para;</a></h2>
+<h3 id="prerequisites">Prerequisites<a class="headerlink" href="#prerequisites" title="Permanent link">&para;</a></h3>
 <p>The Sling IDE tooling is known to work on Eclipse versions starting with Kepler. There is a hard dependency on the faceted project framework, which is included in the 'Eclipse IDE for Java EE Developers' package. If you're running a different package, you can always install it from the main Eclipse update site.</p>
 <p>There is an optional feature which relies on m2eclipse. For now it only provides project creation wizards, so if you don't use Maven you don't have to install it.</p>
-<h3 id="update-site-installation">Update site installation</h3>
+<h3 id="update-site-installation">Update site installation<a class="headerlink" href="#update-site-installation" title="Permanent link">&para;</a></h3>
 <p>The links to the latest update site, including a permanent URL which stays up to date, are listed on the <a href="/downloads.cgi#ide-tooling">Download page, IDE tooling section</a>. There are also zipped update sites available from download for the latest version.</p>
-<h3 id="building-from-source">Building from source</h3>
+<h3 id="building-from-source">Building from source<a class="headerlink" href="#building-from-source" title="Permanent link">&para;</a></h3>
 <p>The update sites are provided as a convenience for users that do not wish to build the project themselves. Building the project only requires a recent Maven installation. The project can be checked out, either <a href="https://svn.apache.org/repos/asf/sling/trunk/tooling/ide/">from trunk for the latest development version</a> or <a href="https://svn.apache.org/repos/asf/sling/tags/">from a tag for released versions</a>, where the tags names have the format sling-ide-tooling-$VERSION. Once you have obtained the source code, it is enough to run</p>
 <div class="codehilite"><pre><span class="n">mvn</span> <span class="n">package</span>
 </pre></div>
 
 
 <p>and you will find a p2 update site in p2update/target/repository .</p>
-<h2 id="overall-concepts">Overall concepts</h2>
+<h2 id="overall-concepts">Overall concepts<a class="headerlink" href="#overall-concepts" title="Permanent link">&para;</a></h2>
 <p>The Sling IDE tooling is centered around the Server and Module concepts. A Server is an instance of a Sling launchpad - or derivatives such as Adobe CQ - on which you deploy your content. A Module is a collection of resources grouped into a single Eclipse project which can be deployed onto one or multiple Servers.</p>
 <p>The tooling supports content and bundle modules. Content modules typically hold Sling scripts - like JSP and ESP files, client-side resources like CSS and JSS file, but also arbitrary repository content. Content modules support support setting JCR properties for nodes other than nodes and files, based on the FileVault serialization format. You can read mode about FileVault at the <a href="https://jackrabbit.apache.org/filevault/">Apache Jackkrabit FileVault docs</a>. Bundle modules represent a single OSGi bundle.</p>
-<h3 id="server-definition">Server definition</h3>
+<h3 id="server-definition">Server definition<a class="headerlink" href="#server-definition" title="Permanent link">&para;</a></h3>
 <p>To create a new Sling launchpad server you will need to start a Sling launchpad outside of Eclipse. We do not yet support starting Sling Launchpad instances from Eclipse.</p>
 <p>To kick off, create a new Sling Server using the File -&gt; New -&gt; Other... menu entry.</p>
 <p><img alt="New Server" src="ide-tooling/new-server.png" /></p>
 <p>In the resulting wizard, select the Sling Server (External) entry and enter the host name.</p>
 <p><img alt="New Server Step 2" src="ide-tooling/new-server-2.png" /></p>
 <p>Once that is done, press finish.</p>
-<h2 id="server-configuration">Server configuration</h2>
+<h2 id="server-configuration">Server configuration<a class="headerlink" href="#server-configuration" title="Permanent link">&para;</a></h2>
 <p>The server will appear in the servers view. You can double-click on it to review the settings which were automatically provided.</p>
 <p><img alt="Servers View" src="ide-tooling/servers-view.png" /></p>
 <p>There are a couple of important settings in the server definition page:</p>
@@ -125,14 +147,14 @@
 <p>For working with OSGi bundles, a special support bundle must be installed to support fast bundle redeployment. If it is not present, you can install it using the hyperlink from the Install section.</p>
 <p><img alt="Servers Definition" src="ide-tooling/server-definition.png" /></p>
 <p>You can now connect to the server.</p>
-<h2 id="content-sync">Content sync</h2>
+<h2 id="content-sync">Content sync<a class="headerlink" href="#content-sync" title="Permanent link">&para;</a></h2>
 <p>Content projects are required to have at least</p>
 <ul>
 <li>a jcr_root directory, which contains the serialized content of the repository</li>
 <li>a META-INF/vault/filter.xml file, which contains the workspace filter definition</li>
 </ul>
 <p>All changes performed in the local workspace are synchronized to the repository, given that they are included in the workspace filter definition.</p>
-<h3 id="creating-a-new-content-project">Creating a new content project</h3>
+<h3 id="creating-a-new-content-project">Creating a new content project<a class="headerlink" href="#creating-a-new-content-project" title="Permanent link">&para;</a></h3>
 <p>Creating a new Sling content project is easily done by using the new Sling Content Project Wizard. To kick off, start by selected File -&gt; New -&gt; Project and select Sling Content Project under the Sling category.</p>
 <p><img alt="New content project step 1" src="ide-tooling/new-content-project-step-1.png" /></p>
 <p>You will then be asked to name the project and select its location.</p>
@@ -141,28 +163,28 @@
 <p><img alt="New content project step 3" src="ide-tooling/new-content-project-step-3.png" /></p>
 <p>Once you press finish, the project will be created and deployed to the server if needed.</p>
 <p>Note that deploying a project on the server publishes all the resources from the project if the server is started. If the server is stopped, you need to manually publish the changes after startup.</p>
-<h3 id="converting-existing-projects">Converting existing projects</h3>
+<h3 id="converting-existing-projects">Converting existing projects<a class="headerlink" href="#converting-existing-projects" title="Permanent link">&para;</a></h3>
 <p>To mark a project as being a Sling content module, click it in the Project Explorer and Select Configure -&gt; Convert to Sling Content Project... . A dialog will pop up and will ask you to confirm the inferred location of the jcr_root directory. You can also change this from the project properties, the Sling page.</p>
-<h3 id="content-navigator">Content navigator</h3>
+<h3 id="content-navigator">Content navigator<a class="headerlink" href="#content-navigator" title="Permanent link">&para;</a></h3>
 <p>In the Project Explorer view there is an additional 'jcr_root' contribution to the project. It is denoted by a folder icon with a small web overlay. This contribution provides a logical view over the repository content, taking into account JCR metadata. As such, .content.xml files will be folded into the corresponding node.</p>
 <p><img alt="Content navigator" src="ide-tooling/content-navigator.png" /></p>
 <p>Node properties can be edited in a distinct JCR properties view.</p>
 <p><img alt="JCR properties" src="ide-tooling/jcr-properties.png" /></p>
-<h3 id="filterxml-workspace-filter-definition">filter.xml - workspace filter definition</h3>
+<h3 id="filterxml-workspace-filter-definition">filter.xml - workspace filter definition<a class="headerlink" href="#filterxml-workspace-filter-definition" title="Permanent link">&para;</a></h3>
 <p>A content project does not synchronize all its contents to the workspace. Instead, it looks for a filter.xml file which defines which content is included in synchronization operations. More information about the filter.xml file format and semantics can be found at <a href="https://jackrabbit.apache.org/filevault/filter.html">FileVault docs - Workspace Filter</a>.</p>
-<h3 id="deploying-projects-on-the-server">Deploying projects on the server</h3>
+<h3 id="deploying-projects-on-the-server">Deploying projects on the server<a class="headerlink" href="#deploying-projects-on-the-server" title="Permanent link">&para;</a></h3>
 <p>To deploy a project on the server, open the Servers view and use the Add and Remove... dialog to add one or more modules.</p>
 <p><img alt="Add and Remove projects from server" src="ide-tooling/add-remove-projects.png" /></p>
 <p>After content projects are deployed, each change will cause the changed resources to be updated in the repository.</p>
-<h3 id="manual-content-sync">Manual content sync</h3>
+<h3 id="manual-content-sync">Manual content sync<a class="headerlink" href="#manual-content-sync" title="Permanent link">&para;</a></h3>
 <p>It is possible to manually import/export content from/to the repository. The precondition is that the content project must be associated with a started Sling launchpad server. The actions are available on the project root, or on any child resource under the jcr_root folder.</p>
 <p>The export wizard is available under the Sling -&gt; Export Content ... action.</p>
 <p><img alt="Repository export" src="ide-tooling/repository-export.png" /></p>
 <p>The import wizard is available under the Sling -&gt; Import Content ... action.</p>
 <p><img alt="Repository import" src="ide-tooling/repository-import.png" /></p>
-<h2 id="bundle-sync">Bundle sync</h2>
+<h2 id="bundle-sync">Bundle sync<a class="headerlink" href="#bundle-sync" title="Permanent link">&para;</a></h2>
 <p>The only requirement for bundle projects is that they are Java projects which generate an exploded OSGi bundle in their output directory. That requires at least a valid OSGi Manifest located in META-INF/MANIFEST.MF, but typically one of more Java classes. Other auxiliary files, such as Declarative Service descriptors, must also be placed under the project's output directory.</p>
-<h3 id="creating-a-new-bundle-project">Creating a new bundle project</h3>
+<h3 id="creating-a-new-bundle-project">Creating a new bundle project<a class="headerlink" href="#creating-a-new-bundle-project" title="Permanent link">&para;</a></h3>
 <p>Creating a new Sling bundle project is easily done by using the new Sling Bundle Project Wizard. This wizard is only available when the Maven-based integration is installed. To kick off, start by selected File -&gt; New -&gt; Project and select Sling Bundle Project under the Sling category.</p>
 <p><img alt="New bundle project step 1" src="ide-tooling/new-bundle-project-step-1.png" /></p>
 <p>The next page allows you to select the archetype to use. It's recommended to select the latest version of the archetype.</p>
@@ -172,19 +194,19 @@
 <p>Finally, you can select whether to add the project to an existing server, create a new one, or leave it undeployed.</p>
 <p><img alt="New bundle project step 4" src="ide-tooling/new-bundle-project-step-4.png" /></p>
 <p>Once you press finish, the project will be created and deployed to the server if needed.</p>
-<h3 id="converting-existing-projects_1">Converting existing projects</h3>
+<h3 id="converting-existing-projects_1">Converting existing projects<a class="headerlink" href="#converting-existing-projects_1" title="Permanent link">&para;</a></h3>
 <p>To mark a project as being a Sling bundle module, right click it in the Project Explorer and Select Configure -&gt; Convert to Sling Bundle Project... . A dialog will appear with all the candidate Sling bundle project from the workspace so that you can quickly select multiple projects.</p>
-<h3 id="deploying-projects-on-the-server_1">Deploying projects on the server</h3>
+<h3 id="deploying-projects-on-the-server_1">Deploying projects on the server<a class="headerlink" href="#deploying-projects-on-the-server_1" title="Permanent link">&para;</a></h3>
 <p>To deploy a project on the server, open the Servers view and use the Add and Remove... dialog to add one or more modules.</p>
 <p><img alt="Add and Remove projects from server" src="ide-tooling/add-remove-projects.png" /></p>
 <p>After OSGi bundle projects are deployed, each change will cause the bundle to be redeployed on the server.</p>
-<h2 id="troubleshooting">Troubleshooting</h2>
-<h3 id="gathering-debug-information">Gathering debug information</h3>
+<h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshooting" title="Permanent link">&para;</a></h2>
+<h3 id="gathering-debug-information">Gathering debug information<a class="headerlink" href="#gathering-debug-information" title="Permanent link">&para;</a></h3>
 <p>All operations that are performed on the Sling launchpad are logged in the Sling console. To view these operations, open the Eclipse console view and select Open Console -&gt; Sling Console.</p>
 <p><img alt="Sling Console" src="ide-tooling/sling-console.png" /></p>
 <p>Additional information can be obtained by enabling the Eclipse platform tracing facility. To do so, open the Eclipse preferences and navigate to General -&gt; Tracing. Make sure that 'Enable tracing' is checked and all options under 'Sling IDE Tooling' are enabled.</p>
 <p><img alt="Tracing" src="ide-tooling/tracing.png" /></p>
-<h3 id="why-do-i-get-an-errror-about-no-ds-descriptor-found-at">Why do I get an errror about "No DS descriptor found at..."?</h3>
+<h3 id="why-do-i-get-an-errror-about-no-ds-descriptor-found-at">Why do I get an errror about "No DS descriptor found at..."?<a class="headerlink" href="#why-do-i-get-an-errror-about-no-ds-descriptor-found-at" title="Permanent link">&para;</a></h3>
 <p><img alt="Missing SCR descriptors" src="ide-tooling/missing-scr-descriptor.png" /></p>
 <p>Bundle deployment assumes that the OSGi bundle is packaged into the project's output directory. This includes:</p>
 <ul>
@@ -194,7 +216,7 @@
 <li>Declarative Services descriptors</li>
 </ul>
 <p>One often-occuring situation is that a Maven project using the maven-scr-plugin generates the descriptors outside of target/classes, typically in target/scr-plugin-generated. To fix this, make sure that you're using the maven-scr-plugin 1.15.0 or newer and that you have not set a custom outputDirectory.</p>
-<h2 id="known-issues">Known issues</h2>
+<h2 id="known-issues">Known issues<a class="headerlink" href="#known-issues" title="Permanent link">&para;</a></h2>
 <p>The content sync implementation tries to mimic the FileVault semantics as closely as possible. However, it is possible that some more exotic content structures will not be handled properly. Some of the problems we're are of are:</p>
 <ul>
 <li><a href="https://issues.apache.org/jira/browse/SLING-3591">SLING-3591 - Unable to delete all nodes of a full coverage aggregate</a> . The workaround is to manually delete the child nodes .</li>

Modified: websites/staging/sling/trunk/content/documentation/development/issue-tracker.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/issue-tracker.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/issue-tracker.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Issue Tracker</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,12 +101,23 @@
       
       
       <h1>Issue Tracker</h1>
-      <p>Apache Sling uses Jira for tracking bug reports and requests for improvements, new features, and other changes.</p>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Apache Sling uses Jira for tracking bug reports and requests for improvements, new features, and other changes.</p>
 <p>The issue tracker is available at <a href="https://issues.apache.org/jira/browse/SLING">https://issues.apache.org/jira/browse/SLING</a> and is readable by everyone. A Jira account is needed to create new issues and to comment on existing issues. Use the <a href="https://issues.apache.org/jira/secure/Signup!default.jspa">registration form</a> to request an account if you do not already have one.</p>
 <p>See below for guidelines on creating and managing issues.</p>
-<h2 id="issue-type">Issue type</h2>
+<h2 id="issue-type">Issue type<a class="headerlink" href="#issue-type" title="Permanent link">&para;</a></h2>
 <p>When creating a new issue, select the issue type based as follows:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Issue type</th>
@@ -125,11 +147,11 @@
 </tr>
 </tbody>
 </table>
-<h2 id="summary">Summary</h2>
+<h2 id="summary">Summary<a class="headerlink" href="#summary" title="Permanent link">&para;</a></h2>
 <p>The issue summary should be a short and clear statement that indicates the scope of the issue. You are probably being too verbose if you exceed the length of the text field. Use the Environment and Description fields to provide more detailed information.</p>
-<h2 id="issue-priority">Issue priority</h2>
+<h2 id="issue-priority">Issue priority<a class="headerlink" href="#issue-priority" title="Permanent link">&para;</a></h2>
 <p>Issue priority should be set according to the following:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Issue priority</th>
@@ -153,9 +175,9 @@
 </tr>
 </tbody>
 </table>
-<h2 id="issue-states">Issue States</h2>
+<h2 id="issue-states">Issue States<a class="headerlink" href="#issue-states" title="Permanent link">&para;</a></h2>
 <p>Sling issues can transition through a number of states while being processed:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>State</th>
@@ -209,7 +231,7 @@
 <p>Users generally create issues and provide feedback while work on the issue is in progress. When the developer thinks the issue has been resolved, he resolves the issue. At this point, the user may test the resolution and reopen the issue if it has not really be solved. Otherwise the user may just acknowledge the fix.</p>
 <p>Developers transition the issue through the workflow while working on it. When done with the issue, they mark the issue resolved with the appropriate resolution and ask the reporting user to confirm.</p>
 <p>Issues are closed once the project against which it has been reported has been released. Issues once closed cannot be opened again. Rather new issues should be created against the new release to have broken implementations fixed or extended.</p>
-<h2 id="patches">Patches</h2>
+<h2 id="patches">Patches<a class="headerlink" href="#patches" title="Permanent link">&para;</a></h2>
 <p>When reporting a bug, requesting a feature or propose an improvement, it is a good thing to attach a patch to the issue. This may speed up issue processing and helps you being recognized as a good community member leading to closer involvement with Sling.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1585104 by olli on Sat, 5 Apr 2014 15:29:17 +0000

Modified: websites/staging/sling/trunk/content/documentation/development/jcr-mock.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/jcr-mock.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/jcr-mock.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - JCR Mocks</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,7 +101,18 @@
       
       
       <h1>JCR Mocks</h1>
-      <p>Mock implementation of selected JCR APIs for easier testing. It stores all data in-memory in a HashMap to ensure instantly creating and destroying of the JCR repository.</p>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Mock implementation of selected JCR APIs for easier testing. It stores all data in-memory in a HashMap to ensure instantly creating and destroying of the JCR repository.</p>
 <div class="toc">
 <ul>
 <li><a href="#maven-dependency">Maven Dependency</a></li>
@@ -102,7 +124,7 @@
 </li>
 </ul>
 </div>
-<h2 id="maven-dependency">Maven Dependency</h2>
+<h2 id="maven-dependency">Maven Dependency<a class="headerlink" href="#maven-dependency" title="Permanent link">&para;</a></h2>
 <table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
 2
 3
@@ -114,7 +136,7 @@
 </td></tr></table>
 
 <p>See latest version on the <a href="/downloads.cgi">downloads page</a>.</p>
-<h2 id="implemented-mock-features">Implemented mock features</h2>
+<h2 id="implemented-mock-features">Implemented mock features<a class="headerlink" href="#implemented-mock-features" title="Permanent link">&para;</a></h2>
 <p>The mock implementation supports:</p>
 <ul>
 <li>Reading and writing all data (primitive values, arrays, binary data) via the JCR API</li>
@@ -132,8 +154,8 @@
 <li>Exporting/Importing data via document and system views not supported </li>
 <li>Workspace management methods not supported</li>
 </ul>
-<h2 id="usage">Usage</h2>
-<h3 id="getting-jcr-mock-objects">Getting JCR mock objects</h3>
+<h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent link">&para;</a></h2>
+<h3 id="getting-jcr-mock-objects">Getting JCR mock objects<a class="headerlink" href="#getting-jcr-mock-objects" title="Permanent link">&para;</a></h3>
 <p>The factory class <code>MockJcr</code> allows to instantiate the different mock implementations.</p>
 <p>Example:</p>
 <table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
@@ -149,7 +171,7 @@
 </td></tr></table>
 
 <p>The repository is empty and contains only the root node. You can use the JCR API to read or write content.</p>
-<h3 id="mocking-queries">Mocking queries</h3>
+<h3 id="mocking-queries">Mocking queries<a class="headerlink" href="#mocking-queries" title="Permanent link">&para;</a></h3>
 <p>If you want to test code that contains a JCR query you can simulate a query execution and set the result to return during setting up your unit test.</p>
 <p>Example:</p>
 <table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1

Modified: websites/staging/sling/trunk/content/documentation/development/jspc.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/jspc.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/jspc.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Maven JspC Plugin</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -95,8 +106,19 @@
       
       
       <h1>Maven JspC Plugin</h1>
-      <p>The Maven JspC Plugin provides a single goal <code>jspc</code> which is by default executed in the <code>compile</code> phase of the Maven build process. This goal takes all JSP source files from a configured location (<code>src/main/scripts</code> by default) and compiles them into classes in a configurable location (<code>target/jspc-plugin-generated</code> by default). In addition, for each compiled JSP a Declarative Services descriptor is generated and written to a descriptor file (<code>OSGI-INF/jspServiceComponents.xml</code> in the output location). This descriptor will then be read by the Service Component Runtime of the deployment OSGi framework to register all contained JSP as <code>javax.servlet.Servlet</code> services.</p>
-<h2 id="use">Use</h2>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>The Maven JspC Plugin provides a single goal <code>jspc</code> which is by default executed in the <code>compile</code> phase of the Maven build process. This goal takes all JSP source files from a configured location (<code>src/main/scripts</code> by default) and compiles them into classes in a configurable location (<code>target/jspc-plugin-generated</code> by default). In addition, for each compiled JSP a Declarative Services descriptor is generated and written to a descriptor file (<code>OSGI-INF/jspServiceComponents.xml</code> in the output location). This descriptor will then be read by the Service Component Runtime of the deployment OSGi framework to register all contained JSP as <code>javax.servlet.Servlet</code> services.</p>
+<h2 id="use">Use<a class="headerlink" href="#use" title="Permanent link">&para;</a></h2>
 <p>To use the Maven JspC Plugin define the following elements in the <code>&lt;plugins&gt;</code> section of the POM:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;</span>
 <span class="nt">&lt;project&gt;</span>
@@ -126,9 +148,9 @@
 </pre></div>
 
 
-<h2 id="configuration">Configuration</h2>
+<h2 id="configuration">Configuration<a class="headerlink" href="#configuration" title="Permanent link">&para;</a></h2>
 <p>The Maven JspC Plugin may be configured in the <code>&lt;configuration&gt;</code> element using the following properties:</p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Parameter</th>
@@ -164,7 +186,7 @@
 </tr>
 </tbody>
 </table>
-<h2 id="notes">Notes</h2>
+<h2 id="notes">Notes<a class="headerlink" href="#notes" title="Permanent link">&para;</a></h2>
 <p>The generated JSP classes as well as the Declarative Services descriptor are automatically copied to the generated bundle jar file if the Maven Bundle Plugin (from the Apache Felix) project is used to build the project package.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1499238 by fmeschbe on Wed, 3 Jul 2013 07:39:54 +0000

Modified: websites/staging/sling/trunk/content/documentation/development/jsr-305.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/jsr-305.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/jsr-305.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Leveraging JSR-305 null annotations to prevent NullPointerExceptions</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,8 +101,19 @@
       
       
       <h1>Leveraging JSR-305 null annotations to prevent NullPointerExceptions</h1>
-      <p>The Sling API forces developers to sometimes check for <code>null</code> return values. Most prominently this is the case for <a href="https://sling.apache.org/apidocs/sling7/org/apache/sling/api/adapter/Adaptable.html#adaptTo-java.lang.Class-"><code>Adaptable.adaptTo</code></a> and <a href="https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#getResource-java.lang.String-"><code>ResourceResolver.getResource</code></a>. This is often forgotten, which may lead to <code>NullPointerException</code>s. Sling API 2.9.0 introduced the JSR-305 annotations (<a href="https://issues.apache.org/jira/browse/SLING-4377">SLING-4377</a>) which allow tools to check automatically for missing null checks in the code.</p>
-<h2 id="annotations">Annotations</h2>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>The Sling API forces developers to sometimes check for <code>null</code> return values. Most prominently this is the case for <a href="https://sling.apache.org/apidocs/sling7/org/apache/sling/api/adapter/Adaptable.html#adaptTo-java.lang.Class-"><code>Adaptable.adaptTo</code></a> and <a href="https://sling.apache.org/apidocs/sling7/org/apache/sling/api/resource/ResourceResolver.html#getResource-java.lang.String-"><code>ResourceResolver.getResource</code></a>. This is often forgotten, which may lead to <code>NullPointerException</code>s. Sling API 2.9.0 introduced the JSR-305 annotations (<a href="https://issues.apache.org/jira/browse/SLING-4377">SLING-4377</a>) which allow tools to check automatically for missing null checks in the code.</p>
+<h2 id="annotations">Annotations<a class="headerlink" href="#annotations" title="Permanent link">&para;</a></h2>
 <p>The annotations used within Sling are based on the <a href="https://jcp.org/en/jsr/detail?id=305">JSR-305</a> which is dormant since 2012. Nevertheless those annotations are understood by most of the tools and used by other Apache Projects like Apache Oak <a href="https://issues.apache.org/jira/browse/OAK-37">OAK-37</a>.</p>
 <p>Due to the fact that Eclipse and FindBugs are interpreting annotations differently (<a href="https://sourceforge.net/p/findbugs/bugs/1355/">Findbugs-1355</a>). Sling only uses the following two different annotations which are supported by both tools:</p>
 <ol>
@@ -99,7 +121,7 @@
 <li><code>javax.annotation.Nonnull</code></li>
 </ol>
 <p>Annotations which support setting the default null semantics of return values and or parameters on a package level cannot be leveraged for that reason.</p>
-<h2 id="use-with-eclipse">Use With Eclipse</h2>
+<h2 id="use-with-eclipse">Use With Eclipse<a class="headerlink" href="#use-with-eclipse" title="Permanent link">&para;</a></h2>
 <p>Eclipse since Juno supports <a href="http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm&amp;anchor=null_analysis">null analysis based on any annotations</a>. Those need to be enabled in 
 <em>Preferences-&gt;Java-&gt;Compiler-&gt;Errors/Warnings</em> via <strong>Enable annoation-based null analysis</strong>.
 Also the annotations need to be configured. For Sling those are</p>
@@ -110,7 +132,7 @@ Also the annotations need to be configur
 <p><img alt="Eclipse Settings for Null analysis" src="eclipse-settings-null-analysis.png" /></p>
 <p>Unfortunately Eclipse cannot infer information about fields which are for sure either null or not null (reasoning is available in <a href="https://wiki.eclipse.org/JDT_Core/Null_Analysis/Options#Risks_of_flow_analysis_for_fields">https://wiki.eclipse.org/JDT_Core/Null_Analysis/Options#Risks_of_flow_analysis_for_fields</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=247564">Eclipse Bug 247564</a>). This also affecs constants (static final fields) or enums which are known to be non null, but still Eclipse will emit a warning like <em>The expression of type 'String' needs unchecked conversion to conform to '@Nonnull String'</em>. The only known workaround is to disable the <strong>"Unchecked conversion from non-annotated type to @NonNull type"</strong> or to annotate also the field with <code>@Nonnull</code>.</p>
 <p>More information are available at <a href="https://wiki.eclipse.org/JDT_Core/Null_Analysis">https://wiki.eclipse.org/JDT_Core/Null_Analysis</a>.</p>
-<h2 id="use-with-findbugs">Use With Findbugs</h2>
+<h2 id="use-with-findbugs">Use With Findbugs<a class="headerlink" href="#use-with-findbugs" title="Permanent link">&para;</a></h2>
 <p>Findbugs evaluates the used annotations by default. You can restrict the rules to only the ones which check for those annotations, which are</p>
 <ul>
 <li>InconsistentAnnotations</li>
@@ -120,7 +142,7 @@ Also the annotations need to be configur
 </ul>
 <p>A complete list of visitors class names in Findbugs can be found in the <a href="https://code.google.com/p/findbugs/source/browse/#git%2Ffindbugs%2Fsrc%2Fjava%2Fedu%2Fumd%2Fcs%2Ffindbugs%2Fdetect%253Fstate%253Dclosed">sourcecode</a>. The according <a href="http://findbugs.sourceforge.net/bugDescriptions.html">bug patterns</a> have an identifier (in parenthesis) for which you can search in the according Java classes, in case you want to extend the checks.</p>
 <p>Findbugs is also integrated in <a href="http://docs.sonarqube.org/display/SONAR/Findbugs+Plugin">Sonarqube</a>.</p>
-<h2 id="use-with-maven">Use With Maven</h2>
+<h2 id="use-with-maven">Use With Maven<a class="headerlink" href="#use-with-maven" title="Permanent link">&para;</a></h2>
 <p>You can also let Maven automatically run Findbugs to execute those checks via the <strong>findbugs-maven-plugin</strong>. For that just add the following plugin to your <code>pom.xml</code></p>
 <div class="codehilite"><pre><span class="nt">&lt;plugin&gt;</span>
   <span class="nt">&lt;groupId&gt;</span>org.codehaus.mojo<span class="nt">&lt;/groupId&gt;</span>

Modified: websites/staging/sling/trunk/content/documentation/development/logging.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/logging.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/logging.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Logging</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">

Modified: websites/staging/sling/trunk/content/documentation/development/maven-archetypes.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/maven-archetypes.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/maven-archetypes.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Maven Archetypes</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -95,18 +106,29 @@
       
       
       <h1>Maven Archetypes</h1>
-      <p>Sling includes four Maven archetypes to quick start development. See <a href="http://maven.apache.org/archetype/maven-archetype-plugin/">http://maven.apache.org/archetype/maven-archetype-plugin/</a> for general information on using Maven archetypes. The Maven groupId for all Sling archetypes is <code>org.apache.sling</code>.</p>
-<h3 id="sling-launchpad-standalone-archetype">sling-launchpad-standalone-archetype</h3>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Sling includes four Maven archetypes to quick start development. See <a href="http://maven.apache.org/archetype/maven-archetype-plugin/">http://maven.apache.org/archetype/maven-archetype-plugin/</a> for general information on using Maven archetypes. The Maven groupId for all Sling archetypes is <code>org.apache.sling</code>.</p>
+<h3 id="sling-launchpad-standalone-archetype">sling-launchpad-standalone-archetype<a class="headerlink" href="#sling-launchpad-standalone-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build a standalone Launchpad JAR file using the default bundle set. For demonstration purposes, the generated project includes an extra bundle list file (<code>src/main/bundles/list</code>) which includes Apache Felix FileInstall as well as a test configuration file (<code>src/test/config/sling.properties</code>).</p>
-<h3 id="sling-launchpad-webapp-archetype">sling-launchpad-webapp-archetype</h3>
+<h3 id="sling-launchpad-webapp-archetype">sling-launchpad-webapp-archetype<a class="headerlink" href="#sling-launchpad-webapp-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build a Launchpad WAR file using the default bundle set. For demonstration purposes, the generated project includes an extra bundle list file (<code>src/main/bundles/list</code>) which includes Apache Felix FileInstall as well as a test configuration file (<code>src/test/config/sling.properties</code>).</p>
-<h3 id="sling-intitial-content-archetype">sling-intitial-content-archetype</h3>
+<h3 id="sling-intitial-content-archetype">sling-intitial-content-archetype<a class="headerlink" href="#sling-intitial-content-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build an OSGi bundle that supports JCR NodeType registration (in <code>SLING-INF/nodetypes/nodetypes.cnd</code>) and initial content loading (in <code>SLING-INF/scripts</code> and <code>SLING-INF/content</code>).</p>
-<h3 id="sling-servlet-archetype">sling-servlet-archetype</h3>
+<h3 id="sling-servlet-archetype">sling-servlet-archetype<a class="headerlink" href="#sling-servlet-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build an OSGi bundle containing two Servlets registered with Sling, one registered by path and one registered by resource type.</p>
-<h3 id="sling-bundle-archetype">sling-bundle-archetype</h3>
+<h3 id="sling-bundle-archetype">sling-bundle-archetype<a class="headerlink" href="#sling-bundle-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build a basic OSGi bundle including support for the Felix SCR Annotations. It is pre-configured to install using the Felix Web Console when the profile <code>autoInstallBundle</code> is activated.</p>
-<h3 id="sling-jcrinstall-bundle-archetype">sling-jcrinstall-bundle-archetype</h3>
+<h3 id="sling-jcrinstall-bundle-archetype">sling-jcrinstall-bundle-archetype<a class="headerlink" href="#sling-jcrinstall-bundle-archetype" title="Permanent link">&para;</a></h3>
 <p>This archetype generates a Maven project which will build a basic OSGi bundle including support for the Felix SCR Annotations. It is pre-configured to install using a WebDAV PUT into the JCR when the profile <code>autoInstallBundle</code> is activated.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1499238 by fmeschbe on Wed, 3 Jul 2013 07:39:54 +0000

Modified: websites/staging/sling/trunk/content/documentation/development/maven-launchpad-plugin.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/maven-launchpad-plugin.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/maven-launchpad-plugin.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Maven Launchpad Plugin</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -95,7 +106,18 @@
       
       
       <h1>Maven Launchpad Plugin</h1>
-      <div class="note">
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<div class="note">
 This page is out of sync with the latest maven-launchpad-plugin features and settings. For now,
 refer to the source code and the launchpad/builder and launchpad/testing modules for more information.
 </div>
@@ -112,7 +134,7 @@ refer to the source code and the launchp
 <li><a href="http://svn.apache.org/repos/asf/sling/trunk/launchpad/testing/">org.apache.sling.launchpad.testing</a> - uses the application descriptor from <code>org.apache.sling.launchpad</code> and adds two bundles.</li>
 </ul>
 <p>Maven Launchpad Plugin provides the following goals: </p>
-<table>
+<table class="table">
 <thead>
 <tr>
 <th>Goals</th>
@@ -158,7 +180,7 @@ refer to the source code and the launchp
 </tr>
 </tbody>
 </table>
-<h3 id="general-configuration">General Configuration</h3>
+<h3 id="general-configuration">General Configuration<a class="headerlink" href="#general-configuration" title="Permanent link">&para;</a></h3>
 <p>In general, the bulk of the configuration of the Maven Launchpad Plugin is concerned with setting up the bundle list which all of the goals will use. This bundle list is created using the following steps:</p>
 <ol>
 <li>If <code>includeDefaultBundles</code> is <code>true</code> (the default), the default bundle list is loaded. By default, this is <code>org.apache.sling.launchpad:org.apache.sling.launchpad:RELEASE:xml:bundlelist</code>, but can be overridden by setting the <code>defaultBundleList</code> plugin parameter.</li>
@@ -169,13 +191,13 @@ refer to the source code and the launchp
 </ol>
 <p>When a bundle is added to the bundle list, if a bundle with the same groupId, artifactId, type, and classifier is already in the bundle list, the version of the existing bundle is modified. However, the start level of a bundle is never changed once that bundle is added to the bundle list.</p>
 <p>The plugin may also contribute bundles to (or remove bundles from) the bundle list as it sees fit.</p>
-<h3 id="framework-configuration">Framework Configuration</h3>
+<h3 id="framework-configuration">Framework Configuration<a class="headerlink" href="#framework-configuration" title="Permanent link">&para;</a></h3>
 <p>For the <code>run</code> and <code>start</code> goals, the plugin will look for a file named <code>src/test/config/sling.properties</code>. If this file is present, it will be filtered using standard Maven filtering and used to populate the OSGi framework properties. This can be used, for example, to specify a <code>repository.xml</code> file to be used during development:</p>
 <div class="codehilite"><pre>sling.repository.config.file.url=<span class="cp">${</span><span class="n">basedir</span><span class="cp">}</span>/src/test/config/repository.xml
 </pre></div>
 
 
-<h2 id="bundle-list-files">Bundle List Files</h2>
+<h2 id="bundle-list-files">Bundle List Files<a class="headerlink" href="#bundle-list-files" title="Permanent link">&para;</a></h2>
 <p>The bundle list file uses a simple XML syntax representing a list of bundles organized into start levels:</p>
 <div class="codehilite"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot;?&gt;</span>
 <span class="nt">&lt;bundles&gt;</span>
@@ -213,7 +235,7 @@ refer to the source code and the launchp
 
 <p>Within each <code>bundle</code> element, <code>type</code> and <code>classifier</code> are also supported.</p>
 <p>The Http Service support can not be configured using the bundle list, but only using the <code>jarWebSupport</code> parameter, since it is specific to whether the Sling Launchpad is built as a java application (in which case the Jetty-based Http Service is used) or a web application (in which case the Http Service bridge is used).</p>
-<h2 id="artifact-definition">Artifact Definition</h2>
+<h2 id="artifact-definition">Artifact Definition<a class="headerlink" href="#artifact-definition" title="Permanent link">&para;</a></h2>
 <p>The <code>defaultBundleList</code>, <code>jarWebSupport</code>, <code>additionalBundles</code>, and <code>bundleExclusions</code> parameters are configured with artifact definitions. This is done using a syntax similar to Maven dependency elements:</p>
 <div class="codehilite"><pre><span class="nt">&lt;configuration&gt;</span>
 ...
@@ -259,9 +281,9 @@ refer to the source code and the launchp
 
 
 <p>By default, bundles are added to start level 0. To change, this use the <code>startLevel</code> element within each additional bundle definition.</p>
-<h2 id="integration-testing">Integration Testing</h2>
+<h2 id="integration-testing">Integration Testing<a class="headerlink" href="#integration-testing" title="Permanent link">&para;</a></h2>
 <p>For integration testing examples, see <code>/samples/inplace-integration-test</code> and <code>launchpad/testing</code> in the Sling source tree.</p>
-<h2 id="bundle-list-rewriting">Bundle List Rewriting</h2>
+<h2 id="bundle-list-rewriting">Bundle List Rewriting<a class="headerlink" href="#bundle-list-rewriting" title="Permanent link">&para;</a></h2>
 <p>The Maven Launchpad Plugin supports the use of rules to rewrite the bundle list. These rules are executed by the <a href="http://www.jboss.org/drools">Drools</a> rule engine. Typically, this is used along with Maven profiles. For example, Sling's testing project includes a profile called <code>test-reactor-sling-bundles</code>. When activated, this profile runs a Drools rule file which scans the project list from the Maven reactor and modifies the version number for bundles which were contained within the reactor.</p>
 <p>In order for rules to interact with the Maven build, the following global variables are made available:</p>
 <ul>

Modified: websites/staging/sling/trunk/content/documentation/development/maven-usage.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/maven-usage.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/maven-usage.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - Maven Usage</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -90,8 +101,19 @@
       
       
       <h1>Maven Usage</h1>
-      <p>Apache Sling uses Maven as a build tool. This page documents some of the choices that we made when using Maven.</p>
-<h2 id="parent-pom">Parent POM</h2>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Apache Sling uses Maven as a build tool. This page documents some of the choices that we made when using Maven.</p>
+<h2 id="parent-pom">Parent POM<a class="headerlink" href="#parent-pom" title="Permanent link">&para;</a></h2>
 <p>We separate the reactor POM from the parent POM. While the reactor POM functions as a simple aggregator, the parent POM, currently located at <a href="http://svn.apache.org/repos/asf/sling/trunk/parent/pom.xml">parent/pom.xml</a>, holds the common build configuration for all modules.</p>
 <p>The reference to the parent POM is usually set to a released version since we don't deploy it as a SNAPSHOT during the build process. That reference must also contain an empty parentPath element, otherwise recent version of Maven will try to find it in the local filesystem, disregarding the version if the groupId and artifactId match. An example of how to reference the parent POM is</p>
 <table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
@@ -109,14 +131,14 @@
 </td></tr></table>
 
 <p>Where <code>$VERSION</code> is replaced by the latest parent POM version.</p>
-<h2 id="java-version">Java version</h2>
+<h2 id="java-version">Java version<a class="headerlink" href="#java-version" title="Permanent link">&para;</a></h2>
 <p>The version of Java targeted by a module can be declared by setting a property in the pom.xml named <code>sling.java.version</code>. Configuration inherited from the parent POM will ensure that all the plugins will be correctly configured, including</p>
 <ul>
 <li>maven-compiler-plugin: source and target arguments to use when compiling code</li>
 <li>animal-sniffer-maven-plugin: signatures to use when validating compliance with a given Java version</li>
 <li>maven-bundle-plugin: value of the Bundle-RequiredExecutionEnvironment header</li>
 </ul>
-<h2 id="dependency-management">Dependency management</h2>
+<h2 id="dependency-management">Dependency management<a class="headerlink" href="#dependency-management" title="Permanent link">&para;</a></h2>
 <p>See <a href="/documentation/development/dependency-management.html">Dependency Management</a></p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1678158 by rombert on Thu, 7 May 2015 10:33:32 +0000

Modified: websites/staging/sling/trunk/content/documentation/development/maventipsandtricks.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/maventipsandtricks.html (original)
+++ websites/staging/sling/trunk/content/documentation/development/maventipsandtricks.html Tue Sep 22 10:23:16 2015
@@ -18,11 +18,11 @@
     limitations under the License.
 -->
   <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
     <title>Apache Sling - MavenTipsAndTricks</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">
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
   </head>
   <body>
     <div class="title">
@@ -39,7 +39,18 @@
     </div>
     
     <div class="menu"> 
-      <p><strong><a href="/documentation.html">Documentation</a></strong> <br />
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p><strong><a href="/documentation.html">Documentation</a></strong> <br />
 <a href="/documentation/getting-started.html">Getting Started</a> <br />
 <a href="/documentation/the-sling-engine.html">The Sling Engine</a> <br />
 <a href="/documentation/development.html">Development</a> <br />
@@ -95,14 +106,25 @@
       
       
       <h1>MavenTipsAndTricks</h1>
-      <p>Here's our collection of tips and tricks for building Sling with <a href="http://maven.apache.org">Maven</a>.</p>
-<h1 id="maven-local-repository">Maven local repository</h1>
+      <style type="text/css">
+/* The following code is added by mdx_elementid.py
+   It was originally lifted from http://subversion.apache.org/style/site.css */
+/*
+ * Hide class="elementid-permalink", except when an enclosing heading
+ * has the :hover property.
+ */
+.headerlink, .elementid-permalink {
+  visibility: hidden;
+}
+h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
+<p>Here's our collection of tips and tricks for building Sling with <a href="http://maven.apache.org">Maven</a>.</p>
+<h1 id="maven-local-repository">Maven local repository<a class="headerlink" href="#maven-local-repository" title="Permanent link">&para;</a></h1>
 <p>The first time you run a Maven build, or when Maven needs additional build components, it downloads plugins and dependencies under its <em>local repository</em> folder on your computer. By default, this folder is named <em>.m2/repository</em> in your home directory.</p>
 <p>Maven uses this repository as a cache for artifacts that it might need for future builds, which means that the first Sling build usually takes much longer than usual, as Maven needs to download many tools and dependencies into its local repository while the build progresses.</p>
 <p>The build might fail if one of those downloads fails, in that case it might be worth retrying the build, to check if that was just a temporary connection problem, or if there's a more serious error.</p>
 <p>In some cases, the local Maven repository might get corrupted - if your build fails on a computer and works on another one, clearing the local repository before restarting the build might be worth trying.</p>
-<h1 id="maven-settings">Maven settings</h1>
-<h2 id="ignore-your-local-settings">Ignore your local settings</h2>
+<h1 id="maven-settings">Maven settings<a class="headerlink" href="#maven-settings" title="Permanent link">&para;</a></h1>
+<h2 id="ignore-your-local-settings">Ignore your local settings<a class="headerlink" href="#ignore-your-local-settings" title="Permanent link">&para;</a></h2>
 <p>To make sure you're getting the same results as we are when building Sling, it is recommend to ignore any local settings.</p>
 <p>On unixish platforms, using</p>
 <div class="codehilite"><pre><span class="n">mvn</span> <span class="o">-</span><span class="n">s</span> <span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">null</span> <span class="p">...</span>
@@ -114,25 +136,25 @@
 Does anyone have a similar command-line option that works under Windows?
 </div>
 
-<h1></h1>
-<h1 id="maven_opts">MAVEN_OPTS</h1>
+<h1 id="_1"><a class="headerlink" href="#_1" title="Permanent link">&para;</a></h1>
+<h1 id="maven_opts">MAVEN_OPTS<a class="headerlink" href="#maven_opts" title="Permanent link">&para;</a></h1>
 <p>The MAVEN_OPTS environment variable defines options for the JVM that executes Maven.</p>
 <p>Set it according to your platform, i.e. <code>export MAVEN*OPTS=...</code> on unixish systems or <code>set MAVEN*OPTS=...</code> on Windows.</p>
-<h2 id="increase-jvm-memory-if-needed">Increase JVM memory if needed</h2>
+<h2 id="increase-jvm-memory-if-needed">Increase JVM memory if needed<a class="headerlink" href="#increase-jvm-memory-if-needed" title="Permanent link">&para;</a></h2>
 <p>If getting an OutOfMemoryException when running mvn, try setting</p>
 <div class="codehilite"><pre><span class="n">MAVEN_OPTS</span><span class="p">=</span>&quot;<span class="o">-</span><span class="n">Xmx256M</span> <span class="o">-</span><span class="n">XX</span><span class="p">:</span><span class="n">MaxPermSize</span><span class="p">=</span>256<span class="n">m</span>&quot;
 </pre></div>
 
 
 <p>to allocate 256MB of RAM to Maven.</p>
-<h2 id="debugging-code-launched-by-maven">Debugging code launched by Maven</h2>
+<h2 id="debugging-code-launched-by-maven">Debugging code launched by Maven<a class="headerlink" href="#debugging-code-launched-by-maven" title="Permanent link">&para;</a></h2>
 <p>To run the Sling launchpad webapp in debug mode from Maven, for example, use something like</p>
 <div class="codehilite"><pre><span class="n">MAVEN_OPTS</span><span class="p">=</span>&quot;<span class="o">-</span><span class="n">agentlib</span><span class="p">:</span><span class="n">jdwp</span><span class="p">=</span><span class="n">transport</span><span class="p">=</span><span class="n">dt_socket</span><span class="p">,</span><span class="n">address</span><span class="p">=</span>30303<span class="p">,</span><span class="n">server</span><span class="p">=</span><span class="n">y</span><span class="p">,</span><span class="n">suspend</span><span class="p">=</span><span class="n">n</span>&quot;
 </pre></div>
 
 
 <p>And then connect to port 30303 with a remote JVM debugger (most IDEs do this).</p>
-<h2 id="avoid-spaces-in-maven-repository-and-workspace-paths">Avoid spaces in Maven repository and workspace paths</h2>
+<h2 id="avoid-spaces-in-maven-repository-and-workspace-paths">Avoid spaces in Maven repository and workspace paths<a class="headerlink" href="#avoid-spaces-in-maven-repository-and-workspace-paths" title="Permanent link">&para;</a></h2>
 <p>Some Maven plugins do not like spaces in paths. It is better to avoid putting your Maven repository, or your code, under paths like <em>Documents and Settings</em>, for example.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
         Rev. 1499238 by fmeschbe on Wed, 3 Jul 2013 07:39:54 +0000