Skip to content

Commit

Permalink
Merge pull request docker#995 from thaJeztah/replace_ioutil
Browse files Browse the repository at this point in the history
Remove uses of deprecated io/ioutil
  • Loading branch information
tonistiigi authored Mar 15, 2022
2 parents 6ffe22b + fd62216 commit 3adca1c
Show file tree
Hide file tree
Showing 14 changed files with 45 additions and 42 deletions.
10 changes: 10 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ linters:
- gofmt
- govet
- deadcode
- depguard
- goimports
- ineffassign
- misspell
Expand All @@ -23,6 +24,15 @@ linters:
- structcheck
disable-all: true

linters-settings:
depguard:
list-type: blacklist
include-go-root: true
packages:
# The io/ioutil package has been deprecated.
# https://go.dev/doc/go1.16#ioutil
- io/ioutil

issues:
exclude-rules:
- linters:
Expand Down
6 changes: 3 additions & 3 deletions bake/bake.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
"encoding/csv"
"fmt"
"io/ioutil"
"io"
"os"
"path"
"path/filepath"
Expand Down Expand Up @@ -65,12 +65,12 @@ func ReadLocalFiles(names []string) ([]File, error) {
var dt []byte
var err error
if n == "-" {
dt, err = ioutil.ReadAll(os.Stdin)
dt, err = io.ReadAll(os.Stdin)
if err != nil {
return nil, err
}
} else {
dt, err = ioutil.ReadFile(n)
dt, err = os.ReadFile(n)
if err != nil {
if isDefault && errors.Is(err, os.ErrNotExist) {
continue
Expand Down
13 changes: 6 additions & 7 deletions build/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"os"
"path/filepath"
"strconv"
Expand Down Expand Up @@ -771,7 +770,7 @@ func Build(ctx context.Context, drivers []DriverInfo, opt map[string]Options, do
dgst = v
}
if opt.ImageIDFile != "" {
return ioutil.WriteFile(opt.ImageIDFile, []byte(dgst), 0644)
return os.WriteFile(opt.ImageIDFile, []byte(dgst), 0644)
}
return nil
}
Expand Down Expand Up @@ -820,7 +819,7 @@ func Build(ctx context.Context, drivers []DriverInfo, opt map[string]Options, do
return err
}
if opt.ImageIDFile != "" {
if err := ioutil.WriteFile(opt.ImageIDFile, []byte(desc.Digest), 0644); err != nil {
if err := os.WriteFile(opt.ImageIDFile, []byte(desc.Digest), 0644); err != nil {
return err
}
}
Expand Down Expand Up @@ -1086,7 +1085,7 @@ func remoteDigestWithMoby(ctx context.Context, d driver.Driver, name string) (st
}

func createTempDockerfile(r io.Reader) (string, error) {
dir, err := ioutil.TempDir("", "dockerfile")
dir, err := os.MkdirTemp("", "dockerfile")
if err != nil {
return "", err
}
Expand Down Expand Up @@ -1145,7 +1144,7 @@ func LoadInputs(ctx context.Context, d driver.Driver, inp Inputs, pw progress.Wr
}
// stdin is dockerfile
dockerfileReader = buf
inp.ContextPath, _ = ioutil.TempDir("", "empty-dir")
inp.ContextPath, _ = os.MkdirTemp("", "empty-dir")
toRemove = append(toRemove, inp.ContextPath)
target.LocalDirs["context"] = inp.ContextPath
}
Expand Down Expand Up @@ -1464,13 +1463,13 @@ func tryNodeIdentifier(configDir string) (out string) {
if _, err := rand.Read(b); err != nil {
return out
}
if err := ioutil.WriteFile(sessionFile, []byte(hex.EncodeToString(b)), 0600); err != nil {
if err := os.WriteFile(sessionFile, []byte(hex.EncodeToString(b)), 0600); err != nil {
return out
}
}
}

dt, err := ioutil.ReadFile(sessionFile)
dt, err := os.ReadFile(sessionFile)
if err == nil {
return string(dt)
}
Expand Down
6 changes: 3 additions & 3 deletions build/url.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package build

import (
"context"
"io/ioutil"
"os"
"path/filepath"

"github.com/docker/buildx/driver"
Expand Down Expand Up @@ -53,11 +53,11 @@ func createTempDockerfileFromURL(ctx context.Context, d driver.Driver, url strin
if err != nil {
return nil, err
}
dir, err := ioutil.TempDir("", "buildx")
dir, err := os.MkdirTemp("", "buildx")
if err != nil {
return nil, err
}
if err := ioutil.WriteFile(filepath.Join(dir, "Dockerfile"), dt, 0600); err != nil {
if err := os.WriteFile(filepath.Join(dir, "Dockerfile"), dt, 0600); err != nil {
return nil, err
}
out = dir
Expand Down
4 changes: 2 additions & 2 deletions commands/imagetools/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package commands
import (
"encoding/json"
"fmt"
"io/ioutil"
"os"
"strings"

"github.com/docker/buildx/store"
Expand Down Expand Up @@ -38,7 +38,7 @@ func runCreate(dockerCli command.Cli, in createOptions, args []string) error {

fileArgs := make([]string, len(in.files))
for i, f := range in.files {
dt, err := ioutil.ReadFile(f)
dt, err := os.ReadFile(f)
if err != nil {
return err
}
Expand Down
3 changes: 1 addition & 2 deletions driver/docker-container/driver.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"bytes"
"context"
"io"
"io/ioutil"
"net"
"os"
"path"
Expand Down Expand Up @@ -90,7 +89,7 @@ func (d *Driver) create(ctx context.Context, l progress.SubLogger) error {
if err != nil {
return err
}
_, err = io.Copy(ioutil.Discard, rc)
_, err = io.Copy(io.Discard, rc)
return err
}); err != nil {
// image pulling failed, check if it exists in local image store.
Expand Down
11 changes: 5 additions & 6 deletions driver/kubernetes/context/endpoint_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package context

import (
"io/ioutil"
"os"
"testing"

Expand Down Expand Up @@ -42,15 +41,15 @@ var testStoreCfg = store.NewConfig(
)

func TestSaveLoadContexts(t *testing.T) {
storeDir, err := ioutil.TempDir("", "test-load-save-k8-context")
storeDir, err := os.MkdirTemp("", "test-load-save-k8-context")
require.NoError(t, err)
defer os.RemoveAll(storeDir)
store := store.New(storeDir, testStoreCfg)
require.NoError(t, save(store, testEndpoint("https://test", "test", nil, nil, nil, false), "raw-notls"))
require.NoError(t, save(store, testEndpoint("https://test", "test", nil, nil, nil, true), "raw-notls-skip"))
require.NoError(t, save(store, testEndpoint("https://test", "test", []byte("ca"), []byte("cert"), []byte("key"), true), "raw-tls"))

kcFile, err := ioutil.TempFile(os.TempDir(), "test-load-save-k8-context")
kcFile, err := os.CreateTemp(os.TempDir(), "test-load-save-k8-context")
require.NoError(t, err)
defer os.Remove(kcFile.Name())
defer kcFile.Close()
Expand Down Expand Up @@ -147,7 +146,7 @@ func save(s store.Writer, ep Endpoint, name string) error {
}

func TestSaveLoadGKEConfig(t *testing.T) {
storeDir, err := ioutil.TempDir("", t.Name())
storeDir, err := os.MkdirTemp("", t.Name())
require.NoError(t, err)
defer os.RemoveAll(storeDir)
store := store.New(storeDir, testStoreCfg)
Expand All @@ -172,7 +171,7 @@ func TestSaveLoadGKEConfig(t *testing.T) {
}

func TestSaveLoadEKSConfig(t *testing.T) {
storeDir, err := ioutil.TempDir("", t.Name())
storeDir, err := os.MkdirTemp("", t.Name())
require.NoError(t, err)
defer os.RemoveAll(storeDir)
store := store.New(storeDir, testStoreCfg)
Expand All @@ -197,7 +196,7 @@ func TestSaveLoadEKSConfig(t *testing.T) {
}

func TestSaveLoadK3SConfig(t *testing.T) {
storeDir, err := ioutil.TempDir("", t.Name())
storeDir, err := os.MkdirTemp("", t.Name())
require.NoError(t, err)
defer os.RemoveAll(storeDir)
store := store.New(storeDir, testStoreCfg)
Expand Down
4 changes: 2 additions & 2 deletions driver/kubernetes/context/save.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package context

import (
"io/ioutil"
"os"

"github.com/docker/cli/cli/context"
"k8s.io/client-go/tools/clientcmd"
Expand Down Expand Up @@ -63,7 +63,7 @@ func FromKubeConfig(kubeconfig, kubeContext, namespaceOverride string) (Endpoint

func readFileOrDefault(path string, defaultValue []byte) ([]byte, error) {
if path != "" {
return ioutil.ReadFile(path)
return os.ReadFile(path)
}
return defaultValue, nil
}
4 changes: 2 additions & 2 deletions driver/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package driver

import (
"context"
"io/ioutil"
"os"
"sort"
"strings"
"sync"
Expand Down Expand Up @@ -40,7 +40,7 @@ func (k KubeClientConfigInCluster) ClientConfig() (*rest.Config, error) {
}

func (k KubeClientConfigInCluster) Namespace() (string, bool, error) {
namespace, err := ioutil.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")
namespace, err := os.ReadFile("/var/run/secrets/kubernetes.io/serviceaccount/namespace")
if err != nil {
return "", false, err
}
Expand Down
9 changes: 4 additions & 5 deletions store/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package store

import (
"encoding/json"
"io/ioutil"
"os"
"path/filepath"
"regexp"
Expand Down Expand Up @@ -46,7 +45,7 @@ type Txn struct {

func (t *Txn) List() ([]*NodeGroup, error) {
pp := filepath.Join(t.s.root, "instances")
fis, err := ioutil.ReadDir(pp)
fis, err := os.ReadDir(pp)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -75,7 +74,7 @@ func (t *Txn) NodeGroupByName(name string) (*NodeGroup, error) {
if err != nil {
return nil, err
}
dt, err := ioutil.ReadFile(filepath.Join(t.s.root, "instances", name))
dt, err := os.ReadFile(filepath.Join(t.s.root, "instances", name))
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -144,7 +143,7 @@ func (t *Txn) reset(key string) error {
}

func (t *Txn) Current(key string) (*NodeGroup, error) {
dt, err := ioutil.ReadFile(filepath.Join(t.s.root, "current"))
dt, err := os.ReadFile(filepath.Join(t.s.root, "current"))
if err != nil {
if !os.IsNotExist(err) {
return nil, err
Expand Down Expand Up @@ -175,7 +174,7 @@ func (t *Txn) Current(key string) (*NodeGroup, error) {

h := toHash(key)

dt, err = ioutil.ReadFile(filepath.Join(t.s.root, "defaults", h))
dt, err = os.ReadFile(filepath.Join(t.s.root, "defaults", h))
if err != nil {
if os.IsNotExist(err) {
t.reset(key)
Expand Down
7 changes: 3 additions & 4 deletions store/store_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package store

import (
"io/ioutil"
"os"
"testing"
"time"
Expand All @@ -12,7 +11,7 @@ import (

func TestEmptyStartup(t *testing.T) {
t.Parallel()
tmpdir, err := ioutil.TempDir("", "buildx-store")
tmpdir, err := os.MkdirTemp("", "buildx-store")
require.NoError(t, err)
defer os.RemoveAll(tmpdir)

Expand All @@ -30,7 +29,7 @@ func TestEmptyStartup(t *testing.T) {

func TestNodeLocking(t *testing.T) {
t.Parallel()
tmpdir, err := ioutil.TempDir("", "buildx-store")
tmpdir, err := os.MkdirTemp("", "buildx-store")
require.NoError(t, err)
defer os.RemoveAll(tmpdir)

Expand Down Expand Up @@ -65,7 +64,7 @@ func TestNodeLocking(t *testing.T) {

func TestNodeManagement(t *testing.T) {
t.Parallel()
tmpdir, err := ioutil.TempDir("", "buildx-store")
tmpdir, err := os.MkdirTemp("", "buildx-store")
require.NoError(t, err)
defer os.RemoveAll(tmpdir)

Expand Down
4 changes: 2 additions & 2 deletions util/logutil/filter.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package logutil

import (
"io/ioutil"
"io"
"strings"

"github.com/sirupsen/logrus"
)

func NewFilter(levels []logrus.Level, filters ...string) logrus.Hook {
dl := logrus.New()
dl.SetOutput(ioutil.Discard)
dl.SetOutput(io.Discard)
return &logsFilter{
levels: levels,
filters: filters,
Expand Down
3 changes: 1 addition & 2 deletions util/progress/fromreader.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package progress

import (
"io"
"io/ioutil"
"time"

"github.com/moby/buildkit/client"
Expand All @@ -24,7 +23,7 @@ func FromReader(w Writer, name string, rc io.ReadCloser) {
Vertexes: []*client.Vertex{&vtx},
})

_, err := io.Copy(ioutil.Discard, rc)
_, err := io.Copy(io.Discard, rc)

tm2 := time.Now()
vtx2 := vtx
Expand Down
3 changes: 1 addition & 2 deletions util/progress/printer.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package progress
import (
"context"
"io"
"io/ioutil"
"os"
"sync"

Expand Down Expand Up @@ -88,7 +87,7 @@ func NewPrinter(ctx context.Context, w io.Writer, out console.File, mode string)
var c console.Console
switch mode {
case PrinterModeQuiet:
w = ioutil.Discard
w = io.Discard
case PrinterModeAuto, PrinterModeTty:
if cons, err := console.ConsoleFromFile(out); err == nil {
c = cons
Expand Down

0 comments on commit 3adca1c

Please sign in to comment.