Thanks to visit codestin.com
Credit goes to github.com

Skip to content

hikerwu/gowatch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gowatch

Build Status Go Report Card

Go 程序热编译工具,提升开发效率

通过监听当前目录下的相关文件变动,进行实时编译

hikerwu的改动

1、添加了总的前置cmd命令。
2、添加了每次编译完成之后的命令。
3、排除掉go generate的自动文件生成而导致的二次编译。

安装使用

go get github.com/hikerwu/gowatch

安装完成之后,即可使用gowatch命令,在当前文件执行:

gowatch

命令行参数

  • -o : 非必须,指定build的目标文件路径
  • -p : 非必须,指定需要build的package(也可以是单个文件)
  • -args: 非必须,指定程序运行时参数,例如:-args='-host=:8080,-name=demo'
  • -v: 非必须,显示gowatch版本信息

例子:

gowatch -o ./bin/demo -p ./cmd/demo

配置文件

gowatch.yml

大部分情况下,不需要更改配置,直接执行gowatch命令就能满足的大部分的需要,但是也提供了一些配置用于自定义,在执行目录下创建gowatch.yml文件:

# gowatch.yml 配置示例

# 当前目录执行下生成的可执行文件的名字,默认是当前目录名
appname: "test"
# 指定编译后的目标文件目录
output: /bin/demo
# 需要追加监听的文件名后缀,默认只有'.go'文件
watch_exts:
    - .yml
# 需要监听的目录,默认只有当前目录
watch_paths:
    - ../pk
# 在执行命令时,需要增加的其他参数
cmd_args:
    - arg1=val1
# 在构建命令时,需要增加的其他参数
build_args:
    - -race
# 需要增加环境变量,默认已加载当前环境变量
envs:
    - a=b
# 是否监听 ‘vendor’ 文件夹下的文件改变
vendor_watch: false
# 不需要监听的目录名字
excluded_paths:
    - path
# main 包路径,也可以是单个文件,多个文件使用逗号分隔
build_pkg: ""
# build tags
build_tags: ""

# 注意, 每个目录都需要./开头;
generate_dir:
  -
    model: ./app/library/base/xcxerror.go
    output: ./app/library/base/xcxerror_string.go

# 总前置cmd命令,格式和before_cmd相同;
before_all_cmd:
# 前置cmd命令;
before_cmd:
  -
    cmd: echo
    args:
      - "hello"
  -
    cmd: echo
    args:
      - "hi we go"
      - "hi"

# 是否禁止自动运行
disable_run: false

Inspired by bee

About

go程序热编译工具,提升开发效率

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 100.0%