GOP Go 应用开发的管理工具

开源网站开源项目 24-04-06 09:31:03

GOP 是一个专为在 GOPATH 之外的 Go 应用开发的管理工具。当然他肯定不支持Go Get了。GOP 会将所有的依赖项拷贝到src/vendor目录下,应用本身的源代码也在src下。

一个通常的使用过程如下:

gitclonexxx@mydata.com:bac/aaa.gitcdaaagopensure-ggopbuildgoptest

特性

GOPATH 兼容,工程本身作为 GOPATH

多编译目标支持

将您的工程放到全局 GOPATH 之外

安装

情确保您能正常运行 Go 命令,GOP 将依赖 Go 命令编译和测试

gogetgithub.com/lunny/gop

工程目录结构

工程目录结构示例如下:

<projectroot>├──gop.yml├──bin├──doc└──src├──main│└──main.go├──models│└──models.go├──routes│└──routes.go└──vendor└──github.com├──go-xorm│├──builder│├──core│└──xorm└──lunny├──log└──tango

可以看出主文件默认放在 src/main 下可以自动识别,当然也可以在 Gop.yml 中指定

Gop.yml

工程配置文件,必须存在并且放在和 src 平级。如果你没有定义任何目标,默认的目标将是 src/main, 目标名是工程名。

targets:-name:myproject1dir:mainassets:-templates-public-config.ini-key.pem-cert.pem-name:myproject2dir:webassets:-templates-public-config.ini

命令init

初始化 Gop 工程目录

mkdirnewprojectcdnewprojectgopinit

ensure

自动从全局 GOPATH 拷贝所需要的依赖项到 src/vendor 目录下。-g参数将会自动调用go get <package>下载不在全局GOPATH中的包并且拷贝到vendor下。-u则总是调用go get <package>更新每一个依赖包并且拷贝到vendor下。

gopensure[-g|-u][target_name]

status

列出当前目标所有依赖包并显示拷贝状态。

gopstatus[target_name]

add

从 GOPATH 中拷贝指定的依赖包到 vendor 目录下。-u将会覆盖原先存在vendor下面的包。

gopadd[-u]<package>

rm

从工程 vendor 中删除某个包。

goprm<package>

build

go build编译目标

gopbuild[target_name]

run

go run编译并运行目标

goprun[target_name]

test

运行go test将执行单元测试.

goptest[target_name]

release

运行go release将自动编译并拷贝资源到 bin 目录下

goprelease[target_name]
[GOP Go 应用开发的管理工具]相关推荐
Friends Web 上 P2P 聊天应用

Friends Web 上 P2P 聊天应用

Friends 是 Web 平台的 P2P 聊天应用,Slack 的开源替代品。 主要特性: 纯 JavaScript (NodeJS) GitH……...

TANK 高性能分布式日志服务

TANK是一个非常高性能的分布式日志,部分受到 Kafka 以及其他类似的服务和技术的启发。 特性: 高性能 ……...

cdb 简单数据库开发包

cdb 是一个快速、可靠而且简单的包,用来创建和读取不变的数据库,数据库结构提供多种特性: 快速查找:……...

MWT J2ME 的 UI 工具包

MWT J2ME 的 UI 工具包

Micro Window Toolkit(MWT)是一个用于开发J2ME用户界面(UI)的工具包。它具有友好,强大,快速,开源等特……...

今日开源
  1. Paladin Web游戏技术平台

    Paladin 是 Mozilla 社区推出的一个开源的 Web 游戏引擎技术。 Paladin sits at the intersection of 3D gaming, JavaScript framework and library development, and the browser. We're tied into the bits of t……

    开源软件 2024-05-12

  2. VUX 移动端 UI 组件库

    VUX 移动端 UI 组件库

    Vux(读音 [v'ju:z],同views)是基于 WeUI 和 Vue(2.x) 开发的移动端UI组件库,主要服务于微信页面。 基于webpack+vue-loader+vux可以快速开发移动端页面,配合vux-loader方便你在WeUI的基础上定制需要的样……

    开源软件 2024-05-12

  3. ionicons 开源图标集合

    ionicons 开源图标集合

    Ionicons是一个完全开源的图标集,包含 1,300 个专为 Web、iOS、Android 和桌面应用程序设计的图标。 Ionicons 是为Ionic Framework构建的,因此图标具有 Material Design 和 iOS 版本,支持 SVG 和 Web Font。 Io……

    开源软件 2024-05-12

返回顶部小火箭