// +build mage package main import ( // mage:import . "magefile/docker" "github.com/magefile/mage/mg" ) var ( GolangVolume = "golang.my" MyGoImageName = "my/go" ) func init() { AppName = "go-translator" ImageName = "my/go" BuildFn = build } func GetLibs() { Bash(`sudo docker run -ti --rm \ -h host \ --net=bridge \ -v /etc/localtime:/etc/localtime:ro \ -v ` + GolangVolume + `:/usr/local/go:ro \ \ -v /gopath:/gopath:rw \ -v ${PWD}:/app \ \ -e GOPATH=/gopath \ -e HOME=/home/user \ \ -w /app \ -u 1000 \ \ --entrypoint=/bin/bash \ \ \ ` + ImageName + " -c '" + `go get \ github.com/onsi/ginkgo/ginkgo \ github.com/onsi/gomega/... \ github.com/davecgh/go-spew \ '`) } func ModTidy() { Bash(`sudo docker run -ti --rm \ -h host \ --net=bridge \ -v /etc/localtime:/etc/localtime:ro \ -v ` + GolangVolume + `:/usr/local/go:ro \ \ -v /gopath:/gopath:rw \ -v ${PWD}:/app \ \ -e GOPATH=/gopath \ -e HOME=/home/user \ \ -w /app \ -u 1000 \ \ --entrypoint=/usr/local/go/bin/go \ \ \ ` + ImageName + " " + `mod tidy`) GetLibs() } func Test() { mg.Deps(TestLib) } func TestLib() { Bash(`sudo docker run -ti --rm \ -h host \ --net=none \ -v /etc/localtime:/etc/localtime:ro \ -v ` + GolangVolume + `:/usr/local/go:ro \ \ -v /gopath:/gopath:rw \ -v ${PWD}:/app \ \ -e GOPATH=/gopath \ -e HOME=/home/user \ \ -w /app/transpile \ -u 0 \ \ --entrypoint=/gopath/bin/ginkgo \ \ ` + ImageName + " " + `-gcflags=-l`) } func build() { Bash(`sudo docker run -ti --rm \ -h host \ --net=none \ -v /etc/localtime:/etc/localtime:ro \ -v ` + GolangVolume + `:/usr/local/go:ro \ \ -v /gopath:/gopath:rw \ -v ${PWD}:/app \ \ -e GOPATH=/gopath \ -e HOME=/home/user \ \ -w /app/cmd/go-tr \ -u 0 \ \ --entrypoint=/usr/local/go/bin/go \ \ ` + ImageName + " " + `install`) }