Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在gradle任务中检索库版本_Android_Gradle_Android Gradle Plugin - Fatal编程技术网

Android 如何在gradle任务中检索库版本

Android 如何在gradle任务中检索库版本,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,假设项目依赖项声明如下: dependencies { implementation 'io.mylib:core:1.0.0-SNAPSHOT' // .... } 我想要一个gradle任务,它将检索mylib依赖项并检查版本。如果库的版本是快照,则生成失败 大概是这样的: task checkLibVersion(){ version = getDependencyVersion("io.mylib:core") // <-- how to retrieve

假设项目依赖项声明如下:

dependencies {
    implementation 'io.mylib:core:1.0.0-SNAPSHOT'
    // ....
}
我想要一个gradle任务,它将检索
mylib
依赖项并检查版本。如果库的版本是快照,则生成失败

大概是这样的:

task checkLibVersion(){
   version = getDependencyVersion("io.mylib:core") // <-- how to retrieve version

   if(version.endsWith("-SNAPSHOT"){
      throw new GradleException("Mylib uses snapshot version")
   }
}
task checkLibVersion(){

version=getDependencyVersion(“io.mylib:core”)//好的,如果将版本号提取到扩展属性中,似乎可以很容易地做到这一点:

在根项目的
build.gradle
中:

buildscript {
    ext.libVersion = '1.3.21-SNAPHOT'
    // ....
}

task checkLibVersion(){
    def version = "$libVersion"

    if (version.endsWith("-SNAPSHOT")){
        throw new GradleException("Mylib uses SNAPSHOT version!")
    }
}

tasks.whenTaskAdded { task ->
    if (task.name == 'assembleRelease') {
        task.dependsOn checkLibVersion()
    }
}

您可以有一个task
configurations{implementation.dependencies.each{dep->if(dep.name='core'){println dep.version//您可以获得lib}}}}}的版本
,并按原样添加tasks.whentask。