Manage also individual spec OSGi dependencies in AEM Cloud Service Dependencies

Description

To keep the classpath lean it is often beneficial to reference the individual artifacts instead of the aggregates like core or cmpn. For a discussion around that see https://issues.apache.org/jira/browse/SLING-7384?focusedCommentId=16327433&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16327433. It would be nice if those dependencies were managed in https://github.com/wcm-io/wcm-io-tooling-aem-cloud-dependencies as well.

Compare also with the related ticket https://github.com/adobe/aem-project-archetype/issues/182.

Activity

Show:
Stefan Seifert
September 7, 2020, 4:01 PM

thanks, i've added the individual artifacts as alternative
https://github.com/wcm-io/wcm-io-tooling-aem-cloud-dependencies/commit/80333435280bb2e77250be8e743e86758589f90b

deriving the spec version from the package versions of the related bundles works well - except the felix converter bundle, which exports package versions for org.osgi.util.converter which are not related to the spec version (strange).

the individual artifacts will also be part of the AEM 6.5.5/6.5.6 deps POMs.

Konrad Windszus
September 7, 2020, 6:15 PM

Thanks Stefan, what about the annotations (ds, metatype, version, bundle)?

Stefan Seifert
September 7, 2020, 6:21 PM

they are part of our "aem-global-parent" POM
https://github.com/wcm-io/wcm-io-tooling/blob/develop/maven/aem-global-parent/pom.xml

as they are not closely attached to the running AEM version, but to the versions of the other build-related plugins (e.g. bnd maven plugin version) and the declared bnd plugins.

Konrad Windszus
September 7, 2020, 6:49 PM
Edited

Very often usage of new annotations can lead to runtime dependencies with newer osgi packages, therefore I recommend to e.g. only use component annotations 1.4 in case DS 1.4 is available. Compare also with

Stefan Seifert
September 9, 2020, 2:51 PM

alright, i've added the annotation artifacts as well - maybe we will phase them out in aem-global-parent later
https://github.com/wcm-io/wcm-io-tooling-aem-cloud-dependencies/commit/683ff7c32b4b60b93aadb7b1d4f0b70239a77c95

Fixed

Assignee

Stefan Seifert

Reporter

Konrad Windszus

Labels

None

Components

Priority

Major
Configure