gsmake —— golang版gradle
由于网站超长文本无法上传,全文请看这里
什么是gsmake
gsmake是一个类似于gradle的自动构建工具,使用go语言开发:
- gsmake是一个包管理/下载工具;
- 每个包有它全局唯一的包名,以及版本号;
- 包可以定义一系列的任务(task),任务支持由golang语言编写;
- 包可以相互引用,但是不能出现引用环;
- gsmake能够容易的执行包定义的任务;
通过上面描述不难看出,gsmake不仅仅可以用替代make管理golang代码。通过编写一系列插件
支持c/c++工程管理也是可行的,甚至你用它来编写一本《gsmake入门》的书也是有可能的这个
例子在介绍maven/gradle的时候经常提到,总之一句话你可以把它想象成maven/gradle的golang
实现版。
为啥重新发明轮子
- 程序员通病,自己的轮子还是要更圆些;
- 我们的大golang自己的包管理工具,不支持版本化;有一些三方的库例如:gopm
试图解决这个问题,但是我觉得解决得还不够好;- 基于jvm的maven/gradle太重量级了,一个jvm就要200M;
- 去中心化——maven/gradle需要中心仓库——gsmake不需要,
理论上可以将包托管在任何代码托管网站;现阶段支持下列常用网站:github/bitbucket/gopkg.in
共 0 个回复