mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 10:39:40 +08:00
Merge pull request #1325 from xucong053/bugfix
fix: failed to build debugtalk.go without go.mod
This commit is contained in:
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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"
|
||||
}
|
||||
22
hrp/build.go
22
hrp/build.go
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user