go-translator/Magefile.go
2021-10-04 01:42:19 +03:00

121 строка
1,9 КиБ
Go

// +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`)
}