Skip to content
forked from oxequa/realize

Go build system with file watchers, live reload and output streams. Run, build and watch file changes with custom paths

License

Notifications You must be signed in to change notification settings

hhy5277/realize

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Realize

GoDoc TeamCity CodeBetter AUR Join the chat at https://gitter.im/tockins/realize

Logo

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

Preview

Features

  • Build, Install, Test, Fmt 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
  • Execution times
  • Highly customizable
  • Fast run

Installation and usage

  • Run this for get/install it:

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

    $ realize add 
    

    If not exists already, It will create a realize.config.yaml file.

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

    --name="Project Name"  -> Name, if not specified takes the working directory name
    --path="server"        -> Base Path, if not specified takes the working directory name    
    --build                -> Go build, if not specified takes "false"    
    --bin                  -> Go intall, if not specified takes "true"    
    --run                  -> Go run, if not specified takes "true"  
    --fmt                  -> Go fmt, if not specified takes "true"  
    

    Add a project whenever you want.

    $ realize add
    
    $ realize add --path="mypath"
    
    $ realize add --name="My Project" --build
    
    $ realize add --name="My Project" --path="/projects/package" --build
    
    $ realize add --name="My Project" --path="projects/package" --build --run
    
  • 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 
    

    Fast run launches a project from his working directory without a config file

    $ realize run --fast
    

    Preview

Config file example

  • For more examples check Realize Examples

    version: "1.0"
    projects:
       - app_name: App One     -> name
         app_path: one         -> root path
         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_fmt: true         -> enable/disable go fmt
         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_run: true
         app_build: true
         app_bin: true
         app_watcher:
           paths:
           - /
           ignore_paths:
           - vendor
           - bin
           exts:
           - .go 
    

Next releases

#####Milestone 1.0

  • Cli start, remove, add, list, run
  • Remove duplicate projects
  • Support for multiple projects
  • Watcher files preview
  • Support for directories with duplicates names
  • Go test support
  • Go fmt support
  • Cli fast run
  • Execution times for build/install
  • Go doc
  • Support for server start/stop
  • Stream projects output
  • Cli feedback
Milestone 1.1
  • Test under windows
  • Unit test

Contacts

About

Go build system with file watchers, live reload and output streams. Run, build and watch file changes with custom paths

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%