Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies
Maven dependencies for the AEM Cloud Service SDK
https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies
adobe-experience-manager aem cloud maven tooling wcm-io
Last synced: 1 day ago
JSON representation
Maven dependencies for the AEM Cloud Service SDK
- Host: GitHub
- URL: https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies
- Owner: wcm-io
- License: apache-2.0
- Created: 2020-04-08T13:19:15.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2024-11-05T12:28:44.000Z (2 days ago)
- Last Synced: 2024-11-05T13:34:18.785Z (1 day ago)
- Topics: adobe-experience-manager, aem, cloud, maven, tooling, wcm-io
- Language: Groovy
- Homepage: https://wcm.io/tooling/maven/aem-dependencies.html
- Size: 335 KB
- Stars: 2
- Watchers: 10
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
wcm.io AEM Cloud Service Dependencies
======
[![Build](https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies/workflows/Build/badge.svg?branch=develop)](https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies/actions?query=workflow%3ABuild+branch%3Adevelop)
[![Maven Central](https://img.shields.io/maven-central/v/io.wcm.maven/io.wcm.maven.aem-cloud-dependencies)](https://repo1.maven.org/maven2/io/wcm/maven/io.wcm.maven.aem-cloud-dependencies/)Maven dependencies for the AEM Cloud Service SDK
Documentation: https://wcm.io/tooling/maven/aem-dependencies.html
Issues: https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies/issues
Wiki: https://wcm-io.atlassian.net/wiki/
Continuous Integration: https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies/actions
Commercial support: https://wcm.io/commercial-support.html## Usage
This POM defines Maven dependencies for AEM Cloud Service, including those that are not defined in the `aem-sdk-api` JAR provided by Adobe. Additionally, the POM includes Sling-internal dependencies required for [AEM Mocks](https://wcm.io/testing/aem-mock/) in exactly the versions included in the AEM version.
The version number of the artifact matches with the version of the `aem-sdk-api` artifact, plus a last part (4 digits) which is the revision number added by the wcm.io project, and is incremented if a fix or update of the POM needs to be published for the same SDK API version.
To import the dependencies in your AEM project use:
```xml
io.wcm.maven
io.wcm.maven.aem-cloud-dependencies
pom
import```
*Please note*: Since version `2024.7.17098.20240711T134106Z-240600.0000` JSONP 2.1 and Johnzon 2.x is used by default by this POM. If your code, or dependencies of your project, still rely on JSONP 1.1 and Johnzon 1.2.x, you can use the [Mixin for JSONP 1.1](https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies-mixin-jsonp11).
## Release cycle
We do not make new releases of this dependency POM for each single AEM cloud release, but we plan to publish at least one updated version per month. If you need a new version contact us a the [mailing list](https://wcm.io/mailing-lists.html).
## update-aem-deps.groovy
The script `update-aem-deps.groovy` provides a way to update the versions in a POM in a (nearly) automatic way when a new AEM Cloud SDK version is released. Preparations to execute the script:
* Download the latest AEM SDK from https://experience.adobe.com/#/downloads/content/software-distribution/en/aemcloud.html
* Extract the Quickstart JAR and start it normally as author instance on port 4502 and wait until it's started up
* Execute `update-aem-deps.groovy`
* Pay attention on the log messages of the script. If there is any WARN or ERROR reported there is a problem which needs to be resolved manually.
* The script writes the changes directly to the POM. Inspect the changes and make sure everything is correct before committing it.What does the script do:
* Read the AEM SDK version from the local instance
* Get the matching AEM SDK POM from Maven Central
* Read all bundle versions, package versions from local AEM instance and dependency versions from AEM SDK POM
* Update all dependencies in the POM to the versions found in the locale instance and the AEM SDK POMAs some dependencies are repackaged or embedded in other bundles there are a couple of "hints" put before the version tags in the POM that help the script to detect the right versions. The following hints are supported:
| Hint | Description
|----------------------------------------------------------------------|---------------
| `update-aem-deps:bundle=` | Read the bundle version from the bundle with the given symbolic name in the local AEM instance.
| `update-aem-deps:bundle-package=` | Read the package version of the given package exported by any bundle in the local AEM instance.
| `update-aem-deps:derived-from=:` | The dependency is embedded in the bundle with the given symbolic name and the given version. There is no support to extract the version from this bundle, you have to do it manually. But if the targeted bundle has new version you get a warning that the bundle has changed and you have to check manually if the embedded dependency version has changed as well and update the version and the `derived-from` hint in the POM manually. It's possible to use an expression like 1.0.* to match an version numbers starting with '1.0.'.
| `update-aem-deps:from-aem-sdk-api` | Read the version from the `dependencies` section of the AEM SDK API POM.
| `update-aem-deps:ignore` | Ignore the dependency in the script, you have to maintain the version manually.## Build from sources
If you want to build wcm.io from sources make sure you have configured all [Maven Repositories](https://wcm.io/maven.html) in your settings.xml.
See [Maven Settings](https://github.com/wcm-io/io.wcm.maven.aem-cloud-dependencies/blob/develop/.maven-settings.xml) for an example with a full configuration.
Then you can build using
```
mvn clean install
```