Griffon как запускать локальные плагины

Есть ли способ работать с локальными плагинами (например, в аналоге Grails: grails.plugin.location)?

Я думаю, что это большой недостаток, если его нет. Разработка плагина с аддонами и MVC без этого была бы настоящей головной болью.


person user1755335    schedule 12.03.2014    source источник


Ответы (1)


Griffon поддерживал эту функцию до версии 0.9.5, но нам пришлось ее удалить, так как она вызывала головную боль. Вместо этого мы позаботились о том, чтобы с плагинами моментальных снимков было проще работать. Плагины на месте в Grails работают нормально, потому что все плагины Grails распространяются в режиме исходного кода, что означает, что они компилируются одновременно с исходным кодом приложения.

Плагины Griffon распространяются в бинарном виде, так что можно подумать, что было бы проще, если бы эта функция работала, но нет; для начала транзитивные зависимости — это PITA; затем вы должны убедиться, что плагины скомпилированы в правильном порядке с их собственными зависимостями по отдельности (это не происходит в Grails!).

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

Имейте в виду, что в Griffon 2.0.0 этот вопрос будет спорным, поскольку проекты Griffon будут на 100% градуированными проектами, поэтому вы можете связать проекты плагинов как часть многопроектной сборки.

person Andres Almiray    schedule 13.03.2014
comment
Спасибо... прямо сейчас я сделал что-то подобное с Ant. Тем не менее, он чувствует много накладных расходов на разработку. Я считаю, что разработка с помощью плагина важна для моего кодирования, поскольку я использую griffon для своих собственных проектов, поэтому я не могу позволить себе терять время на вырезание/копирование кода. Я изучаю возможность создания интеграционного теста, который запускает части MVC прямо сейчас, поэтому, возможно, я снова смогу использовать jrebel... но я не близок к тому, чтобы заставить его работать... - person user1755335; 14.03.2014