All Projects → silenceper → Gowatch

silenceper / Gowatch

Licence: mit
🚀 gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Gowatch

Node Build Monitor
A Build Monitor written in Node.js, which supports several build services and can be easily extended.
Stars: ✭ 336 (-37.66%)
Mutual labels:  build-tool, build, hacktoberfest
Earthly
Repeatable builds
Stars: ✭ 5,805 (+976.99%)
Mutual labels:  build, hacktoberfest, build-tool
Ultra Runner
🏃⛰ Ultra fast monorepo script runner and build tool
Stars: ✭ 496 (-7.98%)
Mutual labels:  build-tool, build, hacktoberfest
jagen
A software engineer's workspace manager and build systems wrapper
Stars: ✭ 32 (-94.06%)
Mutual labels:  build, build-tool
autosetup
A better, faster autoconf replacement
Stars: ✭ 60 (-88.87%)
Mutual labels:  build, build-tool
build
Build system scripts based on GENie (https://github.com/bkaradzic/genie) project generator
Stars: ✭ 30 (-94.43%)
Mutual labels:  build, build-tool
Unity Builder
Build Unity projects for different platforms
Stars: ✭ 258 (-52.13%)
Mutual labels:  build, hacktoberfest
Bazel Remote
A remote cache for Bazel
Stars: ✭ 260 (-51.76%)
Mutual labels:  build-tool, build
Haskell.nix
Alternative Haskell Infrastructure for Nixpkgs
Stars: ✭ 283 (-47.5%)
Mutual labels:  build-tool, hacktoberfest
Hotreload
Xamarin.Forms XAML hot reload, live reload, live xaml
Stars: ✭ 407 (-24.49%)
Mutual labels:  livereload, hacktoberfest
Fury
A new build tool for JVM languages
Stars: ✭ 384 (-28.76%)
Mutual labels:  build-tool, build
Realize
Realize is the #1 Golang Task Runner which enhance your workflow by automating the most common tasks and using the best performing Golang live reloading.
Stars: ✭ 4,162 (+672.17%)
Mutual labels:  build-tool, livereload
Nginx-builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 143 (-73.47%)
Mutual labels:  build, build-tool
b2
B2 makes it easy to build C++ projects, everywhere.
Stars: ✭ 38 (-92.95%)
Mutual labels:  build, build-tool
freedom-middleware-webpack2
webpack2前端项目开发构建中间件,方便统一管理前端项目中95%以上的构建工作
Stars: ✭ 35 (-93.51%)
Mutual labels:  build, build-tool
elite
Fegeya Elitebuild, small, powerful build system. Written in Rust.
Stars: ✭ 24 (-95.55%)
Mutual labels:  build, build-tool
UnityBuildManager
Utility for running builds sequence & pushing them to markets & keeping changelog
Stars: ✭ 53 (-90.17%)
Mutual labels:  build, build-tool
ukor
A Roku build tool with support for build flavors
Stars: ✭ 45 (-91.65%)
Mutual labels:  build, build-tool
angular-build-info
🛠 A CLI to generate an easily importable `build.ts` file containing various details about the application build
Stars: ✭ 25 (-95.36%)
Mutual labels:  build, build-tool
Unity Actions
Github actions for testing and building Unity projects
Stars: ✭ 358 (-33.58%)
Mutual labels:  build, hacktoberfest

gowatch

Go Go Report Card PkgGoDev codecov

中文文档

gowatch is a command line tool that builds and (re)starts your go project everytime you save a Go or template file.

gowatch

Installation

To install gowatch use the go get command:

go get github.com/silenceper/gowatch

Then you can add gowatch binary to PATH environment variable in your ~/.bashrc or ~/.bash_profile file:

If you already have gowatch installed, updating gowatch is simple:

go get -u github.com/silenceper/gowatch

Usage

cd /path/to/myapp

Start gowatch:

gowatch

Gowatch will watch for file events, and every time you create/modify/delete a file it will build and restart the application,If go build returns an error, it will log it in stdout.

Support Options

  • -o : Not required, specify the target file path for the build
  • -p : Not required, specify the package to be built (can also be a single file)
  • -args: Not required, specify program runtime parameters, for example: -args = '-host =: 8080, -name = demo'
  • -v: Not required, display gowatch version information

example:

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

Configuration file

In most cases, you don't need to specify the configuration. You can meet most of the requirements by directly executing the gowatch command. Create a gowatch.yml file in the execution directory:

# gowatch.yml configuration example

# The name of the executable file generated under the current directory execution. The default is the current directory name.
appname: "test"

# Specify the command to run after builds done
run_cmd: "./run.sh"

# Specify the directory where the compiled object files are stored
output: /bin/demo
# The file name suffix that needs to be monitored. By default, there is only a '.go' file.
watch_exts:
    - .yml

# The directory that needs to listen for file changes. By default, only the current directory.
watch_paths:
    - ../pk

# Additional parameters that need to be added when running the application
cmd_args:
    - arg1=val1

# Additional parameters that need to be added when building the application
build_args:
    - -race

# Need to increase environment variables, the current environment variables are loaded by default
envs:
    - a=b

# Whether to listen to file changes in the 'vendor' folder
vendor_watch: false

# Directory that do not need to listen for file changes
excluded_paths:
    - path

# main package path, can also be a single file, multiple files separated by commas
build_pkg: ""

# build tags
build_tags: ""

# Commands that can be executed before build the app
#prev_build_cmds:
#  - swag init

# Whether to prohibit automatic operation
disable_run: false

Author

@silenceper

Inspired by bee

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].