https://github.com/magefile/mage

A mage file is any regular go file marked with a build target of "mage" and 
in package main.

// +build mage

package main


You may have any number of magefiles in the same directory. Mage doesn't 
care what they're named aside from normal go filename rules. All they need 
is to have the mage build target. Handily, this also excludes them from 
your regular builds, so they can live side by side with your normal go 
files. Magefiles may use any of Go's usual build constraints, so you can 
include and exclude magefiles based on OS, arch, etc, whether in the 
filename or in the +build line.

*Targets*

Any exported function that has no arguments and either no return values or 
a single error value is considered a mage target. If the function has an 
error return, errors returned from the function will print to stdout and 
cause the magefile to exit with an exit code of 1. Any functions that do 
not fit this pattern are not considered targets by mage.

Comments on the target function will become documentation accessible by 
running mage -l which will list all the build targets in this directory 
with the first sentence from their docs, or mage -h <target> which will 
show the full comment from the docs on the function.

Targets may be run just like make targets, i,e,

mage build

Check it out and let me know what you think.  More features forthcoming.

-Nate

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to