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