1
0
Fork 0
forked from goffee/goffee
This commit is contained in:
Zeni Kim 2024-09-15 10:06:16 -05:00
parent c97afa7564
commit 7f4e3c39da
4 changed files with 44 additions and 9 deletions

View file

@ -55,7 +55,7 @@ func prepareJobContent(jobName string) string {
t := `package eventjobs
import (
"github.com/goffee/core"
"git.smarteching.com/goffee/core"
)
var {JobName} core.EventJob = func(event *core.Event, c *core.Context) {
@ -107,7 +107,7 @@ func createHandlerFile(handlersFilePath string) (*os.File, error) {
_, err = file.WriteString(`package handlers
import (
"github.com/goffee/core"
"git.smarteching.com/goffee/core"
)
`)
@ -121,7 +121,7 @@ func prepareMiddlewareContent(middlewareName string) string {
t := `package middlewares
import (
"github.com/goffee/core"
"git.smarteching.com/goffee/core"
)
var {middlewareName} core.Middleware = func (c *core.Context) {

View file

@ -38,7 +38,7 @@ type RepoMeta struct {
}
// Config file
const CONFIG_URL string = "https://raw.githubusercontent.com/gocondor/gaffer/main/config.json"
const CONFIG_URL string = "https://git.smarteching.com/goffee/goffee/raw/branch/main/config.json"
const REPO_URL string = "https://git.smarteching.com/goffee/goffee/cup/releases/latest"
@ -165,7 +165,7 @@ func (cn *CmdNew) DownloadGoCondor(http *http.Client, url string, tempName strin
tempFilePath := os.TempDir() + "/" + tempName
response, err := http.Get(url)
if err != nil {
fmt.Println("error downloading the GoCondor release")
fmt.Println("error downloading the Cup release")
os.Exit(1)
}
defer response.Body.Close()
@ -179,7 +179,7 @@ func (cn *CmdNew) DownloadGoCondor(http *http.Client, url string, tempName strin
_, err = io.Copy(file, response.Body)
if err != nil {
fmt.Println("error writing the GoCondor release to file")
fmt.Println("error writing the Cup release to file")
os.Exit(1)
}

View file

@ -36,7 +36,7 @@ func TestDownloadConfig(t *testing.T) {
func TestDownloadGoCondor(t *testing.T) {
// Prepare
newCmd := CmdNew{}
fileName := "gocondor_temp_" + randstr.Hex(8) + ".tar.gz"
fileName := "cup_temp_" + randstr.Hex(8) + ".tar.gz"
server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
res, err := os.ReadFile("testdata/gocondor.tar.gz")
if err != nil {
@ -78,8 +78,8 @@ func TestIsUpdatedRequired(t *testing.T) {
func TestUnpack(t *testing.T) {
// Prepare
cn := CmdNew{}
filepath := "./testdata/gocondor.tar.gz"
folderName := "gocondor-0.3-alpha.6"
filepath := "./testdata/cup.tar.gz"
folderName := "cup-0.3-alpha.6"
destPath := os.TempDir()
os.RemoveAll(destPath + "/" + folderName)

View file

@ -118,6 +118,15 @@ func startRestartControllerJob(fileChangeChan chan bool, pidChan chan int, start
if err != nil {
fmt.Println("error stopping process: ", err.Error())
}
} else if runtime.GOOS == "linux" {
pgid, err := syscall.Getpgid(pid)
if err != nil {
fmt.Println("error getting pgid: ", err.Error())
}
err = syscall.Kill(-pgid, syscall.SIGKILL)
if err != nil {
fmt.Println("error stopping process: ", err.Error())
}
} else {
fmt.Println("not implemented for os: ", runtime.GOOS)
}
@ -176,6 +185,32 @@ func startServerJob(pidChan chan int, startAppChan chan bool) {
pidChan <- pid
}()
}
} else if runtime.GOOS == "linux" {
execFile := pwd + "/tmp/" + path.Base(pwd)
binary, lookErr := exec.LookPath("/bin/sh")
if lookErr != nil {
panic(lookErr)
}
args := []string{"/bin/sh", "-c", execFile}
execSpec := &syscall.ProcAttr{
Dir: pwd,
Env: os.Environ(),
Files: []uintptr{os.Stdin.Fd(), os.Stdout.Fd(), os.Stderr.Fd()},
Sys: &syscall.SysProcAttr{
Setpgid: true,
},
}
pid, _, err = syscall.StartProcess(binary, args, execSpec)
if err != nil {
fmt.Println("error starting process: ", err.Error())
go func() {
pidChan <- 0
}()
} else {
go func() {
pidChan <- pid
}()
}
} else {
fmt.Println("not implemented for os: ", runtime.GOOS)
}