cziegeler commented on code in PR #149:
URL: https://github.com/apache/sling-site/pull/149#discussion_r1431173153


##########
src/main/jbake/content/documentation/development/dependency-management.md:
##########
@@ -15,22 +15,21 @@ Maven provides projects with a nice feature called 
dependency management. In Sli
 
 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.
 
-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.
+Why? Maven's dependency management is aimed at traditional applications, 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.
 
 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.
 
-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 `Export-Package` headers with 
version numbers, the Maven Bundle Plugin will insert the respective version 
numbers for the `Import-Package` header. This makes perfect sense, because it 
is expected, that the artifact required at least the given package version.
+Why's that? The Maven Bundle Plugin (or rather the underlying [Bnd 
library](https://bnd.bndtools.org/) constructs the bundle manifest and will 
generally automatically create the Import-Package header. If the providing 
library (from Maven's dependency list) has `Export-Package` headers with 
version numbers, the Maven Bundle Plugin will insert the respective version 
numbers for the `Import-Package` header. This makes perfect sense, because it 
is expected, that the artifact required **at least** the given package version.
 
 When using Maven dependency management, upgrading any dependencies in the 
parent POM may automatically increase the version numbers in the 
`Import-Package` 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.
 
 So, in the case of OSGi deployment, Maven's dependency management actually 
interferes with the OSGi framework dependency management.
 
-As a consequence, I suggest we drop dependency management in the parent POM 
(almost) completely and state the following.
+As a consequence, we dropped dependency management in the parent POM (almost) 
completely and state the following.

Review Comment:
   This change looks good



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@sling.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to