我正在编写一组Gradle插件,但我想控制使用的groovy和gradle的特定版本。
我不希望插件依赖于安装的任何Gradle / Groovy版本,如下所示:
dependencies {
compile localGroovy()
compile gradleApi()
}
我不想使用本地方法的另一个原因 - 当您使用正确的依赖项规范时,Gradle会知道这些库的源代码,IDE插件可以自动连接源代码。
以下是我的构建脚本的相关部分:
allprojects { Project iProject ->
apply plugin: 'idea'
apply plugin: 'maven'
repositories {
jcenter()
}
}
subprojects { Project iProject ->
apply plugin: 'groovy'
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.3.2'
}
}
project(':eclipsei2g') {
group = 'eclipsei2g'
version = '0.0.1-SNAPSHOT'
dependencies {
compile 'org.gradle:gradle-core:2.0'
}
}
project(':g2idea13') {
group = 'g2idea13'
version = '0.0.1-SNAPSHOT'
dependencies {
compile 'org.gradle:gradle-core:2.0'
compile 'org.gradle-plugins:gradle-ide:2.0'
}
}
当我运行它时,我得到一个解决gradle-ide依赖的错误:
Could not resolve all dependencies for configuration ':g2idea13:compile'.
> Could not find org.gradle:gradle-ide:2.0.
Searched in the following locations:
http://jcenter.bintray.com/org/gradle/gradle-ide/2.0/gradle-ide-2.0.pom
http://jcenter.bintray.com/org/gradle/gradle-ide/2.0/gradle-ide-2.0.jar
Required by:
g2idea13:g2idea13:0.0.1-SNAPSHOT
jcenter资源库似乎没有任何内容,因为插件的内容为0.9。 我也试过'org.gradle:gradle-ide:2.0'。
这甚至是我应该这样做的吗?还有另一种方法来指定特定的gradle版本吗?我只是使用错误的存储库?我甚至无法在mavenCentral()上解决gradle-core问题。是否有我应该使用的官方Gradle存储库?
答案 0 :(得分:2)
gradleApi()
是要走的路。目前还没有Gradle插件的公共依赖列表。