* add support for choose which go binary to run
* make the compiler configurable
* add a cli flag and update docs
* use go version as part of the binary hash
* add go version to what we display in mage -version
* * Removed stale type declarations in parse.
* Updated parse and mg to make better use of types package.
* Added function to types package to test for valid function.
* Added function to to types package to wrap a valid FuncType as the
* most greedy of FuncType
* renamed IsFuncType and refactored to return error instead of bool. Made the return value of FuncTypeWrap more clear.
* removed unused type func declarations
We now create the context in the mainfile, so as to remove any dependency on
the mg library, since the user may have an older version vendored, that doesn't
have the Context function.
ALso added a test to ensure that we don't import any non-stdlib libraries in the
mainfile to avoid problems like this in the future.
* Helpers galore
This commit adds helper functions that should be commonly needed
by many magefiles. It includes command execution handlers as well
as error handlers.
This commit also removes the only two non-stdlib dependencies in
the codebase. Since mage will likely be vendored into a repo,
it would be nice to avoid cluttering the vendor directory with
dependencies that are only for the build script.
This code creates a new library 'mg' that lives under the mage
repo, which contains a function, Deps, that lets a function
declare it has dependencies on other functions. These functions
will be run in parallel, and may have their own dependencies.