Как реализовать преобразование AST в Groovy в плагине Grails?

Я хотел бы изменить некоторые из моих классов домена Grails во время компиляции. Сначала я подумал, что это работа для глобального преобразования AST в Groovy, так как я не хочу аннотировать классы своего домена (которые требуются локальным преобразователям). Какой лучший способ сделать это?

Я также пытался подражатьDefaultGrailsDomainClassInjector.java создав свой собственный класс в том же пакете, реализуя те же интерфейсы, но я, вероятно, просто не знал, как упаковать его в нужном месте, потому что я никогда не видел, чтобы мои методы вызывались.

С другой стороны, я смог вручную создать JAR, который содержал скомпилированный класс преобразования AST, а также артефакты META-INF / services, которые требуются для простых преобразований Groovy. Я бросил этот JAR-файл в директорию lib моего проекта и был успешно вызван visit (). Очевидно, это была неаккуратная работа, потому что я надеюсь получить исходный код моего преобразования AST в плагине Grails и не требовать отдельного JAR-артефакта, если мне это не нужно, плюс я не смог заставить этот подход работать, имея JAR в "lib" моего плагина Grails, но вместо этого пришлось поместить его в "lib" приложения Grails.

Этот пост тоже немного помог:Grails 2.1.1 - Как разработать плагин с помощью AstTransformer?

Ответы на вопрос(1)

Ваш ответ на вопрос