2017-09-14 5 views
0

Je voudrais imposer la liaison statique pour un paquet entier dans groovy. La liaison statique nécessite use of CompileStatic. Je voudrais éviter de répéter cela à chaque cours. Comment puis-je l'appliquer en tant qu'annotation au niveau du package. Je n'ai trouvé aucune référence aux annotations au niveau du paquet dans groovy.Comment ajouter l'annotation @CompileStatic à la portée du paquet dans groovy

Pouvez-vous s'il vous plaît fournir un morceau de code qui montre comment appliquer l'annotation à un paquet a.b.c?

+0

Avez-vous lu où que l'annotation mentionnée peut être appliquée à l'emballage? D'où la question postée? – Rao

Répondre

0

Ceci n'est pas testé, mais je pense qu'il devrait être possible de créer une bonne combinaison d'un configurationScript, un personnalisateur conscient de la source et un customizer de transformation AST expliqué dans docs dsl.

quelque chose comme:

withConfig(configuration) { 
    source(unitValidator: { unit -> unit.AST.classes.any { it.packageName== 'a.b.c' } }) { 
     ast(CompileStatic) 
    } 
} 
+0

haha, l'a testé et ça a marché! :) Bien sûr, utilisez packageName.startsWith ('a.b.c') pour inclure les sous-packages. – andi