diff --git a/examples/demo-empty-project/proj.json b/examples/demo-empty-project/proj.json index e2795a32..5d124adb 100644 --- a/examples/demo-empty-project/proj.json +++ b/examples/demo-empty-project/proj.json @@ -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.1" } \ No newline at end of file diff --git a/examples/demo-with-go-plugin/proj.json b/examples/demo-with-go-plugin/proj.json index 22ced179..be9dfdaf 100644 --- a/examples/demo-with-go-plugin/proj.json +++ b/examples/demo-with-go-plugin/proj.json @@ -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.1" } \ No newline at end of file diff --git a/examples/demo-with-py-plugin/proj.json b/examples/demo-with-py-plugin/proj.json index 1ac035ea..ccf2b5d5 100644 --- a/examples/demo-with-py-plugin/proj.json +++ b/examples/demo-with-py-plugin/proj.json @@ -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.1" } \ No newline at end of file diff --git a/examples/demo-without-plugin/proj.json b/examples/demo-without-plugin/proj.json index 87c95192..7c95fdb6 100644 --- a/examples/demo-without-plugin/proj.json +++ b/examples/demo-without-plugin/proj.json @@ -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.1" } \ No newline at end of file diff --git a/hrp/build.go b/hrp/build.go index d77c6b3c..beeafd90 100644 --- a/hrp/build.go +++ b/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 } diff --git a/hrp/internal/scaffold/main.go b/hrp/internal/scaffold/main.go index 941ab14c..04ad8ac5 100644 --- a/hrp/internal/scaffold/main.go +++ b/hrp/internal/scaffold/main.go @@ -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 }