incubator-sling-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r905029 - in /websites/staging/sling/trunk/content: ./ documentation/development/dependency-management.html site/.htaccess site/dependency-management.html sitemap.html
Date Sat, 05 Apr 2014 15:07:43 GMT
Author: buildbot
Date: Sat Apr  5 15:07:43 2014
New Revision: 905029

Log:
Staging update by buildbot for sling

Removed:
    websites/staging/sling/trunk/content/site/dependency-management.html
Modified:
    websites/staging/sling/trunk/content/   (props changed)
    websites/staging/sling/trunk/content/documentation/development/dependency-management.html
    websites/staging/sling/trunk/content/site/.htaccess
    websites/staging/sling/trunk/content/sitemap.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sat Apr  5 15:07:43 2014
@@ -1 +1 @@
-1585097
+1585099

Modified: websites/staging/sling/trunk/content/documentation/development/dependency-management.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/development/dependency-management.html
(original)
+++ websites/staging/sling/trunk/content/documentation/development/dependency-management.html
Sat Apr  5 15:07:43 2014
@@ -87,11 +87,6 @@
       </div>
 
       
-      <div class="tip">
-           This page is a translated version of <a href="/site/dependency-management.html"
target="sling_cwiki">/site/dependency-management.html</a>. In case of
-           doubt you might want to refer to the old page.
-      </div>
-      
       
       <h1>Dependency Management</h1>
       <p>This page is about how we do and don't do dependency management in the Sling
project.</p>
@@ -106,19 +101,19 @@
 <p>Maven provides projects with a nice feature called dependency management. In Sling
we currently use this feature to declare the non-Sling dependencies of modules in the parent
POM.</p>
 <p>After working with this some time and trying to upgrade various dependencies we
came to the conclusion, that using Maven dependency management is not going to work out in
the Sling scenario.</p>
 <p>Why ? Maven's dependency management is aimed at traditional applicaitons, which
are glued together statically during the build process. For this environment, dependency management
is a great thing, since it guarantees a consistent application setup.</p>
-<p>In a dynamic application setup as provided by an OSGi framework the static dependency
management of Maven does not help. Actually it even causes problematic results with respect
to backwards compatibility when using the Maven Bundle plugin.</p>
-<p>Why's that ? The Maven Bundle plugin is constructs the bundle manifest and will
generally automatically create the Import-Package header. If the providing library (from maven's
dependency list) has <code>Export-Package</code> headers with version numbers,
the Maven Bundle plugin will insert the respective version numbers for the <code>Import-Package</code>
header. This makes perfect sense, because it is expected, that the artifact required at least
the given package version.</p>
-<p>When using Maven dependency management, upgrading any dependencies in the parent
POM may automatically increse the version numbers in the <code>Import-Package</code>
headers and hence may cause any such bundle to fail resolution if deployed - even though the
bundle did not change and does not really require a new version of the dependency.</p>
+<p>In a dynamic application setup as provided by an OSGi framework the static dependency
management of Maven does not help. Actually it even causes problematic results with respect
to backwards compatibility when using the Maven Bundle Plugin.</p>
+<p>Why's that ? The Maven Bundle Plugin constructs the bundle manifest and will generally
automatically create the Import-Package header. If the providing library (from Maven's dependency
list) has <code>Export-Package</code> headers with version numbers, the Maven
Bundle Plugin will insert the respective version numbers for the <code>Import-Package</code>
header. This makes perfect sense, because it is expected, that the artifact required at least
the given package version.</p>
+<p>When using Maven dependency management, upgrading any dependencies in the parent
POM may automatically increase the version numbers in the <code>Import-Package</code>
headers and hence may cause any such bundle to fail resolution if deployed - even though the
bundle did not change and does not really require a new version of the dependency.</p>
 <p>So, in the case of OSGi deployment, Maven's dependency management actually interferes
with the OSGi framework dependency management.</p>
-<p>As a consequence, I suggest we drop dependency management in the parent pom (almost)
completely and state the followin.</p>
+<p>As a consequence, I suggest we drop dependency management in the parent POM (almost)
completely and state the following.</p>
 <h2 id="dependency-management">Dependency Management</h2>
-<p>The parent pom only does dependency management for build time dependencies and a
very limited number of API dependencies used Sling wide. These dependencies are:</p>
+<p>The parent POM only does dependency management for build time dependencies and a
very limited number of API dependencies used Sling wide. These dependencies are:</p>
 <ul>
-<li>All plugin dependencies. That is <code>PluginManagement</code> is still
used. Maven plugins are actualy build time dependencies and therefore have no influence on
the actual deployment.</li>
+<li>All plugin dependencies. That is <code>pluginManagement</code> is still
used. Maven plugins are actually build time dependencies and therefore have no influence on
the actual deployment.</li>
 <li>Dependencies on commonly used testing environment helpers. Test helper classes
are also build time dependencies used to run the unit and integration tests. As such, they
may well be managed.</li>
-<li>Sling makes a small number of assumptions about the environment, which we codify
in the dependency management: The minimum version number of the OSGi specificaiton used, the
servlet API version and the JCR API version.</li>
+<li>Sling makes a small number of assumptions about the environment, which we codify
in the dependency management: The minimum version number of the OSGi specificaiton used, the
Servlet API version and the JCR API version.</li>
 </ul>
-<p>The <code>&lt;DependencyManagement&gt;</code> element currently
contains the following managed dependencies:</p>
+<p>The <code>&lt;dependencyManagement&gt;</code> element currently
contains the following managed dependencies:</p>
 <table>
 <thead>
 <tr>
@@ -130,15 +125,15 @@
 </thead>
 <tbody>
 <tr>
-<td>org.apache.felix</td>
+<td>org.osgi</td>
 <td>org.osgi.core</td>
-<td>1.2.0</td>
+<td>4.1.0</td>
 <td>provided</td>
 </tr>
 <tr>
-<td>org.apache.felix</td>
+<td>org.osgi</td>
 <td>org.osgi.compendium</td>
-<td>1.2.0</td>
+<td>4.1.0</td>
 <td>provided</td>
 </tr>
 <tr>
@@ -160,15 +155,27 @@
 <td>provided</td>
 </tr>
 <tr>
+<td>org.apache.felix</td>
+<td>org.apache.felix.scr.annotations</td>
+<td>1.9.8</td>
+<td>provided</td>
+</tr>
+<tr>
+<td>biz.aQute</td>
+<td>bndlib</td>
+<td>1.50.0</td>
+<td>provided</td>
+</tr>
+<tr>
 <td>junit</td>
 <td>junit</td>
-<td>4.3</td>
+<td>4.11</td>
 <td>test</td>
 </tr>
 <tr>
 <td>org.jmock</td>
 <td>jmock-junit4</td>
-<td>2.2.0</td>
+<td>2.5.1</td>
 <td>test</td>
 </tr>
 <tr>
@@ -184,11 +191,11 @@
 <p>Generally there is a constant flow of releases of dependent libraries. In general
this should not cause the dependency version number of a using module to be increased. There
is one exception though: If the fixed library version contains a bug fix, which has an influence
on the operation of the module, an increase in the version number is indicated and should
also be applied.</p>
 <h2 id="references">References</h2>
 <ul>
-<li><a href="http://markmail.org/message/5qpmsukdk4mdacdy">Dependency ManagementLink
to this message</a> -- Discussion thread about reducing Maven 2 <code>DependencyManagement</code></li>
+<li><a href="http://markmail.org/message/5qpmsukdk4mdacdy">Dependency Management</a>
-- Discussion thread about reducing Maven Dependency Management</li>
 <li><a href="https://issues.apache.org/jira/browse/SLING-811">SLING-811</a>
-- The actual issue governing the changes to the project descriptors</li>
 </ul>
       <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
+        Rev. 1585099 by olli on Sat, 5 Apr 2014 15:07:28 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project

Modified: websites/staging/sling/trunk/content/site/.htaccess
==============================================================================
--- websites/staging/sling/trunk/content/site/.htaccess (original)
+++ websites/staging/sling/trunk/content/site/.htaccess Sat Apr  5 15:07:43 2014
@@ -74,3 +74,4 @@ Redirect Permanent /site/contributing.ht
 Redirect Permanent /site/project-information.html /project-information.html
 Redirect Permanent /site/release-management.html /documentation/development/release-management.html
 Redirect Permanent /site/scheduler-service-commons-scheduler.htm /documentation/bundles/scheduler-service-commons-scheduler.html
+Redirect Permanent /site/dependency-management.html /documentation/development/dependency-management.html

Modified: websites/staging/sling/trunk/content/sitemap.html
==============================================================================
--- websites/staging/sling/trunk/content/sitemap.html (original)
+++ websites/staging/sling/trunk/content/sitemap.html Sat Apr  5 15:07:43 2014
@@ -111,6 +111,7 @@
 <li><a href="/documentation/bundles/osgi-installer.html">OSGi Installer</a></li>
 <li><a href="/documentation/bundles/output-rewriting-pipelines-org-apache-sling-rewriter.html">Output
Rewriting Pipelines (org.apache.sling.rewriter)</a></li>
 <li><a href="/documentation/bundles/request-analysis.html">Request Processing
Analyzer (reqanalyzer)</a></li>
+<li><a href="/documentation/bundles/resource-access-security.html">Resource Access
Security</a></li>
 <li><a href="/documentation/bundles/scheduler-service-commons-scheduler.html">Scheduler
Service (commons scheduler)</a></li>
 <li><a href="/documentation/bundles/sling-health-check-tool.html">Sling Health
Check Tools</a></li>
 <li><a href="/documentation/bundles/sling-scripting-jsp-taglib.html">Sling Scripting
JSP Taglib</a></li>



Mime
View raw message