gogradle

Gogradle - 完善的Go语言构建工具

Build Status Build Status Coverage Status Java 8+ Apache License 2

1

2017-06-23 Gogradle荣获Gradle 2017年度插件奖, 请参阅在Gradle Summit 2017上的演讲.

2017-12-17 现在Gogradle可以在不做任何额外设置的情况下构建Github’s top 1000中的817个!

2017-03-20 现在Gogradle已经能够生成HTML格式的测试/覆盖率报告了!

Gogradle是什么?

Gogradle是一个为Go语言提供现代构建支持的Gradle插件。Gogradle深受glide启发(这里需要向它致以崇高的敬意),可以简单地理解为glide+make

为什么使用Gogradle?

Gogradle实现了glide的绝大部分功能,并添加了一些额外的功能特性:

如果你曾被上述问题之一困扰,又或者你曾是Java开发者、熟悉Gradle,那么Gogradle是你不二的选择!

Gogradle的目标不是取代其他的工具,而是为开发者提供一个额外的选项。

Gogradle不是一个玩具,它的代码中有52%是测试。此外,我们还使用Github’s top 1000 Go repositories 进行真实环境下的测试。

功能特性

Gogradle如何工作

Gogradle基于vendor机制,你通过在build.gradle中使用Gradle的DSL来声明依赖和构建逻辑。 Gogradle会按照声明进行依赖包和传递性依赖包的解析,并解决冲突,然后安装到vendor目录中,最后执行构建。在这个过程中,依赖会被扁平化以避免可能出现的问题。稍后,你可以将解析后的依赖锁定,以实现可复现的构建。vendor目录是否提交到代码仓库中由你自己决定。

Gogradle支持项目级的GOPATH。在构建一个项目时,你可将其clone到任何地方。如果你的项目不在GOPATH下的相应位置,Gogradle会在项目目录下创建一个符号链接,然后在构建中使用这个符号链接作为GOPATH——在很多场景下,这是很有用的。

猛戳这里查看Gogradle的示例。

目录

截图

测试报告截图

1 1 1 1

覆盖率报告截图

1 1

获取帮助

有任何问题,可以加入QQ群Gogradle交流群:

1

向Gogradle贡献提出建议或贡献代码

若觉得不错,请Star。

有问题和需求请直接提issue

欲和我一起改进Gogradle,请提交PR

如何改进

我们推荐在IntelliJ IDEA中开发Gogradle,你可以运行./gradlew idea然后在IDEA中打开生成的.ipr文件。

请通过./gradlew check确保所有检查通过。