Skip to content
This repository has been archived by the owner on Aug 5, 2023. It is now read-only.

arcaneframework/axlstar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Axlstar

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.

Introduction

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.

Prérequis

Utilisation de .NET

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 fichier Directory.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.

Notes aux développeurs

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.