go-deb/stateWindow.go

103 lines
2.1 KiB
Go
Raw Normal View History

2024-02-11 01:00:05 -06:00
// This window, when it's hidden, still exists to the application
// so it can be treated as if it really exists
package main
import (
"os"
"go.wit.com/gui"
"go.wit.com/lib/gadgets"
"go.wit.com/lib/gui/shell"
2024-02-11 01:00:05 -06:00
"go.wit.com/log"
)
var apple *gui.Node
// This initializes the first window, a group and a button
func makebasicWindow() *gadgets.BasicWindow {
log.Warn("init basicWindow state")
basicWindow = gadgets.NewBasicWindow(myGui, "Create .deb files for GO applications")
basicWindow.Make()
basicWindow.Custom = func() {
log.Info("got to close")
os.Exit(0)
}
box1 := basicWindow.Box()
control := newControl(box1)
2024-02-11 01:00:05 -06:00
vbox := box1.Box().Horizontal()
group1 := vbox.NewGroup("controls").Horizontal() // Vertical()
2024-02-11 01:00:05 -06:00
group1.NewButton("go build", func() {
shell.Run([]string{"go", "build", "-v", "-x"})
})
group1.NewButton("read control file", func() {
control.readControlFile()
2024-02-11 01:00:05 -06:00
})
2024-02-11 01:00:05 -06:00
group1.NewButton("Make .deb", func() {
basicWindow.Disable()
if control.buildPackage() {
log.Info("build worked")
} else {
log.Warn("build failed")
}
basicWindow.Enable()
2024-02-11 01:00:05 -06:00
})
2024-02-11 01:00:05 -06:00
group1.NewButton("open repo", func() {
})
/*
group1.NewButton("show apple", func() {
apple.Show()
})
apple = group1.NewButton("apple", func() {
log.Info("is not a pear")
})
*/
return basicWindow
}
func (c *controlFile) buildPackage() bool {
if c.readControlFile() == nil {
log.Warn("scan worked")
} else {
log.Warn("scan failed")
return false
}
if shell.Run([]string{"go", "build", "-v", "-x"}) {
log.Warn("build worked")
} else {
log.Warn("build failed")
return false
}
filename := c.Package.String()
if filename == "" {
log.Warn("build failed")
return false
}
if !shell.Exists(filename) {
log.Warn("build failed")
return false
}
arch := c.Architecture.String()
version := "v0.0.0"
debname := filename + "_" + version + "_" + arch + ".deb"
shell.Run([]string{"strip", filename})
shell.Run([]string{"dpkg-deb", "--build", "files", debname})
if shell.Exists(debname) {
log.Warn("build worked")
} else {
log.Warn("build failed")
return false
}
return true
}