Groovy 通过gradle解决常春藤依赖关系

Groovy 通过gradle解决常春藤依赖关系,groovy,gradle,Groovy,Gradle,我如何告诉gradle下载一些依赖项,以及何时下载这些依赖项?例如,这是我的代码: configurations { ivydep } repositories { ivy { url "http://my.ivy.repo/ivyrep/shared" layout "pattern", { artifact "[organisation]/[module]/[revision]/[type]s/[artifact].[

我如何告诉gradle下载一些依赖项,以及何时下载这些依赖项?例如,这是我的代码:

configurations {
    ivydep
}

repositories {
    ivy {
        url "http://my.ivy.repo/ivyrep/shared"
        layout "pattern", {
            artifact "[organisation]/[module]/[revision]/[type]s/[artifact].[ext]"
        }
    }
}

dependencies {
    ivydep "eu.company:MyList:1.0.1"
}

task resolve << {
    println 'configurations.ivydep.singleFile: '+configurations.ivydep.singleFile
    // dependency is a zip so I need to unzip it
    copy {
        from zipTree(configurations.ivydep.singleFile)
        into "${buildDir}/temp"
    }
}
配置{
艾维德普
}
存储库{
常春藤{
url“http://my.ivy.repo/ivyrep/shared"
布局“模式”{
工件“[Organization]/[module]/[revision]/[type]s/[artifact].[ext]”
}
}
}
依赖关系{
ivydep“欧盟公司:MyList:1.0.1”
}

任务解析你是说每次都要强制下载吗?我想告诉gradle“只有在调用B任务时才下载依赖项A”,类似于“惰性依赖项解析”。我只想在下载依赖项时控制它。嘿,帕特里克,gradle默认情况下会解析懒惰的依赖项。在gradle中,像“ivydep”这样的配置就是我们所说的惰性文件集合。一旦引用了此集合的文件,依赖项就会具体化(这意味着如果尚未在gradle缓存中,则下载)。在上面的示例中,在ivydep中声明的依赖关系只是在执行“resolve”任务期间具体化的。因此,如果我调用
configurations。ivydep
gradle将解决此依赖关系?否。配置将尽可能晚地解决,例如,当迭代其文件或访问
singleFile
属性时。