Popularity
4.9
Stable
Activity
0.0
Stable
167
8
10

Programming language: Go
License: MIT License
Tags: Utilities    

rerun alternatives and similar packages

Based on the "Utilities" category.
Alternatively, view rerun alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of rerun or a related project?

Add another 'Utilities' Package

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


*Note that all licence references and agreements mentioned in the rerun README section above are relevant to that project's source code only.