Written by CEA/IFPEN and Contributors
(C) Copyright 2000-2021- CEA/IFPEN. All rights reserved.
All content is the property of the respective authors or their employers.
For more information regarding authorship of content, please consult the listed source code repository logs.
Axlstar est un ensemble d'outils pour générer à partir de fichier XML
au format axl
des classes C++ pour créer des services ou des modules
pour la plateforme Arcane.
La compilation se fait via la commande suivante:
Avec .NetCore en utilisant la version 3.1 du SDK
dotnet publish Arcane.Axl.sln -f netcoreapp3.1 ${MSBUILD_ARGS}
Les arguments de msbuild sont le plus souvent des propriétés. Les propriétés les plus utiles sont:
-
BinDir qui spécifie le répertoire où sont conservé les produits de la compilation. Cette propriété doit contenir un '/' terminal (par exemple
/p:BinDir=/tmp/buildtest/
. Cette variable est propre à Axlstar et est utilisé dans le fichierDirectory.Build.props
lu lors de la compilation. -
OutputPath qui spécifie le répertoire final où seronts installés les binaires. Cette propriété doit contenir un
/
final. -
RestoreConfigFile qui spécifie un fichier de configuration NuGet contenant une liste des sources pour la récupération des packages. Cela est utile pour les machines qui ne sont pas connectées à internet.
Pour .NetCore, il est possible d'avoir plusieurs versions de SDK et de runtime dans la même arborescence.. Le sdk se trouve dans le répertoire 'sdks' et le runtime dans le répertoire 'shared/Microsoft.NETCore.App'. Les options '--list-sdks' et '--list-runtimes' permettent de vérifier qu'on a les bon runtimes.
NOTE: avec dotnet
, il est nécessaire de faire un publish
pour que
les packages externes au projet (par exemple Newtonsoft.Json) soient
installés. Le répertoire de sortie de la commande publish est
autonome et peut être recopié directement lors de l'installation.
Après toute modification du schéma 'axl.xsd', il faut générer fichier 'axl.cs' via l'outil xsd de mono:
xsd axl.xsd /classes /namespace:Arcane.Axl.Xsd
Cela génère un fichier 'axl.cs' dans le répertoire courant qu'il faut ensuite copier dans Arcane.Axl.T4/Arcane.Axl/Axl.From.Xsd.
Sous linux avec monodevelop
et .NetCore
, les fichiers C# ne sont plus générés
automatiquement à partir des fichiers .tt
. Un utilitaire se trouve dans le
répertoire TextTransform
pour générer ces fichiers.