Не может видеть обновления на Grails (2.4.3) плагин

У меня есть Grails PRJ (2.4.3) с несколькими плагинами

  • ГЛАВНЫЙ ПРЖ
  • Плагин А
  • Плагин B

В Main PRJ buildConfig.groovy - это:

    plugins {
            // plugins for the build system only
            build ":tomcat:7.0.55"

            // plugins for the compile step
            compile ":scaffolding:2.1.2"
            compile ':cache:1.1.7'
            compile ":asset-pipeline:1.9.6"
            compile ":plugin-a:0.1"
            compile ":plugin-b:0.3"
}

После внесения изменений в плагин А я выполняю:

grails clean
grails maven-install
grails mavel-deploy (for remote nexus)

На Главном PRJ

grails clean
grails refresh-dependencies
grails run-app 

Но когда проект запускается, я не вижу обновлений на PluginA. Я должен увеличить версию в дескрипторе плагина. После этого я вижу обновления!

Сейчас..

  1. Можно ли избежать увеличения версии?
  2. Какова лучшая практика для разработки с несколькими плагинами?

заранее спасибо

Луис

2 ответа

Решение

Из официального документа:

Конфигурация Изменение зависимостей Как правило, зависимости постоянны. То есть для данной комбинации группы, имени и версии jar (или плагин), на который он ссылается, никогда не изменится. Система управления зависимостями Grails использует этот факт для кэширования зависимостей, чтобы избежать необходимости каждый раз загружать их из исходного хранилища. Иногда это не желательно. Например, многие разработчики используют соглашение о снимке (то есть зависимости с номером версии, оканчивающимся на "-SNAPSHOT"), которое может время от времени изменяться, сохраняя при этом тот же номер версии. Мы называем это "изменяющейся зависимостью".

Всякий раз, когда у вас меняется зависимость, Grails всегда проверяет наличие новой версии в удаленном хранилище. Более конкретно, когда изменяющаяся зависимость встречается во время разрешения зависимости, ее последняя измененная временная метка в локальном кэше сравнивается с последней измененной временной меткой в ​​репозиториях зависимостей. Если версия на удаленном сервере считается более новой, чем версия в локальном кэше, новая версия будет загружена и использована.

Тогда, если я использую ** - ** SNAPSHOT в моей библиотеке, каждый compile а также maven-install даст мне обновленную библиотеку.

Удалить target каталог в корневом каталоге вашего приложения вместо запуска grails clean, затем grails compile внесет изменения в ваш плагин без увеличения версии плагина.

Другие вопросы по тегам