• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

internal/H29-Dec-2020-11697

mage/H29-Dec-2020-3,8273,114

mg/H29-Dec-2020-1,235916

parse/H29-Dec-2020-1,034866

sh/H29-Dec-2020-461355

site/H29-Dec-2020-8,7747,131

target/H29-Dec-2020-756664

.gitattributesH A D29-Dec-202056 22

.gitignoreH A D29-Dec-2020433 3626

.goreleaser.ymlH A D29-Dec-20201 KiB5352

.travis.ymlH A D29-Dec-2020586 2824

CODE_OF_CONDUCT.mdH A D29-Dec-20207.9 KiB8663

CONTRIBUTING.mdH A D29-Dec-20201.3 KiB4327

LICENSEH A D29-Dec-202011.1 KiB202169

README.mdH A D29-Dec-20203.2 KiB8154

bootstrap.goH A D29-Dec-2020361 209

go.modH A D29-Dec-202041 42

install_test.goH A D29-Dec-2020656 4033

magefile.goH A D03-May-20223.2 KiB11985

main.goH A D29-Dec-2020104 128

README.md

1[![Built with Mage](https://magefile.org/badge.svg)](https://magefile.org)
2[![Build Status](https://travis-ci.org/magefile/mage.svg?branch=master)](https://travis-ci.org/magefile/mage) [![Build status](https://ci.appveyor.com/api/projects/status/n6h146y79xgxkidl/branch/master?svg=true)](https://ci.appveyor.com/project/natefinch/mage/branch/master)
3
4<p align="center"><img src="https://user-images.githubusercontent.com/3185864/32058716-5ee9b512-ba38-11e7-978a-287eb2a62743.png"/></p>
5
6## About
7
8Mage is a make-like build tool using Go.  You write plain-old go functions,
9and Mage automatically uses them as Makefile-like runnable targets.
10
11## Installation
12
13Mage has no dependencies outside the Go standard library, and builds with Go 1.7
14and above (possibly even lower versions, but they're not regularly tested).
15
16**Using GOPATH**
17
18```
19go get -u -d github.com/magefile/mage
20cd $GOPATH/src/github.com/magefile/mage
21go run bootstrap.go
22```
23
24**Using Go Modules**
25
26```
27git clone https://github.com/magefile/mage
28cd mage
29go run bootstrap.go
30```
31
32This will download the code and then run the bootstrap script to build mage with
33version infomation embedded in it.  A normal `go get` (without -d) or `go
34install` will build the binary correctly, but no version info will be embedded.
35If you've done this, no worries, just go to `$GOPATH/src/github.com/magefile/mage`
36and run `mage install` or `go run bootstrap.go` and a new binary will be created
37with the correct version information.
38
39The mage binary will be created in your $GOPATH/bin directory.
40
41You may also install a binary release from our
42[releases](https://github.com/magefile/mage/releases) page.
43
44## Demo
45
46[![Mage Demo](https://img.youtube.com/vi/GOqbD0lF-iA/maxresdefault.jpg)](https://www.youtube.com/watch?v=GOqbD0lF-iA)
47
48## Discussion
49
50Join the `#mage` channel on [gophers slack](https://gophers.slack.com/messages/general/)
51or post on the [magefile google group](https://groups.google.com/forum/#!forum/magefile)
52for discussion of usage, development, etc.
53
54# Documentation
55
56see [magefile.org](https://magefile.org) for full docs
57
58see [godoc.org/github.com/magefile/mage/mage](https://godoc.org/github.com/magefile/mage/mage) for how to use mage as a library.
59
60# Why?
61
62Makefiles are hard to read and hard to write.  Mostly because makefiles are
63essentially fancy bash scripts with significant white space and additional
64make-related syntax.
65
66Mage lets you have multiple magefiles, name your magefiles whatever you want,
67and they're easy to customize for multiple operating systems.  Mage has no
68dependencies (aside from go) and runs just fine on all major operating systems,
69whereas make generally uses bash which is not well supported on Windows. Go is
70superior to bash for any non-trivial task involving branching, looping, anything
71that's not just straight line execution of commands.  And if your project is
72written in Go, why introduce another language as idiosyncratic as bash?  Why not
73use the language your contributors are already comfortable with?
74
75# Thanks
76
77If you use mage and like it, or any of my other software, and you'd like to show your appreciation, you can do so on my patreon:
78
79[<img src=https://user-images.githubusercontent.com/3185864/49846051-64eddf80-fd97-11e8-9f59-d09f5652d214.png>](https://www.patreon.com/join/natefinch?)
80
81