Plug-in Maven Content Package d’Adobe adobe-content-package-maven-plugin
Le plug-in Maven Content Package d’Adobe permet d’intégrer les tâches de déploiement et de gestion de modules dans vos projets Maven.
Le déploiement des modules construits sur AEM est effectué par le plug-in Maven Content Package d’Adobe et permet l’automatisation des tâches normalement exécutées à l’aide du Gestionnaire de modules d’AEM :
- Création de packages à partir des fichiers du système de fichiers.
- Installation et désinstallation de packages sur AEM.
- Création de packages déjà définis sur AEM.
- Obtention de la liste des packages installés sur AEM.
- Suppression d’un package d’AEM.
Ce document décrit comment utiliser Maven pour gérer ces tâches. Cependant, il est également important de comprendre comment les projets AEM et leurs packages sont structurés.
Packages et structure de projet AEM aem-project-structure
AEM as a Cloud Service adhère aux bonnes pratiques les plus récentes en matière de gestion de packages et de structure de projet, telles qu’elles sont implémentées par le dernier archétype de projet AEM.
Obtention du plug-in Maven Content Package obtaining-the-content-package-maven-plugin
Le plug-in est disponible à partir du référentiel Maven central.
Objectifs et paramètres du plug-in Maven Content Package
Pour utiliser le plug-in Content Package Maven, ajoutez l’élément de plug-in suivant à l’élément build de votre fichier POM :
<plugin>
<groupId>com.day.jcr.vault</groupId>
<artifactId>content-package-maven-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<!-- parameters and values common to all goals, as required -->
</configuration>
</plugin>
Pour permettre à Maven de télécharger le plug-in, utilisez le profil fourni dans la section Obtention du plug-in Content Package Maven sur cette page.
Version du plug-in Content Package Maven : goals-of-the-content-package-maven-plugin
Les objectifs et les paramètres d’objectif fournis par le plug-in Content Package sont décrits dans les sections qui suivent. Les paramètres qui sont décrits dans la section Paramètres communs peuvent être utilisés pour la plupart des objectifs. Les paramètres qui s’appliquent à un objectif sont décrits dans la section consacrée à l’objectif en question.
Préfixe du plug-in plugin-prefix
Le préfixe du plug-in est content-package
. Utilisez ce préfixe pour exécuter un objectif à partir de la ligne de commande, comme illustré ci-après.
mvn content-package:build
Préfixe des paramètres parameter-prefix
Sauf indication contraire, les objectifs et les paramètres du plug-in utilisent le préfixe vault
, comme illustré ci-après.
mvn content-package:install -Dvault.targetURL="https://192.168.1.100:4502/crx/packmgr/service.jsp"
Proxys proxies
Les objectifs qui utilisent des proxys pour AEM ont recours à la première configuration de proxy valide dans les paramètres Maven. Si aucune configuration de proxy n’est trouvée, aucun proxy n’est utilisé. Reportez-vous au paramètre useProxy
dans la section Paramètres communs.
Paramètres communs common-parameters
Les paramètres contenus dans le tableau ci-après sont communs à tous les objectifs, sauf si une note indique le contraire dans la colonne Objectifs.
failOnError
boolean
false
true
entraîne l’échec de la compilation lorsqu’une erreur se produit. La valeur false
entraîne la création à ignorer l’erreur.package
name
String
build
: Oui, install
: Non, rm
: Ouibuild
: Pas de valeur par défaut, install
: Valeur de la propriété artifactId
du projet Mavenls
password
String
admin
package
serverId
String
package
targetURL
String
http://localhost:4502/crx/packmgr/service.jsp
package
timeout
int
5
package
useProxy
boolean
true
true
entraîne l’utilisation par Maven de la première configuration de proxy active trouvée en réponse aux requêtes de proxy au gestionnaire de packages.package
userId
String
admin
package
verbose
boolean
false
package
build build
Crée un package de contenu déjà défini sur une instance AEM.
Paramètres parameters
Tous les paramètres de l’objectif de build sont décrits dans la section Paramètres communs.
install install
Installe un package dans le référentiel. L’exécution de cet objectif ne nécessite pas de projet Maven. L’objectif est lié à la phase install
du cycle de vie de compilation Maven.
Paramètres parameters-1
En plus des paramètres suivants, consultez les descriptions de la section Paramètres communs.
artifact
String
artifactId
du projet MavengroupId:artifactId:version[:packaging]
artifactId
String
groupId
String
groupId
de l’artefact à installerinstall
boolean
true
localRepository
org.apache.maven.artifact.repository.ArtifactRepository
localRepository
packageFile
java.io.File
packaging
String
zip
pomRemoteRepositories
java.util.List
remoteArtifactRepositories
définie pour le projet Mavenproject
org.apache.maven.project.MavenProject
repositoryId
(POM), repoID
(ligne de commande)String
temp
repositoryUrl
(POM), repoURL
(ligne de commande)String
ls ls
Répertorie les packages déployés dans le Gestionnaire de packages.
Paramètres parameters-2
Tous les paramètres de l’objectif sont décrits dans la section Paramètres communs.
rm rm
Supprime un package du Gestionnaire de packages.
Paramètres parameters-3
Tous les paramètres de l’objectif rm sont décrits dans la section Paramètres communs.
uninstall uninstall
Désinstalle un package. Le package reste sur le serveur avec l’état désinstallé.
Paramètres parameters-4
Tous les paramètres de l’objectif uninstall sont décrits dans la section Paramètres communs.
help help
Paramètres parameters-6
detail
boolean
false
goal
String
indentSize
int
2
lineLength
int
80
Inclusion d’une image de miniature ou d’un fichier de propriétés dans le package including-a-thumbnail-image-or-properties-file-in-the-package
Remplacez les fichiers de configuration du package par défaut afin de personnaliser les propriétés du package. Incluez, par exemple, une image miniature pour différencier le package dans le Gestionnaire de packages.
Les fichiers sources peuvent se trouver n’importe où dans le système de fichiers. Dans le fichier POM, définissez les ressources de création pour copier les fichiers sources dans target/vault-work/META-INF
à des fins d’inclusion dans le package.
Le code POM suivant ajoute au package les fichiers du dossier META-INF
de la source du projet :
<build>
<resources>
<!-- vault META-INF resources (thumbnail and so on) -->
<resource>
<directory>${basedir}/src/main/content/META-INF</directory>
<targetPath>../vault-work/META-INF</targetPath>
</resource>
</resources>
</build>
Le code POM ci-après ajoute uniquement une image miniature au package. L’image miniature doit être appelée thumbnail.png
et figurer dans le dossier META-INF/vault/definition
du package. Dans cet exemple, le fichier source se trouve dans le dossier /src/main/content/META-INF/vault/definition
du projet :
<build>
<resources>
<!-- thumbnail only -->
<resource>
<directory>${basedir}/src/main/content/META-INF/vault/definition</directory>
<targetPath>../vault-work/META-INF/vault/definition</targetPath>
</resource>
</resources>
</build>
Utilisation de l’archétype de projet AEM pour générer des projets AEM using-archetypes
Le dernier archétype de projet AEM met en œuvre la structure de package des bonnes pratiques pour les implémentations On-Premise et AMS et est recommandé pour tous les projets AEM.