擼了一個Golang的包管理/自動化構建工具,歡迎大家拍磚

blindpirate發表於2017-02-12

最近擼了一個Gradle外掛,用來對Golang進行包管理和自動化構建。專案在這裡。Feature有:

  • JDK 8+外無需預先安裝任何東西(包括Go本身)
  • 支援所有版本的Go且允許多版本共存
  • 完美支援幾乎所有平臺(只要能夠執行Java,本專案的所有測試在OS X 10.11/Ubuntu 12.04/Windows 7上通過)
  • 專案級的依賴隔離,無需設定GOPATH
  • 完善的包管理
    • 無需手工安裝依賴包,只需指定版本
    • 無需安裝即可支援Go語言預設支援的四種版本控制工具:Git/Svn/Mercurial/Bazzar (當前只實現了Git)
    • 支援傳遞性依賴
    • 支援自定義傳遞性依賴策略
    • 自動解決衝突
    • 支援依賴鎖定
    • 支援glide/glock/godep/gom/gopm/govendor/gvt/gbvendor/trash等外部依賴的匯入(基於這份報告
    • 支援語義化版本
    • 支援vendor
    • 支援依賴的扁平化 (受glide啟發)
    • 支援本地包重新命名
    • 支援私有倉庫
    • 構建、測試依賴分別管理
    • 支援依賴樹視覺化
  • 支援構建、測試、單個/萬用字元測試、交叉編譯
  • 現代的、生產級別的自動化構建支援,新增自定義任務極其簡單
  • 原生的Gradle語法
  • 額外為中國大陸開發者提供的特性,你懂的
  • Shadowsocks支援
  • 增量構建(開發中)
  • IDE外掛支援(規劃中)

歡迎大家拍磚!

相關文章