Unfortunately Adobe does not publish their product binaries (e.g. Quickstart JAR, Hotfixes, Service Packs etc.) within a Maven Artifact Repository that is accessible to AEM customers or partners.
But for Deployment Automation e.g. with wcm.io DevOps CONGA or Ansible haven these binaries available in a structured way is very important. Using a Maven Artifact Repository fulfills the requirements, and also adds the possibility to cache much-used artifacts locally.
This guideline describes a naming convention for Group IDs and Artifact IDs how these files should be published in your local (and protected) Artifact Repository. Once deployed using this convention they can be used by all tooling and configuration definition that adheres to this convention. (But you still have to upload the artifacts manually to have them ready-to-use.)
We distinguish between the following types of binaries (can be downloaded from Adobe Software Distribution Portal):
Within the Maintenance Release Vehicle Definitions Adobe describes different package types:
Adobe publishes it's artifacts with Group IDs com.adobe.*
and com.day.*
.
To clearly separate the "self-created" artifacts we use our own "namespace" by using Group IDs starting with adobe.binary.aem.*
Binary Type | Group ID | Artifact ID | Classifier | Version | Extension |
---|---|---|---|---|---|
Full Release (Quickstart) | adobe.binary.aem.<aem-version>.quickstart | aem-quickstart | From Quickstart JAR | jar | |
Service Pack (SP) | adobe.binary.aem.<aem-version>.servicepack | Package name without version | Package Version | zip | |
Cumulative Fix Pack (CFP) | adobe.binary.aem.<aem-version>.cumulativefixpack | Package name without version | Package Version | zip | |
Oak Cumulative Fix Pack (COFP) | adobe.binary.aem.<aem-version>.cumulativeoakfixpack | Package name without version | Package Version | zip | |
Hotfix (HF) | adobe.binary.aem.<aem-version>.hotfix | Package name without version | Package Version | zip | |
Feature Pack (FP) | adobe.binary.aem.<aem-version>.featurepack | Package name without version | Package Version | zip | |
Overlay | adobe.binary.aem.<aem-version>.overlay | Package name without version | Package Version | zip | |
AEM Dispatcher | adobe.binary.aem.dispatcher | dispatcher | Platform identifier | Version | tar.gz or zip |
AEM SDK | adobe.binary.aem.<aem-version>.sdk | Package name without version | Package Version | zip | |
AEM SDK Add-On | adobe.binary.aem.<aem-version>.addon | Package name without version | Package Version | zip | |
Others | adobe.binary.aem.<aem-version>.tooling | Package name without version | Package Version | zip |
Remarks:
<aem-version>
is the first two digits of the AEM version number e.g. "63", "64", "65" or "cloud" for AEMaaCSAEM-CFP-6.3.0.2-2.0.zip
=> Artifact ID AEM-CFP-6.3.0.2
, Version: 2.0
cq-6.3.0-hotfix-17649-1.0.zip
=> Artifact ID: cq-6.3.0-hotfix-17649
, Version: 1.0
AEM-6.2-Service-Pack-1-6.2.SP1.zip
=> Artifact ID: AEM-6.2-Service-Pack-1
, Version: 6.2.SP1
dispatcher-apache2.4-linux-i686-ssl-4.2.2.tar.gz
=> Artifact ID: dispatcher
, Classifier: apache2.4-linux-i686-ssl
, Version: 4.2.2
, Extension: tar.gz
dispatcher-iis-windows-x64-4.2.2.zip
=> Artifact ID: dispatcher
, Classifier: iis-windows-x64
, Version: 4.2.2
, Extension: zip
readme
as classifier and txt
as extension.Examples for Dependencies following this convention:
<!-- Full Release --> <dependency> <groupId>adobe.binary.aem.63.quickstart</groupId> <artifactId>aem-quickstart</artifactId> <version>6.3.0</version> </dependency> <!-- Service Pack --> <dependency> <groupId>adobe.binary.aem.62.servicepack</groupId> <artifactId>AEM-6.2-Service-Pack-1-6.2.SP1</artifactId> <version>1.0</version> <type>zip</type> </dependency> <!-- Cumulative Fix Pack --> <dependency> <groupId>adobe.binary.aem.63.cumulativefixpack</groupId> <artifactId>AEM-CFP-6.3.0.2</artifactId> <version>2.0</version> <type>zip</type> </dependency> <!-- Cumulative Oak Fix Pack --> <dependency> <groupId>adobe.binary.aem.63.cumulativeoakfixpack</groupId> <artifactId>cq-6.3.0-hotfix-17649</artifactId> <version>1.0</version> <type>zip</type> </dependency> <!-- Hotfix --> <dependency> <groupId>adobe.binary.aem.62.hotfix</groupId> <artifactId>cq-6.2.0-hotfix-12785</artifactId> <version>7.0</version> <type>zip</type> </dependency> <!-- Feature Pack --> <dependency> <groupId>adobe.binary.aem.61.featurepack</groupId> <artifactId>AEM-6.1-Communities-Livefyre-Feature-Pack-7-HF1</artifactId> <version>1.8.557.3</version> <type>zip</type> </dependency> <!-- Dispatcher --> <dependency> <groupId>adobe.binary.aem.dispatcher</groupId> <artifactId>dispatcher</artifactId> <classifier>apache2.4-linux-i686-ssl</classifier> <version>4.2.2</version> <type>tar.gz</type> </dependency> |
You can use this tool to generate the artifact coordinates automatically for a given filename:
http://wcm.io/util/aem-binary-artifact-name-generator.html
The tools uses some heuristics to detect the property file type automatically.