Liste des tâches Gradle du build Adélia par composants
adelCompoSetInit
Cette tâche initialise le projet de build en créant la structure nécessaire à la fabrication des artéfacts en fonction de la liste des noms de composants Adélia déclarée dans la clé adelLstComponents du fichier gradle.properties.
La figure suivante montre le résultat de la tâche avec les clés adelCompoSetName=sampleApp et adelLstComponents=COMPO_1 COMPO_2.
Les sous-répertoires, ayant des noms de composants Adélia, vont contenir les artéfacts des objets Adélia contenus dans chaque composant.
La figure suivante présente le détail structurel d'un répertoire "composant" (pour cet exemple COMPO_1).
Chaque sous-répertoire "composant" contient un emplacement pour la construction des artéfacts des différents types possibles.
Il se peut qu'un emplacement soit vide s'il n'existe pas, dans le composant Adélia, d'objet correspondant à un type d'artéfact particulier.
adelCompoSetCreateAS400Lib
Cette tâche crée sur l'AS400 déclaré, dans les attributs d'environnement, les bibliothèques nécessaires à la génération des objets Adélia pour la construction des artéfacts de type As400Adelia et As400Server.
Les bibliothèques créées sont celles définies via les clés adelGenAS400.as400Adelia.genLib, adelGenAS400.as400Server.genLib, adelGenAS400.language, adelGenAS400.as400Adelia.jobdLib et adelGenAS400.as400Server.jobdLib du fichier gradle.properties.
adelCompoSetClean
Cette tâche supprime le répertoire du nom de l'application à builder ainsi que les bibliothèques AS400 spécifiées pour la construction des artéfacts de type As400Adelia et As400Server (les noms de bibliothèques sont définies via les clés adelGenAS400.as400Adelia.genLib et adelGenAS400.as400Server.genLib du fichier gradle.properties).
Le projet de build est vidé et il est nécessaire de réexécuter la tâche adelCompoSetInit pour l'initialiser.
adelCompoSetGenerate
Cette tâche lance la génération Adélia des objets appartenant aux domaines définis par la clé adelLstComponents de l'environnement défini par la clé adelEnvName.
Le nombre d'objets à générer dépend du mode de génération (valeur de la clé adelGenIncremental) :
Tous les objets si le mode est global,
Uniquement les objets modifiés depuis le dernier build exécuté si le mode est incrémental.
Dans les deux modes, si la génération Adélia d'un objet est en erreur, cela ne bloque pas les générations des autres objets, mais le build est stoppé sur la tâche adelCompoSetGenerate.
Attention : si un objet Adélia généré lors d'un précédent build a été supprimé du référentiel, la tâche adelCompoSetGenerate ne supprimera pas les objets binaires issus de la précédente génération, et ces binaires feront partie de l'artéfact qui sera construit.
A l'issue du traitement de cette tâche, les fichiers produits par la génération sont placés dans les répertoires suivants :
Exemple de build avec la configuration adelAppName=sampleApp et adelLstComponents=COMPO_1 |
||
Type d'artéfact |
Répertoire de destination des fichiers produit par la génération |
Type d'artéfact |
As400Adelia |
Dans les bibliothèques AS400 définis par la clé adelGenAS400.as400Adelia.genLib et la clé adelGenAS400.language |
|
As400Server |
Dans les bibliothèques AS400 définis par la clé adelGenAS400.as400Server.genLib et la clé adelGenAS400.language |
|
Cloud |
sampleApp\COMPO_1\ COMPO_1_Cloud\src\main sampleApp\ COMPO_1\ COMPO_1_Cloud\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
CloudSelenium |
sampleApp\ COMPO_1\ COMPO_1_CloudSelenium\src\main sampleApp\ COMPO_1\ COMPO_1_CloudSelenium\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java. La compilation de ces fichiers est faite par la tâche adelCompoSetBuild |
CrystalReportsCloud |
sampleApp\ COMPO_1\ COMPO_1_CrystalReportsCloud |
Contient les fichiers maquettes Crystal Report (fichier .RPT) issu de la génération Cloud d'un programme avec état |
CrystalReportsWeb |
sampleApp\ COMPO_1\ COMPO_1_CrystalReportsWeb |
Contient les fichiers maquettes Crystal Report (fichier .RPT) issu de la génération Web d'un programme avec état |
JavaClient |
sampleApp\ COMPO_1\ COMPO_1_JavaClient\src\main sampleApp\COMPO_1\COMPO_1_JavaClient\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
JavaServer |
sampleApp\COMPO_1\COMPO_1_JavaServer\src\main sampleApp\COMPO_1\COMPO_1_JavaServer\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
Pojo |
sampleApp\COMPO_1\COMPO_1_Pojo\src\main sampleApp\COMPO_1\COMPO_1_Pojo\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java. La compilation de ces fichiers est faite par la tâche adelCompoSetBuild |
Web |
sampleApp\COMPO_1\COMPO_1_Web\src\main sampleApp\COMPO_1\COMPO_1_Web\src\s<X> (avec X numérique) |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
WinClient |
sampleApp\COMPO_1\COMPO_1_WinClient\src sampleApp\COMPO_1\COMPO_1_WinClient\obj |
La génération produit les fichiers source Windows (répertoire src) ainsi que les binaires produits par la compilation C (répertoire obj) |
WinServer |
sampleApp\COMPO_1\COMPO_1_WinServer\src sampleApp\COMPO_1\COMPO_1_WinServer\obj |
La génération produit les fichiers source Windows (répertoire src) ainsi que les binaires produits par la compilation C (répertoire obj) |
WSRest |
sampleApp\COMPO_1\COMPO_1_WSRest\src\main |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
WSSoapAar |
sampleApp\COMPO_1\COMPO_1_WSSoapAar\arc\main |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
WSSoapJar |
sampleApp\COMPO_1\COMPO_1_WSSoapJar\src\<nomWebService> |
La génération produit les fichiers sources .java et les fichiers de ressources. La compilation des fichiers java est faite par la tâche adelCompoSetBuild |
Tableau 2 : Chemin de génération des fichiers nécessaires à la construction des artéfacts produits
adelCompoSetBuild
Cette tâche est la tâche principale d'un build Adélia par composants. Elle se scinde en deux phases :
Appel de la tâche adelCompoSetGenerate pour exécuter la génération Adélia,
Traitement des fichiers produits par la phase 1 pour construire les artéfacts associés.
A l'issue de la phase 2, les artéfacts produits sont placés dans les répertoires suivants :
Exemple de build avec la configuration adelCompoSetName=sampleApp, adelLstComponents=COMPO_1, adelGenAS400.language=ESPAGNOL[COMPO_1 TSTBLDESPR],ANGLAIS[COMPO_1 TSTBLDUKPR], version=1.0.0-SNAPSHOT et "prefix_compo_1" comme valeur du préfixe du composant COMPO_1 (voir le gestionnaire des composants de build) |
||
Type d'artifact |
Répertoire de destination des fichiers produit par la génération |
Type d'artéfact |
As400Adelia |
sampleApp\COMPO_1\COMPO_1_As400Adelia\obj\pgm sampleApp\COMPO_1\COMPO_1_As400Adelia\obj\intl\ESPAGNOL sampleApp\COMPO_1\COMPO_1_As400Adelia\obj\intl\ANGLAIS |
prefix_compo_1_as400adelia-1.0.0-SNAPSHOT.zip prefix_compo_1_as400adelia_espagnol-1.0.0-SNAPSHOT.zip prefix_compo_1_as400adelia_anglais-1.0.0-SNAPSHOT.zip |
As400Server |
sampleApp\COMPO_1\COMPO_1_As400Server\obj\pgm sampleApp\COMPO_1\COMPO_1_As400Server\obj\intl\ESPAGNOL sampleApp\COMPO_1\COMPO_1_As400Server\obj\intl\ANGLAIS |
prefix_compo_1_as400server-1.0.0-SNAPSHOT.zip prefix_compo_1_as400server_espagnol-1.0.0-SNAPSHOT.zip prefix_compo_1_as400server_anglais-1.0.0-SNAPSHOT.zip |
Cloud |
sampleApp\COMPO_1\COMPO_1_Cloud\build\libs |
prefix_compo_1_cloud-1.0.0-SNAPSHOT.jar |
CloudSelenium |
sampleApp\COMPO_1\COMPO_1_CloudSelenium\build\libs |
prefix_compo_1_cloudselenium-1.0.0-SNAPSHOT.jar |
CrystalReportsCloud |
sampleApp\COMPO_1\COMPO_1_CrystalReportsCloud\build |
prefix_compo_1_crystalreportscloud-1.0.0-SNAPSHOT.zip |
CrystalReportsWeb |
sampleApp\COMPO_1\COMPO_1_CrystalReportsWeb\build |
prefix_compo_1_crystalreportsweb-1.0.0-SNAPSHOT.zip |
JavaClient |
sampleApp\COMPO_1\COMPO_1_JavaClient\build\libs |
prefix_compo_1_javaclient-1.0.0-SNAPSHOT.jar |
JavaServer |
sampleApp\COMPO_1\COMPO_1_JavaServer\build\libs |
prefix_compo_1_javaserver-1.0.0-SNAPSHOT.jar |
Pojo |
sampleApp\COMPO_1\COMPO_1_Pojo\build\libs |
prefix_compo_1_pojo-1.0.0-SNAPSHOT.jar |
Web |
sampleApp\COMPO_1\COMPO_1_Web\build\libs |
prefix_compo_1_web-1.0.0-SNAPSHOT.jar |
WinClient |
sampleApp\COMPO_1\COMPO_1_WinClient\build |
prefix_compo_1_winclient-1.0.0-SNAPSHOT.zip |
WinServer |
sampleApp\COMPO_1\COMPO_1_WinServer\build |
prefix_compo_1_winserver-1.0.0-SNAPSHOT.zip |
WSRest |
sampleApp\COMPO_1\COMPO_1_WSRest\build\libs |
prefix_compo_1_wsrest-1.0.0-SNAPSHOT.jar |
WSSoapAar |
sampleApp\COMPO_1\COMPO_1_WSSoapAar\build\libs |
prefix_compo_1_wssoapaar-1.0.0-SNAPSHOT.aar |
WSSoapJar |
sampleApp\COMPO_1\COMPO_1_WSSoapJar\build\libs |
prefix_compo_1_wssoapjar-1.0.0-SNAPSHOT.zip |
Tableau 3 : Description des fichiers artéfacts produits
Pour les artéfacts de nature Java, la compilation des fichiers sources .java (effectuée par la tâche adelCompoSetBuild) s'appuie sur les options de compilation définies dans le fichier adeliws.ini.
En outre, si le paramètre de build adelCreateSourceFilesArtifacts a pour valeur Y, des artéfacts de sources L3G sont produits en plus des artéfacts principaux décrits plus haut :
Exemple de build avec la configuration adelCompoSetName=sampleApp, adelLstComponents=COMPO_1, version=1.0.0-SNAPSHOT et "prefix_compo_1" comme valeur du préfixe du composant COMPO_1 (voir le gestionnaire des composants de build) |
||
---|---|---|
Type d'artifact |
Répertoire de destination du fichier produit |
Nom du fichier produit |
Cloud | sampleApp\COMPO_1\COMPO_1_Cloud\build\libs |
prefix_compo_1_cloud-1.0.0-SNAPSHOT-sources.jar |
CloudSelenium | sampleApp\COMPO_1\COMPO_1_CloudSelenium\build\libs |
prefix_compo_1_cloudselenium-1.0.0-SNAPSHOT-sources.jar |
JavaClient | sampleApp\COMPO_1\COMPO_1_JavaClient\build\libs |
prefix_compo_1_javaclient-1.0.0-SNAPSHOT-sources.jar |
JavaServer | sampleApp\COMPO_1\COMPO_1_JavaServer\build\libs |
prefix_compo_1_javaserver-1.0.0-SNAPSHOT-sources.jar |
Pojo | sampleApp\COMPO_1\COMPO_1_Pojo\build\libs |
prefix_compo_1_pojo-1.0.0-SNAPSHOT-sources.jar |
Web | sampleApp\COMPO_1\COMPO_1_Web\build\libs |
prefix_compo_1_web-1.0.0-SNAPSHOT-sources.jar |
WinClient | sampleApp\COMPO_1\COMPO_1_WinClient\build |
prefix_compo_1_winclient-1.0.0-SNAPSHOT-sources.zip |
WinServer | sampleApp\COMPO_1\COMPO_1_WinServer\build |
prefix_compo_1_winserver-1.0.0-SNAPSHOT-sources.zip |
WSRest | sampleApp\COMPO_1\COMPO_1_WSRest\build\libs |
prefix_compo_1_wsrest-1.0.0-SNAPSHOT-sources.jar |
WSSoapAar | sampleApp\COMPO_1\COMPO_1_WSSoapAar\build\libs |
prefix_compo_1_wssoapaar-1.0.0-SNAPSHOT-sources.jar |
WSSoapJar | sampleApp\COMPO_1\COMPO_1_WSSoapJar\build\libs |
prefix_compo_1_wssoapjar-1.0.0-SNAPSHOT-sources.jar |
Tableau 4 : Description des fichiers artéfacts de sources produits
En outre, si le paramètre de build adelGenDebugMode a pour valeur Y, des artéfacts de debug sont produits en plus des artéfacts principaux décrits plus haut :
Exemple de build avec la configuration adelCompoSetName=sampleApp, adelLstComponents=COMPO_1, version=1.0.0-SNAPSHOT et "prefix_compo_1" comme valeur du préfixe du composant COMPO_1 (voir le gestionnaire des composants de build) |
||
---|---|---|
Type d'artifact |
Répertoire de destination du fichier produit |
Nom du fichier produit |
Cloud | sampleApp\COMPO_1\COMPO_1_Cloud\build\distributions |
prefix_compo_1_clouddbg-1.0.0-SNAPSHOT.zip |
JavaClient | sampleApp\COMPO_1\COMPO_1_JavaClient\build\distributions |
prefix_compo_1_javaclientdbg-1.0.0-SNAPSHOT.zip |
Web | sampleApp\COMPO_1\COMPO_1_Web\build\distributions |
prefix_compo_1_webdbg-1.0.0-SNAPSHOT.zip |
WinClient | sampleApp\COMPO_1\COMPO_1_WinClient\build |
prefix_compo_1_winclientdbg-1.0.0-SNAPSHOT.zip |
WSRest | sampleApp\COMPO_1\COMPO_1_WSRest\build\distributions |
prefix_compo_1_wsrestdbg-1.0.0-SNAPSHOT.zip |
WSSoapAar | sampleApp\COMPO_1\COMPO_1_WSSoapAar\build\distributions |
prefix_compo_1_wssoapaardbg-1.0.0-SNAPSHOT.zip |
WSSoapJar | sampleApp\COMPO_1\COMPO_1_WSSoapJar\build\distributions |
prefix_compo_1_wssoapjardbg-1.0.0-SNAPSHOT.zip |
Tableau 5 : Description des fichiers artéfacts de debug produits
uploadArchives
Cette tâche permet de transférer les artéfacts construits dans le référentiel d'upload.
Il est nécessaire de renseigner la clé uploadArchivesReleaseRepo ou uploadArchivesSnapshotRepo en fonction du type de version des artéfacts.
Cette tâche doit être appelée après la tâche adelCompoSetBuild.
Contrairement au build Adélia par domaines où le group ID de tous les artéfacts produits lors d'un build était identique (fixé via la clé "group" dans le fichier gradle.properties), les artéfacts construits lors d'un build par composants ont un group ID issu du composant auquel ils appartiennent. ↑ Haut de page
Lien entre dépendance de composants et dépendances d'artéfacts produits
Cette section décrit comment se traduit une dépendance logique entre deux composants A et B en dépendances de construction d'artéfacts/POMs produits par l'outil de build Gradle.
Définition d'une dépendance
Rappel
- soit "A déduire" : la dépendance est analysée automatiquement par le gestionnaire (en analysant les sources des objets appartenant au composant), et a pour valeur déduite "Client", "Serveur" ou "Client Serveur",
- soit "Client" : le composant A contient des objets localisés (c'est-à-dire qui seront exécutés) sur le poste "client" et qui dépendent d'objets du composant B localisés sur le poste "client",
- soit "Serveur" : le composant A contient des objets localisés sur le poste "serveur" qui dépendent d'objets du composant B localisés sur le poste "serveur",
- soit "Client Serveur" : le composant A contient à la fois des objets localisés sur le poste "client" et qui dépendent d'objets du composant B localisés sur le poste "client", et des objets localisés sur le poste "serveur" qui dépendent d'objets du composant B localisés sur le poste "serveur".
Au niveau Gradle, une dépendance entre A et B se traduit au niveau des artéfacts produits par une dépendance d'exécution entre artéfacts.
Celle-ci est explicitement décrite dans chaque POM d'artéfact issu de A.
La dépendance entre artéfacts est une dépendance de scope "runtime" sauf pour les cas de dépendances suivantes où elle est de scope "compile" :
- Artéfact Cloud de A dépendant de l'artéfact Pojo de B,
- Artéfact JavaClient de A dépendant de l'artéfact Pojo de B,
- Artéfact Pojo de A dépendant de l'artéfact Pojo de B,
- Artéfact WSRest de A dépendant de l'artéfact Pojo de B,
- Artéfact WSSoapAar de A dépendant de l'artéfact Pojo de B,
- Artéfact WSSoapJar de A dépendant de l'artéfact Pojo de B.
De plus, comme dans le Build Adélia par domaines, il existe une dépendance entre artéfacts issus d'un même composant, à savoir :
- Artéfact Cloud de A dépendant de l'artéfact Pojo de A,
- Artéfact JavaClient de A dépendant de l'artéfact Pojo de A ,
- Artéfact WSRest de A dépendant de l'artéfact Pojo de A,
- Artéfact WSSoapAar de A dépendant de l'artéfact Pojo de A,
- Artéfact WSSoapJar de A dépendant de l'artéfact Pojo de A.
Rappel sur les types d'artéfacts produits :
Type d'artéfact |
Contenu |
Type de fichier conteneur |
As400Adelia | Contient les objets binaires issus de la génération AS400 des programmes Adélia interactifs et batch | Fichier de type ZIP contenant un fichier SAVF d'une bibliothèque AS400 |
As400Server | Contient les objets binaires issus de la génération AS400 des programmes SAdélia et des parties serveur des programmes VAdélia | Fichier de type ZIP contenant un fichier SAVF d'une bibliothèque AS400 |
Cloud | Contient les objets binaires issus de la génération Cloud (Java) des parties clients des programmes VAdélia interactifs | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
CloudSelenium | Contient les objets binaires - utilisés pour l'exécution de scénario de tests Selenium - issus de la génération Cloud (Java) des programmes VAdélia interactifs | Fichier de type JAR contenant des fichiers .class Java |
CrystalReportsCloud | Contient les maquettes des états Crystal Reports issus de la génération Cloud des programmes VAdélia batch avec état | Fichier de type ZIP contenant les fichiers .RPT des maquettes Crystal Reports |
CrystalReportsWeb | Contient les maquettes des états Crystal Reports issus de la génération Java des programmes WAdélia Batch avec état | Fichier de type ZIP contenant les fichiers .RPT des maquettes Crystal Reports |
JavaClient | Contient les objets binaires issus de la génération Java des parties clientes des programmes VAdélia | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
JavaServer | Contient les objets binaires issus de la génération Java des programmes SAdelia et des parties serveur des programmes VAdelia et WAdélia | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
Pojo | Contient les objets binaires issus de la génération Java des objets Classe | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
Web | Contient les objets binaires issus de la génération (Java) des parties clients des programmes WAdélia | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
WinClient | Contient les objets binaires issus de la génération Windows des parties clientes des programmes VAdélia | Fichier de type ZIP contenant des fichiers .exe et .dll |
WinServer | Contient les objets binaires issus de la génération Windows des programmes SAdelia et des parties serveur des programmes VAdelia et WAdélia | Fichier de type ZIP contenant des fichiers .exe et .dll |
WSRest | Contient les objets binaires issus de la génération Service Web REST (Java) des programmes VAdélia batch | Fichier de type JAR contenant des fichiers .class Java et autres fichiers de ressource |
WSSoapAar | Contient les objets binaires issus de la génération Service Web DOCUMENT (Java) des programmes VAdélia batch | Fichier de type AAR contenant des fichiers .class Java et autres fichiers de ressource |
WSSoapJar | Contient les objets binaires issus de la génération Service Web DOCUMENT_JAXWS (Java) des programmes VAdélia batch | Fichier de type ZIP contenant des fichiers .jar |
↑ Haut de page
Dépendance de localisation Client
Description d'une dépendance "Client" du composant A vers le composant B en termes de dépendances d'artéfacts :
A dépend de B |
|||||||||||||||
Composant B |
|||||||||||||||
As400Adelia |
As400Server |
Cloud |
CloudSelenium |
CrystalReportsCloud |
CrystalReportsWeb |
JavaClient |
JavaServer |
Pojo |
Web |
WinClient |
WinServer |
WSRest |
WSSoapAar |
WSSoapJar |
|
Composant A | |||||||||||||||
As400Adelia |
|||||||||||||||
As400ServerAs400Server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
CloudSelenium |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsCloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsWeb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JavaClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
JavaServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pojo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Web |
|
|
|
|
|
|
|
|
|
|
|
|
|||
WinClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WinServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WSRest |
|
|
|
|
|
|
|
|
|
|
|||||
WSSoapAar |
|
|
|
|
|
|
|
|
|
|
|||||
WSSoapJar |
|
|
|
|
|
|
|
|
|
|
Le symbole indique que l'artéfact du composant A (celui défini sur la ligne du symbole) dépend de l'artéfact du composant B (celui défini sur la colonne de symbole).
↑ Haut de page
Dépendance de localisation Serveur
Description d'une dépendance "Serveur" du composant A vers le composant B en termes de dépendances d'artéfacts :
A dépend de B |
|||||||||||||||
Composant B |
|||||||||||||||
As400Adelia |
As400Server |
Cloud |
CloudSelenium |
CrystalReportsCloud |
CrystalReportsWeb |
JavaClient |
JavaServer |
Pojo |
Web |
WinClient |
WinServer |
WSRest |
WSSoapAar |
WSSoapJar |
|
Composant A | |||||||||||||||
As400Adelia |
|
||||||||||||||
As400ServerAs400Server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CloudSelenium |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsCloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsWeb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JavaClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JavaServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pojo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Web |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WinClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WinServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WSRest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WSSoapAar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WSSoapJar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Le symbole indique que l'artéfact du composant A (celui défini sur la ligne du symbole) dépend de l'artéfact du composant B (celui défini sur la colonne de symbole).
↑ Haut de page
Dépendance de localisation Client Serveur
Description d'une dépendance "Client Serveur" du composant A vers le composant B en termes de dépendances d'artéfacts :
A dépend de B |
|||||||||||||||
Composant B |
|||||||||||||||
As400Adelia |
As400Server |
Cloud |
CloudSelenium |
CrystalReportsCloud |
CrystalReportsWeb |
JavaClient |
JavaServer |
Pojo |
Web |
WinClient |
WinServer |
WSRest |
WSSoapAar |
WSSoapJar |
|
Composant A | |||||||||||||||
As400Adelia |
|||||||||||||||
As400ServerAs400Server |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
CloudSelenium |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsCloud |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CrystalReportsWeb |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JavaClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
JavaServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Pojo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Web |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
WinClient |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WinServer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WSRest |
|
|
|
|
|
|
|
|
|
|
|||||
WSSoapAar |
|
|
|
|
|
|
|
|
|
|
|||||
WSSoapJar |
|
|
|
|
|
|
|
|
|
|
Le symbole indique que l'artéfact du composant A (celui défini sur la ligne du symbole) dépend de l'artéfact du composant B (celui défini sur la colonne de symbole).
Dépendance des tâches Gradle du build Adélia
Le tableau ci-après détaille pour chaque tâche du build, les informations en entrée ainsi que les tâches dépendantes.
Nom de tâche |
Dépend de |
Description |
adelCompoSetInit |
clé adelCompoSetName, clé adelLstComponents |
Initialise le projet de build Adélia. |
adelCompoSetCreateAS400Lib |
clé adelGenAS400.language |
Créée les bibliothèques AS400 définies dans gradle.properties. |
adelCompoSetClean |
|
Vide le projet de build. |
adelCompoSetGenerate |
tâche adelCompoSetInit, tâche adelCompoSetCreateAS400Lib |
Lance la génération Adélia. |
adelCompoSetBuild |
tâche adelCompoSetGenerate |
Crée les artéfacts Adélia. |
uploadArchives |
clé version, clé uploadArchivesReleaseRepo, clé uploadArchivesShapshotRepo |
Transfère les artéfacts versionnés dans un référentiel. |
↑ Haut de page
Lancement d'un build en ligne de commande
Le lancement s'effectue en plusieurs étapes décrites ci-après :
Ouvrez une fenêtre de commande DOS exécutée en tant qu'administrateur,
Placez-vous dans le répertoire du projet de build,
Suivant le mode de génération choisi et la volonté de stocker les artéfacts dans un référentiel, lancez la commande suivante :
Mode de generation Adélia | Transfert des artéfacts dans référentiel |
|
OUI |
NON |
|
Global (1) |
gradlew adelCompoSetClean adelCompoSetBuild uploadArchives |
gradlew adelCompoSetClean adelCompoSetBuild |
Incrémental (2) |
gradlew adelCompoSetBuild uploadArchives |
gradlew adelCompoSetBuild |
(1) : adelGenIncremental=N
(2) : adelGenIncremental=Y
Remarques :
- L'appel à la tâche adelCompoSetClean en mode global permet d'assurer une cohérence entre le contenu d'un artéfact et les objets Adélia générés (cas d'un objet Adélia supprimé entre deux build),
- Si le mode incrémental est activé et que la tâche adelCompoSetClean a été exécuté, le prochain build en mode incrémental verra son mode forcé à global,
- Puisque Gradle offre les mécanismes de dépendance de tâche et de cache d'entrées de tâch, l'appel à la tâche adelCompoSetBuild déclenchera l'exécution de la tâche adelCompoSetInit (initialisation du projet) dans les cas suivants :
- Lors du premier lancement du build Adélia,
- Si entre deux exécutions de build, le nom de l'application à builder (paramètre adelCompoSetName) ou la liste des composants Adélia à générer (paramètre adelLstComponents) ont été modifiées.
Lancement d'un build via Jenkins
L'aide se base sur Jenkins version 2.66 et sur le plugin Gradle pour Jenkins version 1.27.1.
Dans une démarche d'intégration continue, l'outil Jenkins permet de lancer et d'ordonner des travaux (jobs) de manière automatique.
Il est possible de définir un job comme étant un build Adélia pour que celui-ci soit exécuté par Jenkins.
Cela peut se faire de deux manières différentes , décrites ci-après.
Build Adélia en ligne de commande
Lors du paramétrage du job, dans la section Build, ajoutez une étape au build via l'option "Exécuter une ligne de commande batch Windows": il est possible de saisir un ensemble de commandes au format batch DOS, qui seront exécutées séquentiellement comme par exemple :
cd /d "D:\build"
call gradlew adelCompoSetClean adelCompoSetBuild uploadArchives
Build Adélia via le plugin Gradle
Lors du paramétrage du job, dans la section Build, ajoutez une étape au build via l'option "Invoke Gradle script" : choisissez le bouton radio "Use Gradle Wrapper" puis renseignez les champs "Wrapper location" (saisissez le chemin du projet ou se trouve le fichier gradlew.bat - dans notre exemple D:\build) et "Task" (saisissez la liste des tâches Gradle à exécuter - dans notre exemple adelCompoSetClean adelCompoSetBuild uploadArchives).
De plus, il faut préciser le répertoire racine du projet de build. Pour cela, cliquez sur le bouton Avancé de l'étape et renseignez le champ "Root Build script" (dans notre exemple D:\build).