我有gradle這個建一個項目,發佈一個神器本地常春藤庫。從歷史上看,我們純粹用flatDir存儲庫來使用gradle,因爲我們希望將所有東西都保存在本地。但是,我開始看到使用常青藤複製各處生成的工件的好處。如何在gradle中發佈到常春藤庫時解決flatDir瞬態依賴關係?
我可以發佈神器輕鬆常春藤,但使用的存儲庫等項目在其短暫的flatDir依賴性不拉這件神器。
我試圖找出處理這些短暫的依賴關係的最佳途徑。很顯然,任何使用神器的人都需要他們,因爲他們擁有神器使用的類。我應該將我的神器的臨時依賴發佈到常春藤嗎?什麼是最好的方法來做到這一點?
我已經試過(我認爲黑客攻擊)與宣佈在flatLib目錄罐子的人工製品本身:
group 'utils'
repositories {
flatDir {
dirs 'lib'
name 'librepo'
}
}
dependencies {
compile ":antlr:3.4"
// ...
}
artifacts {
project.repositories.librepo.dirs.each { dir ->
dir.eachFile {
if (it.isFile()) {
archives file(it)
}
}
}
}
但是,包括神器項目失敗,因爲flatDir文件上傳到相同的基團作爲主僞影(在這種情況下,「utils的」),但與在依賴關係部分沒有組定義,因此,在的ivy.xml中的條目不具有有機值,即
<dependency org="" name="antlr" rev="3.4" conf="compile->default"/>
我想我錯過了一些東西,任何幫助將不勝感激關於如何混合flatDir和常春藤。
我應該遷移flatDir依賴常春藤,使他們正確解析,然後我可以改變我的體型只使用常春藤庫它發佈到作爲源呢?我真的不能想到一個更好的辦法,但如果我這樣做,它會在相當多的影響,每個依賴將不得不搬出主項目目錄的lib目錄中,常春藤,我只是真的想使用常青藤資源庫來管理我們生成的工件,而不是第三方庫。