Game is a Make-like build tool using Go.
You describe build tasks in Go, and Game runs them.
go instal github.com/ridge/game@master
game
binary will be installed to your $GOPATH/bin
directory.
Join the #game
channel on gophers slack.
Documentation website TBD, see this directory in meantime.
Mage has a great answer.
Game is indeed a a fork of Mage.
Mage prides itself on having clean and readable build files. Game trades a bit of readability for features.
-
New features of Game:
- parameterized dependencies
- top-level targets for variables implementing
task.Runnable
- task time tracing
- per-task output capture (output from parallel tasks is not intermixed)
- shorthand
ctx.Dep
instead ofmg.CtxDeps(ctx, ...)
- Functions, variables and methods named
All
are defaults. E.g. a method declarationfunc (Hey) All(ctx task.Context) {}
produces a task namedhey
, nothey:all
.
-
Game drops several features of Mage:
- GOPATH environment support
- Shorthand tasks definition without
Context
parameter
Game is licensed under terms of Apache 2.0 license.