Есть ли способ работать с локальными плагинами (например, в аналоге Grails: grails.plugin.location)?
Я думаю, что это большой недостаток, если его нет. Разработка плагина с аддонами и MVC без этого была бы настоящей головной болью.
Есть ли способ работать с локальными плагинами (например, в аналоге Grails: grails.plugin.location)?
Я думаю, что это большой недостаток, если его нет. Разработка плагина с аддонами и MVC без этого была бы настоящей головной болью.
Griffon поддерживал эту функцию до версии 0.9.5, но нам пришлось ее удалить, так как она вызывала головную боль. Вместо этого мы позаботились о том, чтобы с плагинами моментальных снимков было проще работать. Плагины на месте в Grails работают нормально, потому что все плагины Grails распространяются в режиме исходного кода, что означает, что они компилируются одновременно с исходным кодом приложения.
Плагины Griffon распространяются в бинарном виде, так что можно подумать, что было бы проще, если бы эта функция работала, но нет; для начала транзитивные зависимости — это PITA; затем вы должны убедиться, что плагины скомпилированы в правильном порядке с их собственными зависимостями по отдельности (это не происходит в Grails!).
То, что предлагает Griffon, — это лучшая обработка зависимостей моментальных снимков. Так что это правда, вы должны скомпилировать, упаковать и опубликовать плагин в локальном репозитории, чтобы приложение могло его использовать, но, учитывая, что Griffon поддерживает локальные (простая структура каталогов) и удаленные (приложение на основе Grails) репозитории, на самом деле это тривиально получить рабочий процесс запущен.
Имейте в виду, что в Griffon 2.0.0 этот вопрос будет спорным, поскольку проекты Griffon будут на 100% градуированными проектами, поэтому вы можете связать проекты плагинов как часть многопроектной сборки.