gsmake —— golang版gradle
什么是gsmake
gsmake是一個類似于gradle的自動構(gòu)建工具,使用go語言開發(fā):
通過上面描述不難看出,gsmake不僅僅可以用替代make管理golang代碼。通過編寫一系列插件 支持c/c++工程管理也是可行的,甚至你用它來編寫一本《gsmake入門》的書也是有可能的這個 例子在介紹maven/gradle的時候經(jīng)常提到,總之一句話你可以把它想象成maven/gradle的golang 實現(xiàn)版。
為啥重新發(fā)明輪子
gsmake是怎么工作的?
gsmake一般工作流程如下:
由于golang是一個編譯型語言所以需要一個編譯的過程,將上一步生成的task調(diào)用粘合劑代碼與用戶 定義的task代碼一起編譯為一個程序,然后運(yùn)行之;
task
task具有以下屬性
gsmake接收一個task名稱并執(zhí)行它——在內(nèi)部gsmake需要一個任務(wù)排序的過程。被依賴的task需要先執(zhí)行:
通過上面的描述我們知道,用戶定義的task組成了一個有向無環(huán)圖,我們知道對于這種數(shù)據(jù)結(jié)構(gòu)的排序其實就是一個簡單的拓?fù)渑判虻倪^程,gsmake的這部分實現(xiàn)在這里
安裝
golang的開發(fā)環(huán)境是必備的,這里就不累述了:
一個簡單的示例
看gsmake項目本身吧,它會自己管理自己:)猛戳這里!!!!! PS:請忽略我的英文readme.md,你懂得:)
轉(zhuǎn)載于:https://www.cnblogs.com/yayanyang/p/4501132.html
總結(jié)
以上是生活随笔為你收集整理的gsmake —— golang版gradle的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸡啄米vc++2010系列11(非模态对
- 下一篇: elasticsearch快照和恢复