initial push with clean and rebuild commands

This commit is contained in:
2020-07-19 20:42:58 -04:00
commit df25294055
10 changed files with 519 additions and 0 deletions

50
engine/generateFiles.go Normal file
View 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
}