Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why isn't there a linter that just checks for deprecated functions in stdlib?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because ... "do as we say, not as we do" (?) they didn't deprecated it in code; https://github.com/golang/go/blob/go1.16.15/src/io/ioutil/ioutil.go#L25-L26

Otherwise staticcheck would've picked it up (e.g. like for strings.Title() (which IMO shouldn't have been marked deprecated, just had its limitations better documented); see moby/moby#43201

- 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