Closed JabX closed 1 year ago
J'attire l'attention sur ça :
Tous les schémas générés sont identiques, sauf celui du sample PHP puisqu'il référence le générateur PHP en plus des autres. Evidemment, à terme, tous les générateurs seront chargés de la même façon et modgen n'incluera plus aucun générateur, mais il y a plein de questions à résoudre autour du versionning et de l'acquisition des générateurs s'ils ne sont plus packagés avec modgen. C'est pas pour tout de suite quoi 😅
Fix #240 Fix #189
Une nouvelle commande
modgen --schema
(oumodgen -s
) a été ajoutée pour générer le schéma JSON de configuration dutopmodel.config
. Il est généré a côté du fichier de configuration en complétant son nom par.schema.json
(donc icitopmodel.config.schema.json
. Pour l'utiliser dans VSCode, il faut renseigner le mapping à la main dans lesettings.json
, par exemple :Il faudrait probablement intégrer à l'extension l'appel à
modgen --schema
et l'ajout de cette configuration, au moins via une commande manuelle. En l'état même si on fait rien ce n'est pas très grave, il manquera juste l'autocomplétion/validation des configurations de générateurs dans VSCode, puisqu'elles ne sont plus livrées avec l'extension.Cette évolution permet de localiser le schéma de config de chaque générateur avec chaque générateur, au lieu de tout centraliser dans
TopModel.Core
(ce qui n'avait pas beaucoup de sens en plus).De plus, il est également possible de référencer un projet C# contenant un générateur directement dans le fichier de config topmodel, ce qui a été fait dans le sample PHP par exemple :
Les générateurs et la config définis dans ce projet sont ajoutés aux générateurs intégrés à modgen de manière transparente. En particulier,
modgen --schema
incluera bien la configuration des générateurs personnalisés.Il est nécessaire que le projet C# ait été build pour que modgen le trouve (on charge les binaires directement). De plus, on publiera
TopModel.Generator.Core
sur nuget en plus deTopModel.Generator
pour qu'il puisse être utilisé en dehors de ce repository (ce qui est un peu le but 😉).(Le générateur PHP a donc été retiré de
modgen
pour l'instant (car non testé encore), mais est toujours inclus dans les samples via cette nouvelle fonctionnalité. Il est prévu à terme de l'inclure dans modgen).