internal/pkg/docker/dockerfile/ignorefile.go (23 lines of code) (raw):

// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 package dockerfile import ( "fmt" "os" "path/filepath" "github.com/moby/patternmatcher/ignorefile" "github.com/spf13/afero" ) // ReadDockerignore reads the .dockerignore file in the context directory and // returns the list of paths to exclude. func ReadDockerignore(fs afero.Fs, contextDir string) ([]string, error) { f, err := fs.Open(filepath.Join(contextDir, ".dockerignore")) if err != nil { if os.IsNotExist(err) { return nil, nil } return nil, err } defer f.Close() patterns, err := ignorefile.ReadAll(f) if err != nil { return nil, fmt.Errorf("error reading .dockerignore at %q: %w", contextDir, err) } return patterns, nil }