lestnica_dvizh/pkg/schema/Magefile.go

87 строки
1,3 КиБ
Go

//go:build mage
// +build mage
package main
import (
"fmt"
// mage:import
. "magefile/docker"
)
func init() {
AppName = "kicad"
UpperAppName = "Kicad"
ImageName = "my/kicad"
RunFn = run
}
func Generate() {
GeneratePySkidl()
GenerateNetlist()
}
func GeneratePySkidl() {
Bash(`go-tr -p schema.go schema.py`)
}
func GenerateNetlist() {
Bash(`sudo docker run -ti --rm \
--net=none \
\
-v /etc/localtime:/etc/localtime:ro \
\
-v $PWD:/app \
\
-w /app \
--entrypoint=/bin/bash \
\
` + ImageName + ` -c '\
python schema.py
'`)
}
func run() {
Bash(`sudo docker run -d \
--restart=no \
-h ` + AppName + ` \
--name=` + AppName + ` \
--net=` + NetName + ` \
\
-v /etc/localtime:/etc/localtime:ro \
\
-v ` + AppName + `:/home/user \
\
-e LANG=ru_RU.UTF-8 \
-v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 \
-e DISPLAY=:0 \
\
-w / \
\
` + ImageName)
}
// Как пользовать:
// https://devbisme.github.io/skidl/
func SkidlShell() {
fmt.Println(`
from skidl import *
search("ESP32")
show("RF_Module", "ESP32-WROOM-32")
search_footprints("ESP32")
`)
Bash(`sudo docker run -ti --rm \
--net=none \
\
-v /etc/localtime:/etc/localtime:ro \
\
-v $PWD:/app \
\
-w /app \
--entrypoint=/bin/bash \
\
` + ImageName + ` -c '\
python \
'`)
}