Go to file
2016-08-18 09:40:33 +02:00
realize golint and gofmt 2016-08-18 09:35:06 +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
glide.lock dependencies 2016-07-30 01:02:57 +02:00
glide.yaml dependencies 2016-07-30 01:02:57 +02:00
LICENSE realize dev 2016-07-12 10:18:02 +02:00
main.go gofmt 2016-08-18 01:35:37 +02:00
README.md godoc badge 2016-08-18 09:40:33 +02:00

Realize

GoDoc AUR Build Status

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

Preview

Features

  • Build, Install and Run in 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

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 sample project.

    You can pass additional parameters for your first project, such as the project name, the main file name and the base path.

    $ realize start --name="Project Name" --main="main.go" --base="/"
    
  • Add another project whenever you want

    $ realize add --name="Project Name" --main="main.go" --base="/"
    
  • 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

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 doc
  • Support for server start/stop
  • Stream projects output
  • Cli feedback