我正在尝试实现一个gradle插件,而gradle插件依赖于另一个gradle插件。这是我的插件的build.gradle
的片段buildscript {
repositories {
mavenCentral()
mavenLocal()
}
}
apply plugin: 'groovy'
apply plugin: 'idea'
apply plugin: 'maven'
dependencies {
repositories {
mavenCentral()
mavenLocal()
}
compile gradleApi()
compile localGroovy()
compile 'com.example:otherplugin:[0.1,)'
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: mavenLocal())
pom.groupId = 'com.example'
pom.version = '0.5'
pom.artifactId = 'myplugin'
}
}
}
正如您所看到的,我使用的是范围相关性,而不是特别关注' otherplugin' 的任何版本。当用户在build.gradle中包含我的插件时:
buildscript {
repositories {
mavenCentral()
mavenLocal()
}
dependencies {
classpath 'com.example:otherplugin:1.0', 'com.example:myplugin:2.3'
}
}
Gradle始终使用最新版本的' com.example:otherplugin' 来处理他的项目。理想情况下,我希望下载用户指定的版本,并由gradle使用。
我认为这是我的插件build.gradle的一个问题。如何修改我的插件的build.gradle,以避免这种传递依赖?