Конвертировать приложение Grails в плагин - PullRequest
8 голосов
/ 06 апреля 2010

Я запустил приложение grails от grails create-app. Для модульности я чувствую, что было бы лучше, чтобы компонент был плагином. Могу ли я преобразовать это приложение в плагин Grails? Спасибо, Баба.

Ответы [ 2 ]

5 голосов
/ 06 апреля 2010

Я никогда не создавал плагин на основе ранее написанного приложения, но, глядя на документацию для плагинов Grails , вы можете прочитать следующее утверждение:

Структура плагина Grails точно такая же, как и структура каталога обычного проекта Grails, за исключением того, что в корне каталога плагина вы найдете файл плагина Groovy, который называется «дескриптор плагина».

Поэтому я бы предложил создать новый плагин с grails create-plugin *your-plugin-name* и скопировать все файлы из вашего приложения в плагин.

1 голос
/ 09 апреля 2015

Если кто-то ищет, это должно быть именно то, что вам нужно: http://burtbeckwith.com/blog/?p=1973

Выдержка:

Таким образом, чтобы преобразовать приложение в плагин, общий рабочий процесс будет быть чем-то вроде

  • Создайте дескриптор плагина FooGrailsPlugin.groovy. Самый простой способ сделать это - запустить плагин create-plugin name и скопировать сгенерированный файл оттуда

  • удалить все из application.properties, кроме свойства app.grails.version

  • если у вас есть jar-файлы в каталоге lib, доступные в репозитории Maven, удалите их и замените зависимостями BuildConfig.groovy

  • изменить любые зависимости плагина и jar, которые необходимы для разработки и тестирования, но не, когда плагин установлен, чтобы не быть экспортировано, добавив export = false

  • Если вам нужны скрипты _Install.groovy, _Uninstall.groovy или _Upgrade.groovy (вы, вероятно, этого не делаете), извлеките их из фиктивного плагина из шага 1 (но удалите все, что вам не нужно, они все по желанию)

  • удалить ApplicationResources.groovy, если вы его не используете и не зависите от плагина ресурсов

  • переместить код из BootStrap.groovy init () в FooGrailsPlugin.doWithApplicationContext и / илиFooGrailsPlugin.doWithDynamicMethods и destroy () для FooGrailsPlugin.onShutdown и удалите BootStrap.groovy

  • добавить зависимость для плагина релиза в BuildConfig.groovy

  • удалить все, кроме конфигурации log4j из Config.groovy

  • удалить UrlMappings.groovy, если вы не экспортировали сопоставления; оставляйте только добавленные

  • переместить определения bean-компонентов из resources.groovy в FooGrailsPlugin.doWithSpring и удалить resources.groovy

  • удалить файлы пакета сообщений grails-app / i18n, если вы не добавили сообщения; оставляйте только добавленные

  • удалить все из grails-app / views, которые вы не используете (в частности, error.gsp, index.gsp и layouts / main.gsp)

  • удалить из веб-приложения все, что вы не используете (включая файлы WEB-INF xml и tld)

  • сейчас самое время написать те тесты, которые вы хотели получить до

  • создайте одно или несколько тестовых приложений для установки плагина, чтобы убедиться, что он работает как плагин; рассмотрите возможность написания сценария

  • написать документацию о том, как использовать плагин; как минимум файл README, но файлы Grails gdoc были бы намного лучше (запустите grails doc - начать работу)

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