From 5e87111a8b5e85ddf3b03b85c7b1f49e3665f05f Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 19 Apr 2023 15:24:25 +0100 Subject: [PATCH] Stop using deprecate `io/ioutil` package --- go/extractor/cli/go-autobuilder/go-autobuilder.go | 11 +++++------ go/extractor/cli/go-bootstrap/go-bootstrap.go | 7 +++---- go/extractor/cli/go-tokenizer/go-tokenizer.go | 3 +-- go/extractor/extractor.go | 3 +-- go/extractor/gomodextractor.go | 7 ++++--- go/extractor/srcarchive/projectlayout_test.go | 3 +-- go/extractor/trap/trapwriter.go | 3 +-- 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/go/extractor/cli/go-autobuilder/go-autobuilder.go b/go/extractor/cli/go-autobuilder/go-autobuilder.go index 1b8808e31c3..204dfeaa7ca 100644 --- a/go/extractor/cli/go-autobuilder/go-autobuilder.go +++ b/go/extractor/cli/go-autobuilder/go-autobuilder.go @@ -3,7 +3,6 @@ package main import ( "bufio" "fmt" - "io/ioutil" "log" "net/url" "os" @@ -278,7 +277,7 @@ func fixGoVendorIssues(modMode ModMode, depMode DependencyInstallerMode, goDirec if depMode == GoGetWithModules { if !goDirectiveFound { // if the go.mod does not contain a version line - modulesTxt, err := ioutil.ReadFile("vendor/modules.txt") + modulesTxt, err := os.ReadFile("vendor/modules.txt") if err != nil { log.Println("Failed to read vendor/modules.txt to check for mismatched Go version") } else if explicitRe := regexp.MustCompile("(?m)^## explicit$"); !explicitRe.Match(modulesTxt) { @@ -365,7 +364,7 @@ type moveGopathInfo struct { func moveToTemporaryGopath(srcdir string, importpath string) moveGopathInfo { // a temporary directory where everything is moved while the correct // directory structure is created. - scratch, err := ioutil.TempDir(srcdir, "scratch") + scratch, err := os.MkdirTemp(srcdir, "scratch") if err != nil { log.Fatalf("Failed to create temporary directory %s in directory %s: %s\n", scratch, srcdir, err.Error()) @@ -431,7 +430,7 @@ func createPathTransformerFile(newdir string) *os.File { // set up SEMMLE_PATH_TRANSFORMER to ensure paths in the source archive and the snapshot // match the original source location, not the location we moved it to - pt, err := ioutil.TempFile("", "path-transformer") + pt, err := os.CreateTemp("", "path-transformer") if err != nil { log.Fatalf("Unable to create path transformer file: %s.", err.Error()) } @@ -506,7 +505,7 @@ func buildWithCustomCommands(inst string) { ext = ".sh" header = "#! /bin/bash\nset -xe +u\n" } - script, err := ioutil.TempFile("", "go-build-command-*"+ext) + script, err := os.CreateTemp("", "go-build-command-*"+ext) if err != nil { log.Fatalf("Unable to create temporary script holding custom build commands: %s\n", err.Error()) } @@ -619,7 +618,7 @@ func installDependenciesAndBuild() { } if depMode == GoGetWithModules { versionRe := regexp.MustCompile(`(?m)^go[ \t\r]+([0-9]+\.[0-9]+)$`) - goMod, err := ioutil.ReadFile("go.mod") + goMod, err := os.ReadFile("go.mod") if err != nil { log.Println("Failed to read go.mod to check for missing Go version") } else { diff --git a/go/extractor/cli/go-bootstrap/go-bootstrap.go b/go/extractor/cli/go-bootstrap/go-bootstrap.go index 603da2b8027..09615384c82 100644 --- a/go/extractor/cli/go-bootstrap/go-bootstrap.go +++ b/go/extractor/cli/go-bootstrap/go-bootstrap.go @@ -2,7 +2,6 @@ package main import ( "fmt" - "io/ioutil" "log" "os" "regexp" @@ -22,7 +21,7 @@ func main() { buildSteps := os.Args[2] haveRepo := false - content, err := ioutil.ReadFile(vars) + content, err := os.ReadFile(vars) if err != nil { log.Fatal(err) } @@ -34,7 +33,7 @@ func main() { additionalVars += "SEMMLE_REPO_URL=${repository}\n" } content = append(content, []byte(additionalVars)...) - err = ioutil.WriteFile(vars, content, 0644) + err = os.WriteFile(vars, content, 0644) if err != nil { log.Fatal(err) } @@ -47,7 +46,7 @@ func main() { ${semmle_dist}/language-packs/go/tools/platform/${semmle_platform}/bin/go-autobuilder `, export)) - err = ioutil.WriteFile(buildSteps, content, 0644) + err = os.WriteFile(buildSteps, content, 0644) if err != nil { log.Fatal(err) } diff --git a/go/extractor/cli/go-tokenizer/go-tokenizer.go b/go/extractor/cli/go-tokenizer/go-tokenizer.go index ec4a4057173..ee9b41a0161 100644 --- a/go/extractor/cli/go-tokenizer/go-tokenizer.go +++ b/go/extractor/cli/go-tokenizer/go-tokenizer.go @@ -6,7 +6,6 @@ import ( "fmt" "go/scanner" "go/token" - "io/ioutil" "log" "os" "strings" @@ -20,7 +19,7 @@ func main() { defer csv.Flush() for _, fileName := range flag.Args() { - src, err := ioutil.ReadFile(fileName) + src, err := os.ReadFile(fileName) if err != nil { log.Fatalf("Unable to read file %s.", fileName) } diff --git a/go/extractor/extractor.go b/go/extractor/extractor.go index 72aad3d8188..9f21984061f 100644 --- a/go/extractor/extractor.go +++ b/go/extractor/extractor.go @@ -10,7 +10,6 @@ import ( "go/token" "go/types" "io" - "io/ioutil" "log" "os" "path/filepath" @@ -1807,7 +1806,7 @@ func extractNumLines(tw *trap.Writer, fileName string, ast *ast.File) { // count lines of code by tokenizing linesOfCode := 0 - src, err := ioutil.ReadFile(fileName) + src, err := os.ReadFile(fileName) if err != nil { log.Fatalf("Unable to read file %s.", fileName) } diff --git a/go/extractor/gomodextractor.go b/go/extractor/gomodextractor.go index 5a6a26281bc..54e556b4cde 100644 --- a/go/extractor/gomodextractor.go +++ b/go/extractor/gomodextractor.go @@ -2,13 +2,14 @@ package extractor import ( "fmt" - "golang.org/x/mod/modfile" - "io/ioutil" + "io" "log" "os" "path/filepath" "strings" + "golang.org/x/mod/modfile" + "github.com/github/codeql-go/extractor/dbscheme" "github.com/github/codeql-go/extractor/srcarchive" "github.com/github/codeql-go/extractor/trap" @@ -45,7 +46,7 @@ func (extraction *Extraction) extractGoMod(path string) error { if err != nil { return fmt.Errorf("failed to open go.mod file %s: %s", path, err.Error()) } - data, err := ioutil.ReadAll(file) + data, err := io.ReadAll(file) if err != nil { return fmt.Errorf("failed to read go.mod file %s: %s", path, err.Error()) } diff --git a/go/extractor/srcarchive/projectlayout_test.go b/go/extractor/srcarchive/projectlayout_test.go index fb9f180ff7e..8fb17607cae 100644 --- a/go/extractor/srcarchive/projectlayout_test.go +++ b/go/extractor/srcarchive/projectlayout_test.go @@ -1,13 +1,12 @@ package srcarchive import ( - "io/ioutil" "os" "testing" ) func mkProjectLayout(projectLayoutSource string, t *testing.T) (*ProjectLayout, error) { - pt, err := ioutil.TempFile("", "path-transformer") + pt, err := os.CreateTemp("", "path-transformer") if err != nil { t.Fatalf("Unable to create temporary file for project layout: %s", err.Error()) } diff --git a/go/extractor/trap/trapwriter.go b/go/extractor/trap/trapwriter.go index 0833d845830..50763719f50 100644 --- a/go/extractor/trap/trapwriter.go +++ b/go/extractor/trap/trapwriter.go @@ -7,7 +7,6 @@ import ( "fmt" "go/ast" "go/types" - "io/ioutil" "os" "path/filepath" "unicode/utf8" @@ -51,7 +50,7 @@ func NewWriter(path string, pkg *packages.Package) (*Writer, error) { if err != nil { return nil, err } - tmpFile, err := ioutil.TempFile(trapFileDir, filepath.Base(trapFilePath)) + tmpFile, err := os.CreateTemp(trapFileDir, filepath.Base(trapFilePath)) if err != nil { return nil, err }