Skip to content
This repository has been archived by the owner on Sep 25, 2023. It is now read-only.

ridge/game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoDoc Build Status

Game

Game is a Make-like build tool using Go.

You describe build tasks in Go, and Game runs them.

Installation

go instal github.com/ridge/game@master

game binary will be installed to your $GOPATH/bin directory.

Discussion

Join the #game channel on gophers slack.

Documentation

Documentation website TBD, see this directory in meantime.

Why?

Mage has a great answer.

How is Game different from Mage?

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 of mg.CtxDeps(ctx, ...)
    • Functions, variables and methods named All are defaults. E.g. a method declaration func (Hey) All(ctx task.Context) {} produces a task named hey, not hey:all.
  • Game drops several features of Mage:

    • GOPATH environment support
    • Shorthand tasks definition without Context parameter

License

Game is licensed under terms of Apache 2.0 license.