8000 GitHub - jcudit/realize: Go build system with file watchers, live reload and output streams. Run, build and watch file changes with custom paths
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
/ realize Public
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

jcudit/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 Go Report Card

Logo

A Go 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 to get/install:

    $ go get github.com/tockins/realize
    
  • From project/projects root execute:

    $ realize add
    

    It will create a realize.config.yaml file if it doesn't exist already and adds the working directory as the project.

    Otherwise if a config file already exists it adds another project to the existing config file.

    The add command supports the following custom parameters:

    --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                 -> Enables the build   
    --test                 -> Enables the tests   
    --no-bin                -> Disables the installation
    --no-run                -> Disables the run
    --no-fmt                -> Disables the fmt (go fmt)
    

    Examples:

    $ 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 --no-run
    

    If you want, you can specify additional arguments for your project.

    The additional arguments must go after the options of "Realize"

    $ realize add --path="/print/printer" --no-run yourParams --yourFlags // correct
    
    $ realize add yourParams --yourFlags --path="/print/printer" --no-run // wrong
    
  • Remove a project by its 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 change.

    $ realize run
    

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

    $ realize fast
    

    The fast command supports the following custom parameters:

    --build                 -> Enables the build   
    --test                  -> Enables the tests   
    --no-bin                -> Disables the installation
    --no-run                -> Disables the run
    --no-fmt                -> Disables the fmt (go fmt)
    --config                -> Take the defined settings if exist a config file  
    

    The "fast" command supporst addittional arguments as the "add" command.

    $ realize fast --no-run yourParams --yourFlags // correct
    
    $ realize fast yourParams --yourFlags --no-run // wrong
    

Color reference

  • Blue: outputs of the project
  • Red: errors
  • Magenta: times or changed files
  • Green: successfully completed action

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_test: true        -> enable/disable go test
         app_params:           -> the project will be launched with these parameters
           - --flag1
           - param1
         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
  • Additional arguments
  • 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
  • Custom path on commands
  • Output files
  • Cli args
  • Before/After command

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%
0