87 строки
1,3 КиБ
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 \
|
|
'`)
|
|
}
|