Merge pull request #1325 from xucong053/bugfix

fix: failed to build debugtalk.go without go.mod
This commit is contained in:
debugtalk
2022-05-31 15:10:51 +08:00
committed by GitHub
6 changed files with 22 additions and 22 deletions

View File

@@ -1,6 +1,5 @@
{
"project_name": "demo-empty-project",
"project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-empty-project",
"create_time": "2022-05-29T13:24:31.960615+08:00",
"create_time": "2022-05-31T15:05:51.196187+08:00",
"hrp_version": "v4.1.0"
}

View File

@@ -1,6 +1,5 @@
{
"project_name": "demo-with-go-plugin",
"project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-with-go-plugin",
"create_time": "2022-05-29T13:24:29.431434+08:00",
"create_time": "2022-05-31T15:05:49.894029+08:00",
"hrp_version": "v4.1.0"
}

View File

@@ -1,6 +1,5 @@
{
"project_name": "demo-with-py-plugin",
"project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-with-py-plugin",
"create_time": "2022-05-29T13:24:29.566414+08:00",
"create_time": "2022-05-31T15:05:50.036068+08:00",
"hrp_version": "v4.1.0"
}

View File

@@ -1,6 +1,5 @@
{
"project_name": "demo-without-plugin",
"project_path": "/Users/debugtalk/MyProjects/HttpRunner-dev/httprunner/examples/demo-without-plugin",
"create_time": "2022-05-29T13:24:31.840718+08:00",
"create_time": "2022-05-31T15:05:51.066376+08:00",
"hrp_version": "v4.1.0"
}

View File

@@ -12,10 +12,10 @@ import (
"strings"
"text/template"
"github.com/httprunner/funplugin/shared"
"github.com/pkg/errors"
"github.com/rs/zerolog/log"
"github.com/httprunner/funplugin/shared"
"github.com/httprunner/httprunner/v4/hrp/internal/builtin"
"github.com/httprunner/httprunner/v4/hrp/internal/version"
)
@@ -209,10 +209,22 @@ func buildGo(path string, output string) error {
return err
}
// download plugin dependency
// funplugin version should be locked
funplugin := fmt.Sprintf("github.com/httprunner/funplugin@%s", shared.Version)
if err := builtin.ExecCommandInDir(exec.Command("go", "get", funplugin), pluginDir); err != nil {
if !builtin.IsFilePathExists(filepath.Join(pluginDir, "go.mod")) {
// create go mod
if err := builtin.ExecCommandInDir(exec.Command("go", "mod", "init", "main"), pluginDir); err != nil {
return err
}
// download plugin dependency
// funplugin version should be locked
funplugin := fmt.Sprintf("github.com/httprunner/funplugin@%s", shared.Version)
if err := builtin.ExecCommandInDir(exec.Command("go", "get", funplugin), pluginDir); err != nil {
return err
}
}
// add missing and remove unused modules
if err := builtin.ExecCommandInDir(exec.Command("go", "mod", "tidy"), pluginDir); err != nil {
return err
}

View File

@@ -28,7 +28,6 @@ const (
type ProjectInfo struct {
ProjectName string `json:"project_name,omitempty" yaml:"project_name,omitempty"`
ProjectPath string `json:"project_path,omitempty" yaml:"project_path,omitempty"`
CreateTime time.Time `json:"create_time,omitempty" yaml:"create_time,omitempty"`
Version string `json:"hrp_version,omitempty" yaml:"hrp_version,omitempty"`
}
@@ -78,12 +77,6 @@ func CreateScaffold(projectName string, pluginType PluginType, force bool) error
os.RemoveAll(projectName)
}
// get project abs path
projectPath, err := filepath.Abs(projectName)
if err != nil {
projectPath = projectName
}
// create project folders
if err := builtin.CreateFolder(projectName); err != nil {
return err
@@ -106,13 +99,12 @@ func CreateScaffold(projectName string, pluginType PluginType, force bool) error
projectInfo := &ProjectInfo{
ProjectName: filepath.Base(projectName),
ProjectPath: projectPath,
CreateTime: time.Now(),
Version: version.VERSION,
}
// dump project information to file
err = builtin.Dump2JSON(projectInfo, filepath.Join(projectName, "proj.json"))
err := builtin.Dump2JSON(projectInfo, filepath.Join(projectName, "proj.json"))
if err != nil {
return err
}