Пользовательские плагины dependencies.groovy игнорируются

Проблема: я создал собственный подключаемый модуль Grails, определил свои зависимости от других подключаемых модулей через BuildConfig.groovy и упаковал свой подключаемый модуль в zip-файл. Затем я добавил zip в свой локальный репозиторий maven, и все в порядке. В файле dependencies.groovy внутри zip есть мои зависимые записи плагинов, как и должно быть. Пример:

grails.project.dependency.resolution = {
   inherits 'global'
   log 'warn'
   repositories {
      grailsCentral()
   }
   dependencies {
      // runtime 'mysql:mysql-connector-java:5.1.5'
   }
   plugins {
      build(':release:2.0.4', ':rest-client-builder:1.0.2') {
         export = false
      }
      compile ":rest:0.7"      // #1 plugin I'm dependent upon
      compile ":fields:1.3"    // #2 plugin I'm dependent upon
   }
}

Когда я добавляю подключаемый модуль в качестве зависимости компиляции в другом проекте (внутри eclipse, через файл BuildConfig.groovy) и обновляю свои зависимости Grails, подключаемый модуль устанавливается, но подключаемые модули, от которых зависит мой подключаемый модуль, не устанавливаются (dependencies.groovy игнорируется).

Я видел эту проблему, опубликованную снова и снова, и никто не предлагает реального решения. Кто-нибудь нашел решение этой проблемы?


person rittinger    schedule 15.08.2013    source источник
comment
зависимые не установлены Как вы это проверяли? У меня все мои пользовательские плагины установлены в локальном maven, и это работает.   -  person    schedule 15.08.2013
comment
Один и тот же вопрос всплывал трижды за два дня. Вчера протестировал и ответил на аналогичный вопрос, все выглядит нормально.   -  person dmahapatro    schedule 15.08.2013
comment
Не уверен, что понимаю. Если вы посмотрите на приведенный выше код из файла dependencies.groovy для моего пользовательского плагина, вы увидите, что я зависим от плагина «остальные» и «поля». Когда мой плагин установлен в моем основном приложении, я получаю ошибку компиляции, потому что остальные не могут быть найдены. Файл dependencies.groovy игнорируется (что касается остальных плагинов и полей).   -  person rittinger    schedule 15.08.2013
comment
Я также попытался запустить: grails dependency-report В отчете показано, что мой плагин НЕ имеет зависимостей, хотя в файле dependecies.groovy показано, что мне нужен плагин остальных и полей. Я новичок в groovy/grails и полагаю, что где-то допустил ошибку в одном из своих файлов?!?!   -  person rittinger    schedule 15.08.2013
comment
Я предполагаю, что вы используете более старую версию своего плагина, может быть, какой-то кеш? Попробуйте изменить версию плагина и снова выполните установку maven.   -  person    schedule 15.08.2013
comment
Я усовершенствовал проекты плагинов и приложений в eclipse. Когда я смотрю на иерархию зависимостей для плагина, я вижу плагин «остальные» и «поля», как и ожидалось. Когда я просматриваю иерархию зависимостей для приложения (которое использует мой плагин), я вижу свой плагин в списке, но не вижу двух плагинов, от которых я зависим (остальные и поля). Maven должен понимать это динамически, верно?   -  person rittinger    schedule 19.08.2013
comment
Вот мои окончательные выводы: - если вы используете встроенные зависимости в BuildConfig, динамические леса, предоставляемые моим плагином, не копируются в мое приложение. Потерпеть неудачу. - если вы устанавливаете плагин в Maven без опции -DpomFile и используете pom true в buildconfig, скаффолдинг копируется, но транзитивные зависимости не разрешаются. - Чтобы исправить это, обязательно включите файл плагина pom.xml при выполнении установки mvn. Все работает. - Вы должны позволить pom управлять вашими зависимостями. Использование только BuildConfig не разрешит транзитивные зависимости, ДАЖЕ ЕСЛИ dependencies.groovy присутствует в архиве   -  person rittinger    schedule 20.09.2013