Remove mitchellh dependencies (#3748)

* remove mitchellh dependencies

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* fix failing unit tests

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

---------

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
This commit is contained in:
Alex Goodman
2025-03-20 10:19:19 -04:00
committed by GitHub
parent 35d666b27d
commit e9b24a29d7
30 changed files with 132 additions and 119 deletions
+2 -2
View File
@@ -3,7 +3,7 @@ package artifact
import (
"fmt"
"github.com/mitchellh/hashstructure/v2"
"github.com/gohugoio/hashstructure"
)
// ID represents a unique value for each package added to a package catalog.
@@ -14,7 +14,7 @@ type Identifiable interface {
}
func IDByHash(obj interface{}) (ID, error) {
f, err := hashstructure.Hash(obj, hashstructure.FormatV2, &hashstructure.HashOptions{
f, err := hashstructure.Hash(obj, &hashstructure.HashOptions{
ZeroNil: true,
SlicesAsSets: true,
})
+2 -2
View File
@@ -3,7 +3,7 @@ package file
import (
"sort"
"github.com/mitchellh/hashstructure/v2"
"github.com/gohugoio/hashstructure"
"github.com/scylladb/go-set/strset"
)
@@ -79,7 +79,7 @@ func (s CoordinateSet) ToSlice() []Coordinates {
}
func (s CoordinateSet) Hash() (uint64, error) {
return hashstructure.Hash(s.ToSlice(), hashstructure.FormatV2, &hashstructure.HashOptions{
return hashstructure.Hash(s.ToSlice(), &hashstructure.HashOptions{
ZeroNil: true,
SlicesAsSets: true,
})
+2 -2
View File
@@ -3,7 +3,7 @@ package file
import (
"sort"
"github.com/mitchellh/hashstructure/v2"
"github.com/gohugoio/hashstructure"
"github.com/anchore/syft/internal/log"
)
@@ -91,7 +91,7 @@ func (s *LocationSet) Empty() bool {
func (s LocationSet) Hash() (uint64, error) {
// access paths and filesystem IDs are not considered when hashing a location set, only the real paths
return hashstructure.Hash(s.CoordinateSet().Paths(), hashstructure.FormatV2, &hashstructure.HashOptions{
return hashstructure.Hash(s.CoordinateSet().Paths(), &hashstructure.HashOptions{
ZeroNil: true,
SlicesAsSets: true,
})
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"text/template"
"github.com/Masterminds/sprig/v3"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/anchore/syft/syft/format/syftjson"
"github.com/anchore/syft/syft/sbom"
@@ -14,8 +14,8 @@ import (
"strings"
"time"
"github.com/anchore/go-homedir"
"github.com/bmatcuk/doublestar/v4"
"github.com/mitchellh/go-homedir"
"github.com/spf13/afero"
"github.com/anchore/syft/internal/log"
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"sort"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/scylladb/go-set/strset"
"github.com/anchore/syft/syft/file"
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"strings"
"time"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/vbatts/go-mtree"
"github.com/anchore/syft/internal"
+1 -1
View File
@@ -11,7 +11,7 @@ import (
"strings"
"github.com/dustin/go-humanize"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/syft/internal"
"github.com/anchore/syft/internal/log"
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"path/filepath"
"strings"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/anchore/syft/internal/log"
)
+14 -6
View File
@@ -4,7 +4,7 @@ import (
"path/filepath"
"testing"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/stretchr/testify/assert"
)
@@ -18,11 +18,8 @@ func Test_Config(t *testing.T) {
noProxy string
}
homedirCacheDisabled := homedir.DisableCache
homedir.DisableCache = true
t.Cleanup(func() {
homedir.DisableCache = homedirCacheDisabled
})
restoreCache(t)
homedir.SetCacheEnable(false)
allEnv := map[string]string{
"HOME": "/usr/home",
@@ -111,3 +108,14 @@ func Test_Config(t *testing.T) {
})
}
}
// restoreCache ensures cache settings are restored after test
func restoreCache(t testing.TB) {
t.Helper()
origEnabled := homedir.CacheEnabled()
t.Cleanup(func() {
homedir.SetCacheEnable(origEnabled)
homedir.Reset()
})
}
@@ -9,7 +9,7 @@ import (
"path/filepath"
"strings"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/anchore/syft/internal"
"github.com/anchore/syft/internal/log"
@@ -5,7 +5,7 @@ import (
"path/filepath"
"testing"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/stretchr/testify/require"
"github.com/anchore/syft/internal"
+1 -1
View File
@@ -9,7 +9,7 @@ import (
"sort"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/packageurl-go"
stereoFile "github.com/anchore/stereoscope/pkg/file"
@@ -6,7 +6,7 @@ import (
"io"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/syft/syft/pkg"
)
@@ -8,7 +8,7 @@ import (
"io"
"regexp"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/syft/internal"
"github.com/anchore/syft/syft/artifact"
@@ -9,7 +9,7 @@ import (
"unicode"
pep440 "github.com/aquasecurity/go-pep440-version"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/syft/internal"
"github.com/anchore/syft/internal/log"
@@ -6,7 +6,7 @@ import (
"path/filepath"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
intFile "github.com/anchore/syft/internal/file"
"github.com/anchore/syft/internal/log"
+1 -1
View File
@@ -8,7 +8,7 @@ import (
"regexp"
"strings"
"github.com/mitchellh/mapstructure"
"github.com/go-viper/mapstructure/v2"
"github.com/anchore/syft/internal"
"github.com/anchore/syft/syft/artifact"
+2 -2
View File
@@ -4,7 +4,7 @@ import (
"fmt"
"sort"
"github.com/mitchellh/hashstructure/v2"
"github.com/gohugoio/hashstructure"
"github.com/anchore/syft/internal/log"
"github.com/anchore/syft/syft/artifact"
@@ -77,7 +77,7 @@ func (s LicenseSet) ToSlice() []License {
func (s LicenseSet) Hash() (uint64, error) {
// access paths and filesystem IDs are not considered when hashing a license set, only the real paths
return hashstructure.Hash(s.ToSlice(), hashstructure.FormatV2, &hashstructure.HashOptions{
return hashstructure.Hash(s.ToSlice(), &hashstructure.HashOptions{
ZeroNil: true,
SlicesAsSets: true,
})
@@ -4,7 +4,7 @@ import (
"context"
"fmt"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/spf13/afero"
"github.com/anchore/syft/syft/source"
@@ -5,7 +5,7 @@ import (
"crypto"
"fmt"
"github.com/mitchellh/go-homedir"
"github.com/anchore/go-homedir"
"github.com/spf13/afero"
"github.com/anchore/syft/syft/source"