go-translator/Magefile.go
2021-10-03 06:19:09 +03:00

134 строки
2,3 КиБ
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 Imports() {
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 \
github.com/h12w/go-socks5 \
h12.io/socks \
github.com/vishvananda/netns \
github.com/milosgajdos/tenus \
github.com/docker/libcontainer/netlink \
github.com/go-ping/ping \
github.com/sirupsen/logrus \
github.com/songgao/water \
github.com/aerogo/packet \
github.com/undefinedlabs/go-mpatch \
github.com/buger/goreplay \
github.com/google/gopacket \
&& go list -m -json ... >/dev/null
'`)
}
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 /d1/d/gopath/_data:/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`)
Imports()
}
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=/usr/local/go/bin/go \
\
` + ImageName + " " +
`test -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`)
}