mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-02 17:39:58 +08:00
86 lines
1.7 KiB
Go
86 lines
1.7 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
)
|
|
|
|
// Default target to run when none is specified
|
|
// If not set, running mage will list available targets
|
|
// var Default = Build
|
|
|
|
/*
|
|
# Build runtime
|
|
echo "**** Building Runtime ****"
|
|
cd runtime/js
|
|
npm install
|
|
npm run build
|
|
cd ../..
|
|
|
|
echo "**** Packing Assets ****"
|
|
cd cmd
|
|
mewn
|
|
cd ..
|
|
cd lib/renderer
|
|
mewn
|
|
cd ../..
|
|
|
|
echo "**** Installing Wails locally ****"
|
|
cd cmd/wails
|
|
go install
|
|
cd ../..
|
|
|
|
echo "**** Tidying the mods! ****"
|
|
go mod tidy
|
|
|
|
echo "**** WE ARE DONE! ****"
|
|
|
|
*/
|
|
|
|
func runCommand(command string, args ...string) {
|
|
cmd := exec.Command(command, args...)
|
|
output, err := cmd.CombinedOutput()
|
|
fmt.Println(string(output))
|
|
if err != nil {
|
|
log.Println(string(output))
|
|
log.Fatal(err)
|
|
}
|
|
cmd.Run()
|
|
fmt.Println(string(output))
|
|
}
|
|
|
|
// A build step that requires additional params, or platform specific steps for example
|
|
func main() {
|
|
|
|
dir, _ := os.Getwd()
|
|
|
|
// Build Runtime
|
|
fmt.Println("**** Building Runtime ****")
|
|
runtimeDir, _ := filepath.Abs(filepath.Join(dir, "..", "runtime", "js"))
|
|
os.Chdir(runtimeDir)
|
|
runCommand("npm", "install")
|
|
runCommand("npm", "run", "build")
|
|
|
|
// Pack assets
|
|
fmt.Println("**** Packing Assets ****")
|
|
rendererDir, _ := filepath.Abs(filepath.Join(dir, "..", "lib", "renderer"))
|
|
os.Chdir(rendererDir)
|
|
runCommand("mewn")
|
|
cmdDir, _ := filepath.Abs(filepath.Join(dir, "..", "cmd"))
|
|
os.Chdir(cmdDir)
|
|
runCommand("mewn")
|
|
|
|
// Install Wails
|
|
fmt.Println("**** Installing Wails locally ****")
|
|
execDir, _ := filepath.Abs(filepath.Join(dir, "..", "cmd", "wails"))
|
|
os.Chdir(execDir)
|
|
runCommand("go", "install")
|
|
|
|
baseDir, _ := filepath.Abs(filepath.Join(dir, ".."))
|
|
os.Chdir(baseDir)
|
|
runCommand("go", "mod", "tidy")
|
|
}
|