Расширение функциональности Grails Plugin - PullRequest
7 голосов
/ 15 марта 2011

Я хотел бы знать, возможно ли это и существует ли общий способ расширения функциональности плагина grails.

Я недавно установил комментируемый плагин, но мне нужно внести в него некоторые изменения,Поскольку код не сохраняется вместе с проектом (но в пользовательском каталоге), если я изменю его, после обновления плагина (или проекта на каком-либо другом компьютере) эти изменения будут потеряны.

Кто-то делаетесть идеи?

Спасибо, Николас

Ответы [ 3 ]

9 голосов
/ 15 марта 2011

Если вы хотите переопределить артефакт (например, класс домена), создайте его с тем же именем в вашем проекте.Плагины компилируются отдельно от классов приложения, и их артефакты регистрируются первыми, поэтому если в основном приложении есть артефакт, он заменит плагины.Обязательно используйте один и тот же пакет для классов домена, хотя это не требуется для контроллеров или служб.

4 голосов
/ 16 марта 2011

Если вы хотите полностью изменить плагин, вы можете попробовать изменить и затем перекомпилировать плагин и собрать его в zip-файл с другим именем.

Затем вы можете установить настроенный плагин из исходного кода. Вы можете обратиться к вопросу здесь.

0 голосов
/ 07 сентября 2012

В одном проекте нам был необходим список разрешенных адресов электронной почты, на которые приложение было разрешено отправлять почту, для одной среды (QA), чтобы различные стороны, участвующие в проекте, могли протестировать приложение без риска получения почты.быть отправлено нашим клиентам клиентам (конечным клиентам).

Было слишком большой задачей изменить все кодовые блоки, которые выполняли рассылку, поэтому я реализовал собственный расширитель для базового класса mail-plugin (grails).plugin.mail.MailMessageBuilder), который взял список разрешенных адресов электронной почты из конфигурации приложения и переопределил метод, который разрешал адреса перед отправкой почты (toDestinationAddresses).Затем я заменил фабричный метод (из плагина), который производит MailMessageBuilders, чтобы он создавал мои собственные компоновщики через Groovy metaClass в начальной загрузке Grails.

Это было чистое, ненавязчивое исправление, и оно работало хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...