gsmake —— golang版gradle

由于网站超长文本无法上传,全文请看这里

什么是gsmake

gsmake是一个类似于gradle的自动构建工具,使用go语言开发:

  1. gsmake是一个包管理/下载工具;
  2. 每个包有它全局唯一的包名,以及版本号;
  3. 包可以定义一系列的任务(task),任务支持由golang语言编写;
  4. 包可以相互引用,但是不能出现引用环;
  5. gsmake能够容易的执行包定义的任务;

通过上面描述不难看出,gsmake不仅仅可以用替代make管理golang代码。通过编写一系列插件
支持c/c++工程管理也是可行的,甚至你用它来编写一本《gsmake入门》的书也是有可能的这个
例子在介绍maven/gradle的时候经常提到,总之一句话你可以把它想象成maven/gradle的golang
实现版。

为啥重新发明轮子

  1. 程序员通病,自己的轮子还是要更圆些;
  2. 我们的大golang自己的包管理工具,不支持版本化;有一些三方的库例如:gopm
    试图解决这个问题,但是我觉得解决得还不够好;
  3. 基于jvm的maven/gradle太重量级了,一个jvm就要200M;
  4. 去中心化——maven/gradle需要中心仓库——gsmake不需要,
    理论上可以将包托管在任何代码托管网站;现阶段支持下列常用网站:github/bitbucket/gopkg.in

共 0 个回复