fix process kill on windows

normalize paths
This commit is contained in:
maddalax 2024-10-28 14:02:17 -05:00
parent 9dac3ef988
commit db3322c3d8
2 changed files with 14 additions and 7 deletions

View file

@ -37,6 +37,10 @@ const ModuleName = "github.com/maddalax/htmgo/framework/h"
var PackageName = fmt.Sprintf("package %s", GeneratedDirName) var PackageName = fmt.Sprintf("package %s", GeneratedDirName)
var GeneratedFileLine = fmt.Sprintf("// Package %s THIS FILE IS GENERATED. DO NOT EDIT.", GeneratedDirName) var GeneratedFileLine = fmt.Sprintf("// Package %s THIS FILE IS GENERATED. DO NOT EDIT.", GeneratedDirName)
func normalizePath(path string) string {
return strings.ReplaceAll(path, `\`, "/")
}
func sliceCommonPrefix(dir1, dir2 string) string { func sliceCommonPrefix(dir1, dir2 string) string {
// Use filepath.Clean to normalize the paths // Use filepath.Clean to normalize the paths
dir1 = filepath.Clean(dir1) dir1 = filepath.Clean(dir1)
@ -62,9 +66,9 @@ func sliceCommonPrefix(dir1, dir2 string) string {
// Return the longer one // Return the longer one
if len(slicedDir1) > len(slicedDir2) { if len(slicedDir1) > len(slicedDir2) {
return slicedDir1 return normalizePath(slicedDir1)
} }
return slicedDir2 return normalizePath(slicedDir2)
} }
func findPublicFuncsReturningHPartial(dir string, predicate func(partial Partial) bool) ([]Partial, error) { func findPublicFuncsReturningHPartial(dir string, predicate func(partial Partial) bool) ([]Partial, error) {
@ -106,8 +110,8 @@ func findPublicFuncsReturningHPartial(dir string, predicate func(partial Partial
if selectorExpr.Sel.Name == "Partial" { if selectorExpr.Sel.Name == "Partial" {
p := Partial{ p := Partial{
Package: node.Name.Name, Package: node.Name.Name,
Path: sliceCommonPrefix(cwd, path), Path: normalizePath(sliceCommonPrefix(cwd, path)),
Import: sliceCommonPrefix(cwd, strings.ReplaceAll(filepath.Dir(path), `\`, `/`)), Import: sliceCommonPrefix(cwd, normalizePath(filepath.Dir(path))),
FuncName: funcDecl.Name.Name, FuncName: funcDecl.Name.Name,
} }
if predicate(p) { if predicate(p) {
@ -173,8 +177,8 @@ func findPublicFuncsReturningHPage(dir string) ([]Page, error) {
if selectorExpr.Sel.Name == "Page" { if selectorExpr.Sel.Name == "Page" {
pages = append(pages, Page{ pages = append(pages, Page{
Package: node.Name.Name, Package: node.Name.Name,
Import: strings.ReplaceAll(filepath.Dir(path), `\`, `/`), Import: normalizePath(filepath.Dir(path)),
Path: path, Path: normalizePath(path),
FuncName: funcDecl.Name.Name, FuncName: funcDecl.Name.Name,
}) })
break break

View file

@ -12,7 +12,10 @@ func KillProcess(process CmdWithFlags) error {
if process.Cmd == nil || process.Cmd.Process == nil { if process.Cmd == nil || process.Cmd.Process == nil {
return nil return nil
} }
Run(NewRawCommand("killprocess", fmt.Sprintf("taskkill /F /T /PID %s", strconv.Itoa(process.Cmd.Process.Pid)))) err := exec.Command("taskkill", "/F", "/T", "/PID", strconv.Itoa(process.Cmd.Process.Pid)).Run()
if err != nil {
fmt.Println(err)
}
time.Sleep(time.Millisecond * 50) time.Sleep(time.Millisecond * 50)
return nil return nil
} }