Как установить плагин Grails из исходного кода?

Я получил исходный код плагина от друга, но до сих пор не знаю, как его установить в мой проект. Да, есть команда install-plugin, но этому плагину не разрешено загружать в корневой каталог плагинов grails.

Как установить плагин Grails из исходного кода?

UPDATE: плагин разработан для Grails 1.1, но мой текущий проект - Grails 1.3. Может ли это вызвать какие-либо проблемы?

Ответы

Ответ 1

Вы можете упаковать плагин в zip и установить из него.

Откройте командную строку в корневом каталоге, содержащем источник плагина, и запустите grails package-plugin с параметром GRAILS_HOME, установленным для установки 1.1 Grails и $GRAILS_HOME/bin в вашем PATH. Это создаст zip файл, например. grails-myplugin-0.1.zip. Чтобы установить его, запустите grails install-plugin /path/to/grails-myplugin-0.1.zip в содержащем приложении (используя 1.3).

У вас, вероятно, не возникнет проблем с установкой плагина 1.1 в приложении 1.3, но вы можете обновить его, если есть проблемы, или воспользоваться преимуществами более поздних версий Groovy и Grails.

Мой процесс обновления плагинов или приложений с большим промежутком в таких версиях состоит в том, чтобы не запускать grails upgrade - это лучше всего подходит для более мелких дельта-версий, например. для обновления с 1.3.1 до 1.3.5.

Вместо этого я предлагаю создать новый пустой плагин в 1.1. Либо вручную, либо с помощью утилиты directory-diff, найдите все удаленные, добавленные и измененные файлы в плагине, если текущий плагин будет пустым. Затем создайте новый пустой плагин с помощью Grails 1.3.x. Перемещение по новым файлам, удаление удаленных файлов и внесение соответствующих изменений в отредактированные файлы.

Отредактированные файлы будут в основном находиться под grails-app/conf, поэтому вам нужно быть немного осторожным, так как некоторые вещи изменились. Но в целом это должно быть безопасно применять большинство или все изменения.

Ответ 2

Ответ Burt хорош, но другой вариант - просто скопировать все файлы плагина в подкаталог вашего проекта и проверить их. Затем вы можете указать свое приложение в этот каталог плагина в BuildConfig.groovy:

grails.plugin.location.myplugin = 'myplugindir'

Таким образом, вам не придется беспокоиться об установке плагина снова, если вы строите на другом компьютере или очищаете свою папку .grails.

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

Ответ 3

Начиная с Grails 2.3, больше не возможно устанавливать плагины непосредственно из файловой системы.

что это означает: Нет больше возможностей использовать grails install-plugin cmd.

Вместо этого вы должны использовать maven следующим образом:

  cd /to/path/root/of/myPlugin/ 
  grails maven-install 

Перейдите к:

   $HOME/.m2/repository/org/grails/plugins/

Вы найдете директорию с тем же именем вашего плагина:

   $HOME/.m2/repository/org/grails/plugins/myPlugin

IT означает, что публикация плагинов как репозитория maven выполнена успешно.

Вот, перейдите в BuildConfig вашего основного приложения и добавьте в plugins закрытие:

compile ":myPlugin:0.1"