2016-01-18 99 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个人文件夹,或调用它每个项目的运行时使用-I命令行选项进行gradle。

+0

我想你可以用gradle.properties做同样的事情 – RaGe