gpt4 book ai didi

caching - 有没有一种简单的方法可以从本地 gradle 缓存中删除一个依赖项?

转载 作者:行者123 更新时间:2023-12-02 16:51:19 25 4
gpt4 key购买 nike

本地 gradle 缓存存储 maven/gradle 依赖项的副本。 How to clear gradle cache?涵盖如何清除整个缓存,但不清除单个包。

有没有一种简单的方法可以从本地 gradle 缓存中删除一个包?例如,在积极开发库时,这将很有用。为了测试较小的库更改,我目前必须从文件系统中清除整个缓存,以便不使用该库的旧缓存版本。

我知道也可以使用 gradle ResolutionStrategy How can I force gradle to redownload dependencies?中描述。我不想更改 gradle 配置,因为大多数时候,对于大多数开发人员来说,默认的缓存行为就很好。

最佳答案

这是我编写的一个快速脚本:

seekanddestroy.gradle

defaultTasks 'seekAndDestroy'

repositories{ //this section *needs* to be identical to the repositories section of your build.gradle
jcenter()
}

configurations{
findanddelete
}

dependencies{
//add any dependencies that you need refreshed
findanddelete 'org.apache.commons:commons-math3:3.2'
}

task seekAndDestroy{
doLast {
configurations.findanddelete.each{
println 'Deleting: '+ it
delete it.parent
}
}
}

您可以通过运行gradle -beekanddestroy.gradle来调用此脚本

<小时/>

演示其工作原理:如果你的 build.gradle 看起来像这样:

apply plugin:'java'

repositories{
jcenter()
}

dependencies{

compile 'org.apache.commons:commons-math3:3.2'
}

首次构建,包括依赖项的下载:

λ gradle clean build | grep Download
Download https://jcenter.bintray.com/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar

第二次干净构建,使用缓存的依赖项,因此无需下载:

λ gradle clean build | grep Download

现在运行seekanddestroy:

λ gradle -b seekanddestroy.gradle  -q
Deleting: .gradle\caches\modules-2\files-2.1\org.apache.commons\commons-math3\3.2\ec2544ab27e110d2d431bdad7d538ed509b21e62\commons-math3-3.2.jar

下次构建,再次下载依赖项:

λ gradle clean build | grep Download
Download https://jcenter.bintray.com/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar

关于caching - 有没有一种简单的方法可以从本地 gradle 缓存中删除一个依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36507115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com