route/vendor/github.com/magefile/mage
Cadey Ratio 45cecbc145 update deps, vendor mage 2018-01-16 20:32:37 -08:00
..
build update deps, vendor mage 2018-01-16 20:32:37 -08:00
mage update deps, vendor mage 2018-01-16 20:32:37 -08:00
mg upgrade all the dependencies 2018-01-03 11:19:49 -08:00
parse update deps, vendor mage 2018-01-16 20:32:37 -08:00
sh update deps, vendor mage 2018-01-16 20:32:37 -08:00
types upgrade all the dependencies 2018-01-03 11:19:49 -08:00
.gitattributes change from vendor to dep 2017-10-06 08:29:20 -07:00
.gitignore upgrade all the dependencies 2018-01-03 11:19:49 -08:00
.goreleaser.yml upgrade all the dependencies 2018-01-03 11:19:49 -08:00
.travis.yml fix quic manually 2018-01-03 11:29:07 -08:00
CONTRIBUTING.md fix quic manually 2018-01-03 11:29:07 -08:00
Gopkg.lock change from vendor to dep 2017-10-06 08:29:20 -07:00
Gopkg.toml change from vendor to dep 2017-10-06 08:29:20 -07:00
LICENSE change from vendor to dep 2017-10-06 08:29:20 -07:00
README.md fix quic manually 2018-01-03 11:29:07 -08:00
contrib_test.go change from vendor to dep 2017-10-06 08:29:20 -07:00
magefile.go fix quic manually 2018-01-03 11:29:07 -08:00
main.go change from vendor to dep 2017-10-06 08:29:20 -07:00

README.md

mage

Mage is a make/rake-like build tool using Go.

Build Status

Demo

Mage Demo

Discussion

Join the #mage channel on gophers slack for discussion of usage, development, etc.

Documentation

see magefile.org for full docs

see godoc.org/github.com/magefile/mage/mage for how to use mage as a library.

Why?

Makefiles are hard to read and hard to write. Mostly because makefiles are essentially fancy bash scripts with significant white space and additional make-related syntax.

Mage lets you have multiple magefiles, name your magefiles whatever you want, and they're easy to customize for multiple operating systems. Mage has no dependencies (aside from go) and runs just fine on all major operating systems, whereas make generally uses bash which is not well supported on Windows. Go is superior to bash for any non-trivial task involving branching, looping, anything that's not just straight line execution of commands. And if your project is written in Go, why introduce another language as idiosyncratic as bash? Why not use the language your contributors are already comfortable with?

TODO

  • File conversion tasks