[英]Gradle download dependency merge into maven local repository?
這是我們項目中第一次使用 gradle,我們使用的是本地 maven 存儲庫。 現在我有一個問題:是否可以讓 gradle 下載依賴項自動合並到本地 maven 存儲庫中? 是否有任何配置或插件可以解決? 非常感謝!
簡短的回答是:不可能!
Gradle 有自己的緩存,盡管它可以像這樣讀取 maven 本地 repo:
repositories {
mavenLocal()
mavenCentral()
}
如果在 maven 本地 repo 中找不到某些依賴項,Gradle 將從 maven Central 下載它並將其緩存在 ~/.gradle/caches/...
見http://forums.gradle.org/gradle/topics/cache_dependencies_into_local_maven_repository_from_gradle
我不知道有一個隨時可用的gradle插件。
當您說“本地maven存儲庫”時,您的意思是您的公司網絡中托管的企業存儲庫,或者您是指〜.m2 / repository上的開發人員框中的本地存儲庫嗎?
雖然 Gradle 有自己的緩存,但文件存儲在類似於 Maven 本地存儲庫的結構中。 要使用 Gradle 緩存中的依賴項更新 Maven 本地,這里是任務和配置:
repositories {
mavenLocal()
}
dependencies {
// Place your dependencies here
}
build {
finalizedBy 'cacheToMavenLocal'
}
task cacheToMavenLocal(type: Copy) {
from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1')
into repositories.mavenLocal().url
eachFile {
List<String> parts = it.path.split('/')
it.path = [parts[0].replace('.','/'), parts[1], parts[2], parts[4]].join('/')
}
includeEmptyDirs false
}
該任務是從@Adrodoc55 在 Gradle 論壇上的回答中復制和改編的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.