2017-02-15 3 views
0

Я разработал внутренний плагин. Плагин имеет собственную версию. Затем я использую этот плагин для процесса сборки в репозитории. Если я изменю версию плагина, мне нужно обновить build.gradle, чтобы записать новую версию. У меня около 100 таких репозиториев. Есть ли способ указать в моем build.gradle использовать последнюю версию плагина, который можно найти в этом месте? Я мог запустить пакетный файл перед тем, как перейти на новую версию, обновить build.gradle с этим номером, а затем запустить процесс сборки, но это большая работа с функциональностью, которая должна быть доступна. Смотрите ниже код, где я называю плагин, который я меняю довольно часто:Gradle: как использовать последнюю версию плагина автоматически

buildscript { 
    repositories { 
     maven { 
      url "c:/git/_TEST/plug-in" 
     } 
     mavenCentral() 
     maven { 
      url "https://plugins.gradle.org/m2/" 
     } 
    } 
    dependencies { 
     classpath group: 'com.myplugin.gradle', name: 'com.myplugin.mypluginbuild', version: '1.0' 
    } 
apply plugin: 'com.myplugin.mypluginbuild' 
} 

если не указать версию, она возвращает ошибку. Какие-либо предложения?

+0

Вы можете использовать динамические версии: https://docs.gradle.org/current/userguide/dependency_management.html#sub:dynamic_versions_and_changing_modules – sm4

ответ

0

Невозможно таким образом. См. Блок plugins {} и plugins.

  • Для основных плагинов вы не должны предоставлять версию.
  • Для плагинов сообщества вы должны предоставить версию.

Может script plugins в путь:

apply from: 'my_script_plugin.gradle' 
+0

Хорошее предложение, но я не в состоянии использовать заявление Id. Он терпит неудачу, потому что он не может найти «com.myplugin.mypluginbuild» в Gradle Core или Gradle Central Repository. Как его реализовать? – tony

0

У меня есть решение этого вопроса. +, указанный в поле версии, сделает трюк. Это позволит градле использовать последний подключаемый модуль автоматически. т.е:

dependencies { 
     classpath group: 'com.myplugin.gradle', name: 'com.myplugin.mypluginbuild', version: '1.+' 
    } 
Смежные вопросы