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 2016/11/03 08:29:34 UTC

svn commit: r1000422 - in /websites/staging/sling/trunk/content: ./ documentation/development/ide-tooling.html documentation/development/ide-tooling/ide-tooling-incremental-build.html

Author: buildbot
Date: Thu Nov  3 08:29:33 2016
New Revision: 1000422

Log:
Staging update by buildbot for sling

Added:
    websites/staging/sling/trunk/content/documentation/development/ide-tooling/ide-tooling-incremental-build.html
Modified:
    websites/staging/sling/trunk/content/   (props changed)
    websites/staging/sling/trunk/content/documentation/development/ide-tooling.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Thu Nov  3 08:29:33 2016
@@ -1 +1 @@
-1767819
+1767833

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 Thu Nov  3 08:29:33 2016
@@ -150,7 +150,8 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="#debugging">Debugging</a></li>
 <li><a href="#troubleshooting">Troubleshooting</a><ul>
 <li><a href="#gathering-debug-information">Gathering debug information</a></li>
-<li><a href="#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></li>
+<li><a href="#why-do-i-get-an-error-about-no-ds-descriptor-found-at">Why do I get an error about "No DS descriptor found at..."?</a></li>
+<li><a href="#how-do-i-fix-the-error-missing-m2e-incremental-build-support-for-generating-the-bundle-manifest-component-descriptions-and-metatype-resources">How do I fix the error "Missing m2e incremental build support for generating the bundle manifest, component descriptions and metatype resources"?</a></li>
 </ul>
 </li>
 <li><a href="#known-issues">Known issues</a></li>
@@ -296,7 +297,7 @@ h2:hover > .headerlink, h3:hover > .head
 <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..."?<a class="headerlink" href="#why-do-i-get-an-errror-about-no-ds-descriptor-found-at" title="Permanent link">&para;</a></h3>
+<h3 id="why-do-i-get-an-error-about-no-ds-descriptor-found-at">Why do I get an error about "No DS descriptor found at..."?<a class="headerlink" href="#why-do-i-get-an-error-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>
@@ -306,6 +307,8 @@ h2:hover > .headerlink, h3:hover > .head
 <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>
+<h3 id="how-do-i-fix-the-error-missing-m2e-incremental-build-support-for-generating-the-bundle-manifest-component-descriptions-and-metatype-resources">How do I fix the error "Missing m2e incremental build support for generating the bundle manifest, component descriptions and metatype resources"?<a class="headerlink" href="#how-do-i-fix-the-error-missing-m2e-incremental-build-support-for-generating-the-bundle-manifest-component-descriptions-and-metatype-resources" title="Permanent link">&para;</a></h3>
+<p>For further information on how to fix and configure the according maven plugins look at <a href="/documentation/development/ide-tooling/ide-tooling-incremental-build.html">Incremental Builds in Sling IDE tooling for Eclipse</a>.</p>
 <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>
@@ -313,7 +316,7 @@ h2:hover > .headerlink, h3:hover > .head
 <li><a href="https://issues.apache.org/jira/browse/SLING-3644">SLING-3644 - Improve handling of binary properties outside nt:file file nodes</a> . Currently there is no workaround, but in practice this is not an often-encountered situation.</li>
 </ul>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1758970 by radu on Fri, 2 Sep 2016 15:07:59 +0000
+        Rev. 1767833 by kwin on Thu, 3 Nov 2016 08:29:17 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project

Added: websites/staging/sling/trunk/content/documentation/development/ide-tooling/ide-tooling-incremental-build.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/ide-tooling/ide-tooling-incremental-build.html (added)
+++ websites/staging/sling/trunk/content/documentation/development/ide-tooling/ide-tooling-incremental-build.html Thu Nov  3 08:29:33 2016
@@ -0,0 +1,157 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE- 2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+  <head>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <title>Apache Sling - Incremental Builds in Sling IDE tooling for Eclipse</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">
+  </head>
+  <body>
+    <div class="title">
+      <div class="logo">
+        <a href="//sling.apache.org/">
+          <img border="0" alt="Apache Sling" src="/res/logo.png">
+        </a>
+      </div>
+      <div class="header">
+        <a href="//www.apache.org/">
+          <img border="0" alt="Apache" src="/res/apache.png">
+        </a>
+      </div>
+    </div>
+    
+    <div class="menu"> 
+      <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 />
+<a href="/documentation/bundles.html">Bundles</a> <br />
+<a href="/documentation/tutorials-how-tos.html">Tutorials &amp; How-Tos</a> <br />
+<a href="/documentation/configuration.html">Configuration</a>   </p>
+<p><a href="http://s.apache.org/sling.wiki">Wiki</a> <br />
+<a href="http://s.apache.org/sling.faq">FAQ</a>   </p>
+<p><strong>API Docs</strong>  <br />
+<a href="/apidocs/sling8/index.html">Sling 8</a> <br />
+<a href="/apidocs/sling7/index.html">Sling 7</a> <br />
+<a href="/apidocs/sling6/index.html">Sling 6</a> <br />
+<a href="/apidocs/sling5/index.html">Sling 5</a> <br />
+<a href="/javadoc-io.html">Archive at javadoc.io</a>   </p>
+<p><strong>Project info</strong> <br />
+<a href="/downloads.cgi">Downloads</a> <br />
+<a href="http://www.apache.org/licenses/">License</a> <br />
+<a href="/contributing.html">Contributing</a> <br />
+<a href="/news.html">News</a> <br />
+<a href="/links.html">Links</a> <br />
+<a href="/project-information.html">Project Information</a> <br />
+<a href="https://issues.apache.org/jira/browse/SLING">Issue Tracker</a> <br />
+<a href="http://ci.apache.org/builders/sling-trunk">Build Server</a> <br />
+<a href="/project-information/security.html">Security</a>   </p>
+<p><strong>Source</strong> <br />
+<a href="http://svn.apache.org/viewvc/sling/trunk">Subversion</a> <br />
+<a href="git://git.apache.org/sling.git">Git</a> <br />
+<a href="https://github.com/apache/sling">Github Mirror</a>   </p>
+<p><strong>Sponsorship</strong> <br />
+<a href="http://www.apache.org/foundation/thanks.html">Thanks</a> <br />
+<a href="http://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a> <br />
+<a href="http://www.apache.org/foundation/buy_stuff.html">Buy Stuff</a>   </p>
+<p><strong><a href="/sitemap.html">Site Map</a></strong></p>
+<!-- no valid ads for now, we'll  reactivate this when needed
+<iframe 
+    src="http://www.apache.org/ads/button.html"
+    style="border-width:0; float: left" frameborder="0" 
+    scrolling="no"
+    width="135" 
+    height="135">
+</iframe>
+-->
+    </div>
+    
+    <div class="main">
+      <div class="breadcrump" style="font-size: 80%;">
+        <a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/development.html">Development</a>&nbsp;&raquo&nbsp;<a href="/documentation/development/ide-tooling.html">Sling IDE tooling for Eclipse User Guide</a>
+      </div>
+
+      
+      
+      <h1>Incremental Builds in Sling IDE tooling for Eclipse</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>
+<div class="toc">
+<ul>
+<li><a href="#overview">Overview</a></li>
+<li><a href="#manifest-generation">Manifest Generation</a><ul>
+<li><a href="#maven-bundle-plugin">maven-bundle-plugin</a><ul>
+<li><a href="#maven-bundle-plugin-prior-to-version-320">maven-bundle-plugin prior to version 3.2.0</a></li>
+<li><a href="#maven-bundle-plugin-since-version-320">maven-bundle-plugin since version 3.2.0</a></li>
+</ul>
+</li>
+<li><a href="#bnd-maven-plugin">bnd-maven-plugin</a></li>
+</ul>
+</li>
+<li><a href="#service-description-and-metatype-resources">Service Description and Metatype Resources</a></li>
+</ul>
+</div>
+<h2 id="overview">Overview<a class="headerlink" href="#overview" title="Permanent link">&para;</a></h2>
+<p>The Sling IDE Tooling relies on the <a href="https://wiki.eclipse.org/M2E_compatible_maven_plugins">m2e incremental build support</a> for the generation of the bundle's manifest, the component descriptions as well as the metatype resources (the latter being generated through OSGi 6 <a href="https://osgi.org/javadoc/r6/cmpn/org/osgi/service/component/annotations/package-summary.html">component annotations</a> and <a href="https://osgi.org/javadoc/r6/cmpn/org/osgi/service/metatype/annotations/package-summary.html">metatype annotations</a> or through <a href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html">Apache Felix SCR annotations</a>. That means whenever at least one java class is touched and the auto-build in Eclipse is enabled, the annotations on that class should be reevaluated which may lead to a modification of the bundle's manifest and/or generation/modification of service description XMLs and/or Metatype resource file
 s.
+Depending on which maven plugins you use you must adjust their configuration accordingly to properly support incremental builds.</p>
+<h2 id="manifest-generation">Manifest Generation<a class="headerlink" href="#manifest-generation" title="Permanent link">&para;</a></h2>
+<h3 id="maven-bundle-plugin">maven-bundle-plugin<a class="headerlink" href="#maven-bundle-plugin" title="Permanent link">&para;</a></h3>
+<p>The <a href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html">maven-bundle-plugin</a> is based on the <a href="http://bnd.bndtools.org/">bnd library</a>. It uses bnd to generate the bundle's manifest.</p>
+<h4 id="maven-bundle-plugin-prior-to-version-320">maven-bundle-plugin prior to version 3.2.0<a class="headerlink" href="#maven-bundle-plugin-prior-to-version-320" title="Permanent link">&para;</a></h4>
+<p>This version needs <a href="https://github.com/tesla/m2eclipse-tycho">m2eclipse-tycho</a> (an Eclipse plugin) to generate the manifest and service descriptions during the incremental build. This plugin can be installed through the Maven Discovery feature of m2e.</p>
+<h4 id="maven-bundle-plugin-since-version-320">maven-bundle-plugin since version 3.2.0<a class="headerlink" href="#maven-bundle-plugin-since-version-320" title="Permanent link">&para;</a></h4>
+<p>Natively supports incremental builds for the <code>manifest</code> goal (<a href="https://issues.apache.org/jira/browse/FELIX-4009">FELIX-4009</a>) which needs to be explicitly configured as outlined in the <a href="http://felix.apache.org/documentation/faqs/apache-felix-bundle-plugin-faq.html#use-scr-metadata-generated-by-bnd-in-unit-tests">maven-bundle-plugin FAQ</a>. m2e-tycho is incompatible with that version, because it leads to errors like <code>Duplicate bundle executions found. Please remove any explicitly defined bundle executions in your pom.xml.</code> and <code>Duplicate manifest executions found. Please remove any explicitly defined manifest executions in your pom.xml.</code> (compare with <a href="https://github.com/tesla/m2eclipse-tycho/issues/31">issue 31</a>). Therefore uninstall m2eclipse-tycho if you want to use newer versions of the <code>maven-bundle-plugin</code>.</p>
+<h3 id="bnd-maven-plugin">bnd-maven-plugin<a class="headerlink" href="#bnd-maven-plugin" title="Permanent link">&para;</a></h3>
+<p>The <a href="https://github.com/bndtools/bnd/tree/master/maven/bnd-maven-plugin">bnd-maven-plugin</a> is developed from the bnd team and is based on bnd as well. It is versioned in parallel with bnd and bndtools. It natively supports incremental builds since version 3.1.0 <a href="https://github.com/bndtools/bnd/issues/1180">issue 1180</a>.</p>
+<h2 id="service-description-and-metatype-resources">Service Description and Metatype Resources<a class="headerlink" href="#service-description-and-metatype-resources" title="Permanent link">&para;</a></h2>
+<p>OSGi component and metatype annotations (for OSGi 6) are natively supported through bnd (and therefore automatically generated through both maven-bundle-plugin and bnd-maven-plugin). You don't need to configure anything explicitly since version 3.0.0 of bnd <a href="https://github.com/bndtools/bnd/issues/1041">issue 1041</a>.</p>
+<p>The <code>maven-bundle-plugin</code> can be optionally coupled with the <code>maven-scr-plugin</code>. Both <code>maven-bundle-plugin</code> as well as <code>bnd-maven-plugin</code> can be optionally coupled with the <a href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/apache-felix-scr-bndtools-use.html">scr-bnd-plugin</a> to generate components descriptions and metatype resources out of the Felix SCR annotations. The recommended way for new projects though is to rely on OSGi 6 annotations only.</p>
+      <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
+        Rev. 1767833 by kwin on Thu, 3 Nov 2016 08:29:17 +0000
+      </div>
+      <div class="trademarkFooter"> 
+        Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project
+        logo are trademarks of The Apache Software Foundation. All other marks mentioned
+        may be trademarks or registered trademarks of their respective owners.
+      </div>
+    </div>
+  </body>
+</html>