From 8e716eef36c3b9d5c68aa79fabdad0e470db3967 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=AD=E6=98=95?= <715557344@qq.com> Date: Wed, 8 Mar 2023 12:36:19 +0800 Subject: [PATCH 1/2] remove `io/ioutil` which will be deprecated --- config/boot.go | 3 +-- extension/aop/call/cli/call.go | 4 ++-- extension/aop/dynamic_plugin/cli/update.go | 4 ++-- extension/aop/dynamic_plugin/server.go | 4 ++-- extension/aop/trace/cli/trace.go | 3 +-- extension/autowire/rpc/protocol/protocol_impl/iocgo.go | 6 +++--- iocli/gen/generator/plugin/common/file_parser.go | 4 ++-- iocli/init/init.go | 5 ++--- 8 files changed, 15 insertions(+), 18 deletions(-) diff --git a/config/boot.go b/config/boot.go index 347be38..47331a0 100644 --- a/config/boot.go +++ b/config/boot.go @@ -16,7 +16,6 @@ package config import ( - "io/ioutil" "os" "strings" @@ -129,7 +128,7 @@ func Load(opts ...Option) error { for _, cf := range configFiles { logger.Blue("[Config] Loading config file %s", cf) - contents, err := ioutil.ReadFile(cf) + contents, err := os.ReadFile(cf) if err != nil { logger.Red("[Config] Load ioc-golang config file failed. %v\n The load procedure is continue", err) return nil diff --git a/extension/aop/call/cli/call.go b/extension/aop/call/cli/call.go index 88de4b7..a97c5d0 100644 --- a/extension/aop/call/cli/call.go +++ b/extension/aop/call/cli/call.go @@ -19,7 +19,7 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" + "os" "github.com/spf13/cobra" "google.golang.org/grpc" @@ -56,7 +56,7 @@ var call = &cobra.Command{ paramsJSON := params if paramsJSON == "" && paramsFile != "" { - data, err := ioutil.ReadFile(paramsFile) + data, err := os.ReadFile(paramsFile) if err != nil { logger.Red("iocli call command read param json from %s failed with error = %s", paramsFile, err.Error()) return diff --git a/extension/aop/dynamic_plugin/cli/update.go b/extension/aop/dynamic_plugin/cli/update.go index 0e15c4b..3c4aa79 100644 --- a/extension/aop/dynamic_plugin/cli/update.go +++ b/extension/aop/dynamic_plugin/cli/update.go @@ -18,8 +18,8 @@ package cli import ( "context" "fmt" - "io/ioutil" "math" + "os" "github.com/alibaba/ioc-golang/logger" @@ -63,7 +63,7 @@ var updateCommand = &cobra.Command{ pluginFilePath := args[2] pluginName := args[3] - pluginFile, err := ioutil.ReadFile(pluginFilePath) + pluginFile, err := os.ReadFile(pluginFilePath) if err != nil { logger.Red("Read plugin file %s failed with error = %s", pluginFilePath, err) return diff --git a/extension/aop/dynamic_plugin/server.go b/extension/aop/dynamic_plugin/server.go index 301582f..86c75f5 100644 --- a/extension/aop/dynamic_plugin/server.go +++ b/extension/aop/dynamic_plugin/server.go @@ -18,7 +18,7 @@ package dynamic_plugin import ( "context" "fmt" - "io/ioutil" + "os" "plugin" "github.com/alibaba/ioc-golang/logger" @@ -39,7 +39,7 @@ type dynamicPluginServiceImpl struct { } func (d *dynamicPluginServiceImpl) Update(ctx context.Context, req *dynamic_plugin.DynamicPluginUpdateRequest) (*dynamic_plugin.DynamicPluginUpdateResponse, error) { - tempFile, err := ioutil.TempFile("", req.GetPluginName()) + tempFile, err := os.CreateTemp("", req.GetPluginName()) defer func() { _ = tempFile.Close() }() diff --git a/extension/aop/trace/cli/trace.go b/extension/aop/trace/cli/trace.go index 8e3929f..ea65fe0 100644 --- a/extension/aop/trace/cli/trace.go +++ b/extension/aop/trace/cli/trace.go @@ -20,7 +20,6 @@ import ( "context" "fmt" "io/fs" - "io/ioutil" "net/http" "os" "os/signal" @@ -132,7 +131,7 @@ var trace = &cobra.Command{ } func writeSpans(cacheData bytes.Buffer) { - if err := ioutil.WriteFile(storeToFile, cacheData.Bytes(), fs.ModePerm); err != nil { + if err := os.WriteFile(storeToFile, cacheData.Bytes(), fs.ModePerm); err != nil { logger.Red("Write cached spans data to %s failed, error is %s", storeToFile, err.Error()) os.Exit(1) } diff --git a/extension/autowire/rpc/protocol/protocol_impl/iocgo.go b/extension/autowire/rpc/protocol/protocol_impl/iocgo.go index 741005e..9489150 100644 --- a/extension/autowire/rpc/protocol/protocol_impl/iocgo.go +++ b/extension/autowire/rpc/protocol/protocol_impl/iocgo.go @@ -20,7 +20,7 @@ import ( "context" "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "time" @@ -94,7 +94,7 @@ func (i *IOCProtocol) Invoke(invocation dubboProtocol.Invocation) dubboProtocol. } } - rspData, _ := ioutil.ReadAll(rsp.Body) + rspData, _ := io.ReadAll(rsp.Body) replyList := invocation.Reply().(*[]interface{}) finalIsError := false finalErrorNotNil := false @@ -152,7 +152,7 @@ func (i *IOCProtocol) Export(invoker dubboProtocol.Invoker) dubboProtocol.Export } } - reqData, err := ioutil.ReadAll(c.Request.Body) + reqData, err := io.ReadAll(c.Request.Body) if err != nil { c.AbortWithStatusJSON(http.StatusInternalServerError, err.Error()) return diff --git a/iocli/gen/generator/plugin/common/file_parser.go b/iocli/gen/generator/plugin/common/file_parser.go index 533f5bc..fb125ff 100644 --- a/iocli/gen/generator/plugin/common/file_parser.go +++ b/iocli/gen/generator/plugin/common/file_parser.go @@ -16,7 +16,7 @@ package common import ( - "io/ioutil" + "os" "strings" "github.com/alibaba/ioc-golang/extension/autowire/common" @@ -28,7 +28,7 @@ ParseExportedMethodInfoFromGoFiles parse all Upper case methods, func ParseExportedMethodInfoFromGoFiles(structName string, goFilesPath []string) []Method { exportedMethods := make([]Method, 0) for _, filePath := range goFilesPath { - data, err := ioutil.ReadFile(filePath) + data, err := os.ReadFile(filePath) if err != nil { continue } diff --git a/iocli/init/init.go b/iocli/init/init.go index cccb327..e871dc1 100644 --- a/iocli/init/init.go +++ b/iocli/init/init.go @@ -18,7 +18,6 @@ package init import ( "bytes" "fmt" - "io/ioutil" "os" "path/filepath" "regexp" @@ -128,7 +127,7 @@ func doWriteFile(path, tmpl string) (err error) { } fmt.Println("File -> ", path) - return ioutil.WriteFile(path, data, 0755) + return os.WriteFile(path, data, 0755) } func parseTmpl(tmpl string) ([]byte, error) { @@ -148,7 +147,7 @@ func determineModPath(projectPath string) (modPath string) { dir := filepath.Dir(projectPath) for { if _, err := os.Stat(filepath.Join(dir, "go.mod")); err == nil { - content, _ := ioutil.ReadFile(filepath.Join(dir, "go.mod")) + content, _ := os.ReadFile(filepath.Join(dir, "go.mod")) mod := find(`module\s+(?P[\S]+)`, string(content), "$name") name := strings.TrimPrefix(filepath.Dir(projectPath), dir) name = strings.TrimPrefix(name, string(os.PathSeparator)) From 3879adcd40c4a7c7abb04d6b0f995edef53d8bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=AD=E6=98=95?= <715557344@qq.com> Date: Wed, 8 Mar 2023 13:36:51 +0800 Subject: [PATCH 2/2] support 1.19 and 1.20 --- .github/workflows/github-actions.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 0ca08a8..1d13331 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -5,6 +5,8 @@ on: branches: [master, develop] pull_request: branches: "*" + schedule: + - cron: '0 2 * * *' jobs: build: @@ -15,6 +17,8 @@ jobs: matrix: go_version: - 1.18 + - 1.19 + - 1.20 os: - ubuntu-latest steps: