我正在使用gradle編譯python綁定。 有一個plugin by linkedin,這有利於。在添加存儲庫並解決依賴關係之前運行任務
它們還包括一個名爲pivy-importer的項目,該項目將python依賴項轉換爲常青藤資源庫。
我創建了一個gradle插件,它封裝了pivy-importer,因此它可以作爲python任務運行。
我的存儲庫聲明如下:
repositories {
pyGradlePyPi()
ivy {
name 'pypi-local' //optional, but nice
url "${project.buildDir.path}/pythonIvy"
layout "pattern", {
ivy "[organisation]/[module]/[revision]/[module]-[revision].ivy"
artifact "[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"
m2compatible = true
}
}
}
的問題,然而,就是這個插件執行前的庫被加載。
的蟒蛇任務運行時pinRequirements
所以我將我的cusom pythonImporter
任務之前,像這樣的第一項任務:
pinRequirements.dependsOn pythonImporter
然而,即使我這樣做,在控制檯顯示pythonImporter
任務之前運行,但只要它嘗試組裝依賴關係,即使它們確實存在於文件系統中,也找不到它們。
但是,如果您再次重新運行該任務,它會通過,因爲第一次運行將存儲庫添加到文件系統。
TL; DR
我需要一種方法來運行一個任務相關使用的是項目的配置repositories
加載看了下之前。