Skip to content
/ gaper Public

Builds and restarts a Go project when it crashes or some watched file changes

License

Notifications You must be signed in to change notification settings

maxclaus/gaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

55cf00b · Jun 25, 2018

History

22 Commits
Jun 22, 2018
Jun 22, 2018
Jun 17, 2018
Jun 22, 2018
Jun 22, 2018
Jun 22, 2018
Jun 17, 2018
Jun 20, 2018
Jun 20, 2018
Jun 17, 2018
Jun 22, 2018
Jun 22, 2018
Jun 23, 2018
Jun 22, 2018
Jun 22, 2018
Jun 25, 2018
Jun 22, 2018
Jun 22, 2018
Jun 22, 2018
Jun 22, 2018
Jun 22, 2018
Jun 24, 2018
Jun 23, 2018

Repository files navigation

gaper

Used to build and restart a Go project when it crashes or some watched file changes
Aimed to be used in development only.


Software License Linux - Build Status Windows - Build status Coverage Status Go Doc Go Report Card Powered By: GoReleaser

Installation

go get -u github.com/maxcnunes/gaper/cmd/gaper

Changelog

See Releases for detailed history changes.

Usage

NAME:
   gaper - Used to build and restart a Go project when it crashes or some watched file changes

USAGE:
   gaper [global options] command [command options] [arguments...]

VERSION:
   version

COMMANDS:
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --bin-name value                 name for the binary built by gaper for the executed program (default current directory name)
   --build-path value               path to the program source code (default: ".")
   --build-args value               arguments used on building the program
   --program-args value             arguments used on executing the program
   --verbose                        turns on the verbose messages from gaper
   --watch value, -w value          list of folders or files to watch for changes
   --ignore value, -i value         list of folders or files to ignore for changes
                                      (always ignores all hidden files and directories)
   --poll-interval value, -p value  how often in milliseconds to poll watched files for changes (default: 500)
   --extensions value, -e value     a comma-delimited list of file extensions to watch for changes (default: "go")
   --no-restart-on value, -n value  don't automatically restart the supervised program if it ends:
                                      if "error", an exit code of 0 will still restart.
                                      if "exit", no restart regardless of exit code.
                                      if "success", no restart only if exit code is 0.
   --help, -h                       show help
   --version, -v                    print the version

Examples

Ignore watch over all test files:

--ignore './**/*_test.go'

Contributing

See the Contributing guide for steps on how to contribute to this project.

Reference

This package was heavily inspired by gin and node-supervisor.

Basically, Gaper is a mixing of those projects above. It started from gin code base and I rewrote it aiming to get something similar to node-supervisor (but simpler). A big thanks for those projects and for the people behind it! :clap::clap:

How is Gaper different of Gin

The main difference is that Gaper removes a layer of complexity from Gin which has a proxy running on top of the executed server. It allows to postpone a build and reload the server when the first call hits it. With Gaper we don't care about that feature, it just restarts your server whenever a change is made.

About

Builds and restarts a Go project when it crashes or some watched file changes

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published