2
我正在尋找一種方法將特定配置的項目依賴關係提取到工作區文件夾中。由於可能存在多個依賴關係,我想將每個工件提取到具有工件名稱的文件夾中。我想在python的背景下,解決這一點,但這個問題是不是真的蟒蛇相關...使用工件名稱解壓縮Gradle依賴關係
目前我gradle這個文件看起來像這樣:
configurations { python }
dependencies {
python group: 'github.dpeger', name: 'py-utils', version: '1.6', ext: 'zip'
python group: 'github.dpeger', name: 'py-test', version: '1.6', ext: 'zip'
}
task cleanPythonDependencies(type: Delete) { delete 'lib/python' }
tasks.clean.dependsOn cleanPythonDependencies
task importPythonDependencies(type: Copy) {
dependsOn cleanPythonDependencies
from {
configurations.python.collect { zipTree(it) }
}
into 'lib/python'
}
然而,這提取所有依賴於python
配置到文件夾lib\pyhton
而不使用工件名稱。
我想那是什麼py-utils
被提取到lib\pyhton\py-utils
和py-test
至lib\pyhton\py-test
。
偉大的作品,謝謝。但是,我修改了一下你的答案(請參閱問題的編輯) - 在你的任務中 - 在gradle的配置階段,工件將被複制到lib文件夾。這很可能會導致清理問題,因爲依賴任務'cleanPythonDependencies'將在配置階段後執行,從而再次刪除所有提取的工件... – dpr
很高興幫助。我修改了答案以反映您的意見。我嘗試時沒有考慮清理。儘管如此,它不應該像你指出的那樣成爲配置階段的一部分。 –