2016-01-18 3 views
0

Можно ли установить стратегию разрешения для builscript, чтобы можно было установить версию плагина gradle по центру? Например:Gradle: стратегия построения buildscript

build.gradle:

buildscript { 
    dependencies { 
     classpath 'org.springframework.boot:spring-boot-gradle-plugin' 
    } 
} 

apply from: 'common.gradle' 
apply plugin: 'spring-boot' 

dependencies { 
    ... 
} 

common.gradle:

allprojects { project -> 
    buildscript { 
     repositories { 
      jcenter() 
     } 
    } 

    configurations.all { 
     resolutionStrategy { 
      eachDependency { details -> 
       if (details.requested.group == 'org.springframework.boot' and details.requested.name == 'spring-boot-gradle-plugin') 
        details.useVersion '1.3.1.RELEASE' 
      } 
     } 
    } 
} 

Я пробовал около 100 различных вариантов выше, все результат ошибки произнося загрузки пружины версия плагина gradle не может быть разрешена (которая еще не заполнена)

ответ

1

Несколько иной подход к централизованному набору версии плагина: используйте init.gradle

В вашем init.gradle:

allprojects { 
    ext.springBootGradlePluginVersion = '1.3.1.RELEASE' 
    println "spring-boot-gradle-plugin version set in init.gradle to $springBootGradlePluginVersion" 
} 

Тогда в ваших индивидуальных проектов:

buildscript { 
    dependencies { 
     classpath "org.springframework.boot:spring-boot-gradle-plugin:$springBootGradlePluginVersion" 
    } 
} 

apply from: 'common.gradle' 
apply plugin: 'spring-boot' 

Вы можете либо использовать глобальный init.gradle в вашей домашней папке, или вызвать его на проект во время работы gradle с опцией командной строки -I.

+0

Я полагаю, вы могли бы сделать то же самое, используя gradle.properties – RaGe

Смежные вопросы