initial push with clean and rebuild commands
This commit is contained in:
50
engine/generateFiles.go
Normal file
50
engine/generateFiles.go
Normal file
@@ -0,0 +1,50 @@
|
||||
package engine
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"os/exec"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/sys/windows/registry"
|
||||
)
|
||||
|
||||
func findUnrealPath() (string, error) {
|
||||
//Attempting to generate project files programattically
|
||||
k, err := registry.OpenKey(registry.CLASSES_ROOT, `Unreal.ProjectFile\DefaultIcon`, registry.QUERY_VALUE)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
defer k.Close()
|
||||
s, _, err := k.GetStringValue("") //Pulling the (Default) value which has the path
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
s = strings.Trim(s, "\"") //Trim the quotes from around the string
|
||||
return s, nil
|
||||
}
|
||||
|
||||
func generateFiles(projectFileABSPath string) error {
|
||||
// find the path to versionswitcher which is not in a specific unreal version directory since it needs to switch between versions
|
||||
unrealExPath, err := findUnrealPath()
|
||||
if err != nil {
|
||||
fmt.Println("Unable to find the path to Unreal engine, please generate project files manually: ", err)
|
||||
bufio.NewReader(os.Stdin).ReadBytes('\n')
|
||||
os.Exit(1)
|
||||
}
|
||||
checkPath(unrealExPath) // Verifying path, will exit if fail
|
||||
fmt.Println("Using Unreal Engine Path: ", unrealExPath)
|
||||
generateArgs := []string{"/projectfiles", projectFileABSPath}
|
||||
generateFilesCMD := exec.Command(unrealExPath, generateArgs...)
|
||||
// var stdBuffer bytes.Buffer
|
||||
// mw := io.MultiWriter(os.Stdout, &stdBuffer)
|
||||
out := io.Writer(os.Stdout)
|
||||
generateFilesCMD.Stdout = out
|
||||
err = generateFilesCMD.Run()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user