Go to file
alessio 6f6175e7dd build/install performance improved 2016-08-20 12:47:32 +02:00
realize build/install performance improved 2016-08-20 12:47:32 +02:00
.gitignore ignore bin 2016-08-03 16:47:37 +02:00
.travis.yml before install 2016-08-17 21:56:44 +02:00
LICENSE realize dev 2016-07-12 10:18:02 +02:00
README.md default for server field 2016-08-20 10:04:00 +02:00
glide.lock dependencies 2016-07-30 01:02:57 +02:00
glide.yaml dependencies 2016-07-30 01:02:57 +02:00
main.go realize run handle 2016-08-19 01:57:32 +02:00

README.md

Realize

GoDoc TeamCity CodeBetter AUR

Logo

A Golang build system with file watchers and live reload. Run, build and watch file changes with custom paths

Preview

Features

  • Build, Install, Test and Run at the same time
  • Live reload on file changes (re-build, re-install and re-run)
  • Watch custom paths
  • Watch specific file extensions
  • Multiple projects support
  • Output streams

Installation and usage

  • Run this for get/install it:

    $ go get github.com/tockins/realize
    
  • From the root of your project/projects:

    $ realize start 
    

    Will create a realize.config.yaml file with a default settings.

    You can even pass custom parameters for your project. This is a list of the supported fields:

    --name="Project Name"  -> Name, if not specified sect "Sample App"    
    --main="test.go"       -> Main file, if not specified sect "main.go"    
    --base="server"        -> Base Path, if not specified sect "/"    
    --build="true"         -> Go build, if not specified sect "false"    
    --bin="false"          -> Base Path, if not specified sect "true"    
    --run="false"          -> Base Path, if not specified sect "true"    
    
    $ realize start --name="Web Server" --main="test.go" --base="server"
    
  • Add another project whenever you want

    $ realize add
    

    Or

    $ realize add --name="Project Name" --main="main.go" --build="true"
    
  • Remove a project by his name

    $ realize remove --name="Project Name"
    
  • Lists all projects

    $ realize list
    
  • Build, Run and watch file changes. Realize will re-build and re-run your projects on each changes

    $ realize run 
    

Config file example

  • For more examples check Realize Examples

    version: "1.0"
    projects:
       - app_name: App One     -> name
         app_path: one         -> root path
         app_main: main.go     -> main file
         app_run: true         -> enable/disable go run (require app_bin)
         app_bin: true         -> enable/disable go install
         app_build: false      -> enable/disable go build
         app_watcher:
           preview: true       -> prints the observed files on startup
           paths:              -> paths to observe for live reload
           - /
           ignore_paths:       -> paths to ignore
           - vendor
           - bin
           exts:               -> file extensions to observe for live reload
           - .go
       - app_name: App Two     -> another project
         app_path: two
         app_main: main.go
         app_run: true
         app_build: true
         app_bin: true
         app_watcher:
           paths:
           - /
           ignore_paths:
           - vendor
           - bin
           exts:
           - .go 
    

To do

  • Cli start, remove, add, list, run
  • Remove duplicate projects
  • Support for multiple projects
  • Watcher files preview
  • Support for directories with duplicates names
  • Unit test
  • Go test support
  • Cli fast run
  • Go doc
  • Support for server start/stop
  • Stream projects output
  • Cli feedback