Il ne s'agit pas d'une solution, mais d'une tentative de faire progresser l'état de la question en partageant quelques expériences. (Je n'ai pas encore trouvé le moyen de tester les symboles de compilation conditionnelle).
Il s'agit d'un moyen de consolider l'activation et la désactivation du débogage :
<#@ include file="debug.incl" #>`
some text1
<# if ( xdebug ) { #>
foo = bas;
<# } #>
more text
Où se trouve le fichier debug.incl :
<#
bool xdebug = true;
#>
Le conditionnel (if) dans le premier fichier est capable de voir la valeur de xdebug, de sorte que la sortie est modifiée en fonction de la configuration de xdebug
dans debug.incl.
Malheureusement, les fichiers de sortie ne sont pas reconstruits en cas de modification du fichier debug.incl, malgré l'inclusion évidente de ce dernier. Et même un nettoyage et une reconstruction ne semblent pas déclencher la génération, donc une construction séparée est nécessaire pour cela...
(J'ai essayé debug.tt au lieu de debug.incl sans succès, j'ai changé pour .incl afin que debug.cs ne soit pas créé par debug.tt).
Cela n'a pas très bien fonctionné car il ne voit pas les symboles de compilation conditionnelle, alors qu'il active l'attribut de débogage du modèle !
<#
#if DEBUG
bool xdebug = true;
#else
bool xdebug = false;
#endif
#>
some text1
<# if ( xdebug ) { #>
foo = bas;
<# } #>
more text
avec <#@ template debug="true" #>
vs. <# template debug=false #>
vous obtenez la sortie conditionnelle ou non, respectivement.