Go to file
2017-04-01 19:33:21 +02:00
server server fix 2017-03-20 01:14:06 +01:00
settings realize init cmd 2017-03-12 23:46:58 +01:00
watcher cli layout updated 2017-03-20 00:31:52 +01:00
.gitignore server assets ignored 2016-10-14 11:04:12 +02:00
.travis.yml allow fallback to watching by polling 2016-12-22 00:28:08 +01:00
LICENSE realize dev 2016-07-12 10:18:02 +02:00
README.md init fixed 2017-03-13 01:14:42 +01:00
realize.go new config fixed 2017-04-01 19:33:21 +02:00

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

  • Highly customizable
  • Config your project Step by Step
  • Build, Install, Test, Fmt, Generate and Run at the same time
  • Live reload on file changes (re-build, re-install...)
  • Watch custom paths and specific file extensions
  • Watch by FsNotify or by polling
  • Support for multiple projects
  • Output streams and error logs (support for save on a file)
  • Web Panel (projects list, config settings, logs)

Wiki

Installation

Run this to get/install:

$ go get github.com/tockins/realize

Commands

Run

From project/projects root execute:

$ realize run

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

The Run command supports the following custom parameters:

--path="realize/server"     -> Custom Path, if not specified takes the working directory name    
--build                     -> Enable go build   
--no-run                    -> Disable go run
--no-install                -> Disable go install
--no-config                 -> Ignore an existing config / skip the creation of a new one
--server                    -> Enable the web server
--legacy                    -> Enable legacy watch instead of Fsnotify watch
--generate                  -> Enable go generate
--test                      -> Enable go test

Examples:

$ realize run
$ realize run --path="mypath"
$ realize run --name="My Project" --build
$ realize run --path="realize" --no-run --no-config
$ realize run --path="/Users/alessio/go/src/github.com/tockins/realize-examples/coin/"

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

The additional arguments must go after the params

Run can run a project from its working directory without make a config file (--no-config).

$ realize run --path="/print/printer" --no-run yourParams --yourFlags // right
$ realize run yourParams --yourFlags --path="/print/printer" --no-run // wrong
Add

Add a project to an existing config file or create a new one without run the pipeline.

"Add" supports the same parameters of the "Run" command.

$ realize add
Init

Like add, but with this command you can create a configuration step by step and customize each option.

Init is the only command that supports a complete customization of all the options supported

$ realize init
Remove

Remove a project by its name

$ realize remove --name="myname"
List

Projects list in cli

$ realize list

Color reference

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

Config sample

  • For more examples check Realize Examples

    settings:
      legacy:                
        status: true           // legacy watch status
        interval: 10s          // polling interval
      resources:               // files names related to streams
        outputs: outputs.log   
        logs: logs.log         
        errors: errors.log
      server:                  
        status: true           // server status         
        open: false            // auto open in browser on start
        host: localhost        // server host  
        port: 5001             // server port
    projects:
    - name: realize    
      path: .                  // project path
      fmt: true                
      generate: false
      test: false
      bin: true
      build: false
      run: false
      params:                  // additional params
      - --myarg
      watcher:
        preview: false         // wached files preview
        paths:                 // paths to watch
        - /
        ignore_paths:          // paths to ignore
        - vendor
        exts:                  // exts to watch
        - .go
        scripts:               // custom commands after/before
        - type: after          // type after/before
          command: go run mycmd after  // command
          path: ""             //  run from a custom path or from the working dir
      streams:                 // enable/disable streams 
        cli_out: true
        file_out: false
        file_log: false
        file_err: false
    
    
Support us and suggest an improvement