rerun

command module
v0.0.0-...-adc8acf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 31, 2017 License: MIT Imports: 17 Imported by: 0

README

rerun

Build Status

Recompiling and rerunning go apps when source changes

Features

  • specify list of files/directories to ignore
  • specify list of file suffixes to watch (.go, .html, etc.)
  • provide application arguments
  • configuration using cli-flags and/or json file
  • Cross-platform support (Linux, OSX, Windows)
How to install?
go get github.com/ivpusic/rerun

Usage

usage: rerun [<flags>]

Flags:
  --help                   Show context-sensitive help (also try --help-long and --help-man).
  -v, --verbose            Verbose mode. It will show rerun internal messages. Default: false
  -i, --ignore=IGNORE      List of ignored files and directories.
  -a, --args=ARGS          Application arguments.
  -s, --suffixes=SUFFIXES  File suffixes to watch.
  -c, --config=CONFIG      JSON configuration location
  -t, --test               Run tests
  --attrib                 Also listen to changes to file attributes.
  --version                Show application version.

To run with default settings just type

rerun
Examples
CLI flags
rerun -a arg1,arg2 -i bower_components,node_modules,test

You have troubles? Use verbose mode (-v flag)! You will see a lot of usefull information about rerun internals.

rerun -v
JSON config

Create json file with content, with name for example conf.json

{
	"ignore": ["some/path/to/ignore1", "some/path/to/ignore2"],
	"args": ["dev", "test"],
	"suffixes": [".go", ".html", ".tpl"],
    "attrib": true
}

and then

rerun -c conf.json

Rerun supports default config loading: if a file with name .rerun.json exists in your project directory (from whence you execute rerun) - it will be automatically loaded without a need to specify -c flag.

CLI + JSON

If the same option is provided by cli flag and json config, one from cli will survive.

Example of json config:

{
	"ignore": ["some/path/to/ignore"]
}

and then

rerun -a arg1,arg2 -c conf.json
ENV variables

You can use environment variables inside your configurations.

Linux/OSX
{
    "ignore": ["$GOPATH/hello/how/are/you"]
}
Windows
{
    "ignore": ["%GOPATH%/hello/how/are/you"]
}
Wildcard paths
{
	"ignore": ["/some/path", "/some/other/**/*.go"]
}
Use with Vagrant

If you are using Vagrant as your development environment, the edited changes do not fire the notify events on the guest side - meaning that rerun cannot detect the changes. However, if you install the vagrant-notify-forwarder plugin from https://github.com/mhallin/vagrant-notify-forwarder, you can make rerun work together with it:

vagrant plugin install vagrant-notify-forwarder

Then, watch the files with

rerun --attrib -c conf.json

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL