即使項目依賴項管理配置沒有更改,SBT也會在每次clean
之後運行依賴項解析。在CI服務器上運行時這很耗時。爲什麼每次清理後sbt都會運行依賴關係解析?
但文檔says:
- 通常,如果自上次成功的分辨率不依賴管理配置已更改和檢索文件仍然 目前,SBT不問常春藤進行解析。
如何從每次我建項目,sbt clean publish-local
時間做依賴解析SBT停下來?
更新
我發現,SBT也運行分辨率時,我在交互模式sbt
進入。
UPDATE2
由於@Ezhik
指出,如果我能保持target/resolution-cache
然後SBT乾淨後不會解決依賴關係。 於是,我就動了resolution-cache
從目標目錄:
ivyConfiguration <<= (externalResolvers, ivyPaths, offline, checksums, appConfiguration, target, streams) map { (rs, paths, off, check, app, t, s) =>
val resCacheDir = t/".."/"resolution-cache"
new InlineIvyConfiguration(paths, rs, Nil, Nil, off, Option(lock(app)), check, Some(resCacheDir), s.log)
}
現在有了這個代碼Build.scala
解析緩存被放置在項目的根,因此clean
後保留,但分辨率正在反正做。所以我認爲這種做法是錯誤的或不足的。
我該怎麼做? –
查看我更新的問題 –
用你自己的雙手? SBT非常有表現力。確定爲你特別:)))和我作爲一個有趣的案例。 – Ezhik