Grails Определить, установлен ли плагин - PullRequest
8 голосов
/ 31 мая 2010

Есть ли способ в Grails обнаружить, что плагин установлен.Например, мне нужно знать, установлен ли плагин "Acegi".Если это так, я могу запустить другой код.Если плагин не установлен (что является приемлемым вариантом), тогда я могу запустить другой код.

Заранее спасибо.

Ответы [ 3 ]

8 голосов
/ 31 мая 2010

Вы можете использовать менеджер плагинов для этого:

import org.codehaus.groovy.grails.plugins.PluginManagerHolder

if (PluginManagerHolder.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}
3 голосов
/ 17 февраля 2015

Обновление для Grails 2.4 +

Обратите внимание, что определенные классы держателей, такие как PluginManagerHolder, были объявлены устаревшими для нескольких версий Grails и удалены в Grails 2.4. Они были заменены одним классом grails.util.Holders, обеспечивающим доступ ко всем различным объектам всего приложения через одну точку доступа.

import grails.util.Holders

if (Holders.pluginManager.hasGrailsPlugin('acegi')) {
   ...
}
3 голосов
/ 01 сентября 2014

Вы можете использовать <плагин: isAvailable> и <плагин: isNotAvailable> теги.

Пример использования плагина OP acegi:

<plugin:isAvailable name="acegi">
    You have acegi installed!
</plugin:isAvailable>
...