Documentation¶
Bienvenue sur la documentation¶
Vous trouverez dans cette documentation des informations concernant les produits commercialisés et supportés par Hybrid Technologies Solutions. Au cas où une information serait incorrecte ou manquante, n’hésitez pas à créer un ticket sur notre système de support.<https://hts-support.freshdesk.com/support/tickets/new>
Installation¶
Généralités¶
CQELight Analyzers est une collection d’outils qui analysent le code source produit avec le framework d’entreprise CQELight et fourni un ensemble de résultats. Ces outils sont fournis sous forme de dotnet global tool.
Analyzers¶
Messaging Analyzers¶
- Les analyzers de messaging vont analyser le code de messaging de votre application pour vérifier un ensemble de choses (par exemple s’il existe une ou plusieurs boucle de message dans votre code). Cette suite d’analyzer est composé de trois outils :
- CQELight_CodeRewriter
- CQELight_MapGenerator
- CQELight_MapAnalyzer
CQELight_CodeRewriter¶
Cet analyzer va réécrire le code source de vos projets pour y ajouter des annotations (des attributs) qui ne changent rien à l’aspect fonctionnel de votre code. Ces attributs permettent aux outils suivant d’exploiter certaines métadonnées pour générer la carte de messaging la plus précise possible.
CQELight_MapGenerator¶
Cet analyzer va générer une cartographie du système qui comprends la totalité des messages du système en cours d’analyse (fonctionnement par dossier). Cette carte, au format json, va pouvoir être exploitée pour voir les informations de votre système, comme par exemple quels sont les messages, qui envoie quoi, qui reçoit quoi, etc.
CQELight_MapAnalyzer¶
Cet analyzer va se servir de la carte générée précédemment pour faire une suite de vérifications. Si certaines vérifications sont en erreur (comme par exemple l’existence d’un cycle dans vos communications inter-services), un code de retour d’erreur est renvoyé par l’outil, qui peut être utilisé pour interrompre un processus quelconque.
Installation¶
Il est nécessaire d’installer les trois outils cités précédemment grâce à la commande dotnet tool install –global –add-source https://nuget.hybrid-technologies-solutions.com/ suivie du nom de l’outil. Par exemple, pour installer le premier, CQELight_CodeRewriter, il faudra faire la commande suivante : dotnet tool install –global –add-source https://nuget.hybrid-technologies-solutions.com CQELight_CodeRewriter
Installation de la licence¶
La licence est un fichier .lic qui doit s’appeler license-CQELight_Analyzers_Collection-app_lNW411PSRQr1.lic. Il est impératif de ne pas modifier ce nom, car les outils iront chercher exactement ce dernier. On peut préciser au lancement de l’outil le chemin vers la licence grâce à l’option « —licence_path:[PATH] ». A défaut de présence de cette option, l’outil ira chercher la licence :
- Dans le répertoire « %APPDATA%\CQELight\licences » sous Windows
- Dans le répertoire « /opt/cqelight/licences » sous Linux & Mac OS X
Au lancement de l’outil, la phrase « Licence vérifiée » doit s’afficher en vert comme première instruction si vous avez mis la licence dans le bon dossier. Si la licence ne peut pas être vérifiée (absence du fichier, fichier corrompu, etc.), les outils basculent automatiquement sur la version démo.
Utilisation¶
Chaque outil fourni dispose de sa propre aide, disponible en appelant l’outil suivi de « -h ».
CQELight_CodeRewriter¶
- Cet outil s’appelle en ligne de commande cqe_rewrite [MODE]. Le mode correspond à ce que l’outil doit réécrire. Les valeurs disponibles sont :
- produce : Réécris les fichiers qui sont producteur d’un message donné pour ajouter l’information sous forme d’attribut sur la classe concernée.
- Options de cqe_rewrite produces [DIR] [OPTIONS] :
- [DIR] : le répertoire parent dans lequel il faut trouver les fichiers cs. Si non spécifié, le répertoire courant d’exécution sera considéré. Pour chaque fichier cs trouvé, le csproj du projet concerné se verra ajouté une référence vers le package CQELight_AnalyzersCommon qui contient les attributs ajoutés.
- [OPTIONS] : possibilité de préciser plusieurs options de fonctionnement :
- -no-csproj : N’ajoute pas le package dans le csproj (peut créer des erreurs de compilations s’il est absent)
- -nonuget : Ne réécris pas (ou ne créé pas s’il n’existe pas) le fichier Nuget.config qui contient le chemin vers le serveur Hybrid Technologies Solutions
- -tests : Réécris également les projets qui sont détectés comme projets de tests unitaires
- -ver [VERSION] : Définis la version du package a ajouté au csproj. Si non précisé, l’outilse chargera de prendre la version la plus appropriée.
- -v | –verbose : Bascule l’outil en mode verbeux permettant d’avoir des traces sur ce qui est fait (à des fins de débug)
CQELight_MapGenerator¶
- Cet outil s’appelle en ligne de commande cqe_mapgen [PROJECTS] [OPTIONS].
- [PROJECTS] : contient le répertoire dont on veut générer la map (recherche récursive des DLLs présentes à l’intérieur) ou le chemin vers les DLL à traiter
- [OPTIONS] : possibilité de préciser plusieurs options de fonctionnement :
- -o [DIR] : spécifie à le répertoire de sortie
- -f [FILTER] : spécifie un filtre à appliquer lors de la recherche des DLLs. Se comporte comme « contient ».
- r : définit si la recherche doit être récursive dans le cas où [PROJECTS] est un dossier. Sans effet si [PROJECTS] est un fichier.
- -v | –verbose : Bascule l’outil en mode verbeux permettant d’avoir des traces sur ce qui est fait (à des fins de débug)
CQELight_MapAnalyzer¶
- Cet outil s’appelle en ligne de commande cqe_mapanalyze [FILE] [OPTIONS].
- [FILE] : chemin vers le fichier à analyser. Si non fourni, un fichier appelé « map.json » sera recherché dans le répertoire courant.
- [OPTIONS] : possibilité de préciser plusieurs options de fonctionnement :
- -v | –verbose : Bascule l’outil en mode verbeux permettant d’avoir des traces sur ce qui est fait (à des fins de débug)
Versions¶
- 1.0.0.0 : Version initiale. Recherche dans cycle de communication.