Author: buildbot
Date: Thu Apr 30 14:06:59 2015
New Revision: 949730

Log:
Staging update by buildbot for sling

Modified:
    websites/staging/sling/trunk/content/   (props changed)
    
websites/staging/sling/trunk/content/documentation/development/slingstart.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Apr 30 14:06:59 2015
@@ -1 +1 @@
-1676989
+1676994

Modified: 
websites/staging/sling/trunk/content/documentation/development/slingstart.html
==============================================================================
--- 
websites/staging/sling/trunk/content/documentation/development/slingstart.html 
(original)
+++ 
websites/staging/sling/trunk/content/documentation/development/slingstart.html 
Thu Apr 30 14:06:59 2015
@@ -226,9 +226,47 @@ Each run mode is associated with a set o
 </pre></div>
 
 
-<p>Notice that this model only supports string properties. Therefore the 
service consuming the configuration needs to be able to adapt a string value to 
the correct type.</p>
+<p>Notice that this definition only supports string properties. Therefore the 
service consuming the configuration needs to be able to adapt a string value to 
the correct type.</p>
+<h2 id="slingstart-and-slingfeature-projects">Slingstart and Slingfeature 
projects</h2>
+<p>The slingstart Maven plugin introduces two new packaging types:</p>
+<ul>
+<li>slingstart : This type requires a model at src/main/provisioning. It reads 
all text files in that directory and merges them in alphabetical order. The 
resulting artifact is a runnable jar. The assembled model is also attached to 
the project artifacts.</li>
+<li>slingfeature : This type requires a model at src/main/provisioning. It 
reads all text files in that directory and merges them in alphabetical order 
and creates a merged model which is the final artifact of this project.</li>
+</ul>
+<p>A model can reference other slingstart or slingfeature artifacts. When such 
an artifact is reference, the type needs to be specified, for example:</p>
+<p>[artifacts]
+       org.apache.sling/org.apache.sling.launchpad/8-SNAPSHOT/slingstart
+       
org.apache.sling/org.apache.sling.launchpad.test-bundles/0.0.1-SNAPSHOT/slingfeature</p>
+<p>The resulting model is a merged model, starting with the dependencies and 
then merging in the current model.</p>
+<h3 id="model-merging">Model Merging</h3>
+<p>Two models are merged feature by feature - each feature is treated as a 
separate unit. Within a feature each run mode is treated separately as well. 
Within a run mode a model can overwrite definitions from the base model. For 
example, it can define a different configuration or a different version and/or 
start level for an artifact.
+In addition, it can also remove artifacts and configurations. For this the 
special runmode :remove needs to be used together with all run modes the 
artifact or configuration is currently in.</p>
+<p>Let's look at an example base model</p>
+<p>[artifacts]
+       my/special/artifact/1.0.0
+       commons/library/1.0.0</p>
+<p>[artifacts runModes=test]
+       another/one/2.1.0</p>
+<p>Now, another model wants to use the above model as it's base but:</p>
+<ul>
+<li>Change the version of the commons library to 1.1.0 and move it to a 
different start level.</li>
+<li>Remove the "special artifact"</li>
+<li>Remove the "another one"</li>
+</ul>
+<p>The changing model would mention the above as one artifact and in addition 
have:
+    [artifacts startLevel=5]
+        commons/library/1.1.0</p>
+<div class="codehilite"><pre><span class="k">[artifacts 
runModes=:remove]</span>
+    <span class="err">my/special/artifact/0.0.0</span>
+
+<span class="k">[artifacts runModes=:remove,test]</span>
+    <span class="err">another/one/0.0.0</span>
+</pre></div>
+
+
+<p>Note that the version for removal does not play a role, it's not compared 
for an exact match. Configurations can be removed in the same way by just 
specifying their PID in the :remove run mode.</p>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; 
text-align: right;">
-        Rev. 1674837 by cziegeler on Mon, 20 Apr 2015 13:08:02 +0000
+        Rev. 1676994 by cziegeler on Thu, 30 Apr 2015 14:06:52 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache 
Sling project


Reply via email to