diff --git a/api/config/cpi/content.go b/api/config/cpi/content.go
index abcc1a78d1..8909450569 100644
--- a/api/config/cpi/content.go
+++ b/api/config/cpi/content.go
@@ -5,10 +5,10 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
)
@@ -76,5 +76,5 @@ func (k ContentSpec) Get() (interface{}, error) {
fs = osfs.New()
}
- return utils.ReadFile(k.Path, fs)
+ return optionutils.ReadFile(k.Path, fs)
}
diff --git a/api/config/internal/configtypes.go b/api/config/internal/configtypes.go
index a4a2cd55d1..e659a714b7 100644
--- a/api/config/internal/configtypes.go
+++ b/api/config/internal/configtypes.go
@@ -5,9 +5,10 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/modern-go/reflect2"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -36,7 +37,7 @@ type configTypeScheme struct {
}
func NewConfigTypeScheme(defaultDecoder ConfigDecoder, base ...ConfigTypeScheme) ConfigTypeScheme {
- scheme := runtime.MustNewDefaultTypeScheme[Config, ConfigType](&GenericConfig{}, true, defaultDecoder, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[Config, ConfigType](&GenericConfig{}, true, defaultDecoder, general.Optional(base...))
return &configTypeScheme{scheme}
}
@@ -54,7 +55,7 @@ type versionRegistry struct {
}
func NewStrictConfigTypeScheme(base ...ConfigTypeScheme) runtime.VersionedTypeRegistry[Config, ConfigType] {
- scheme := runtime.MustNewDefaultTypeScheme[Config, ConfigType](nil, false, nil, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[Config, ConfigType](nil, false, nil, general.Optional(base...))
return &versionRegistry{scheme}
}
@@ -80,7 +81,7 @@ func (t *configTypeScheme) Usage() string {
for strings.HasSuffix(u, "\n") {
u = u[:len(u)-1]
}
- s = fmt.Sprintf("%s\n- %s
\n%s", s, ct.GetKind(), utils.IndentLines(u, " "))
+ s = fmt.Sprintf("%s\n- %s
\n%s", s, ct.GetKind(), stringutils.IndentLines(u, " "))
}
return s + "\n"
}
diff --git a/api/config/internal/context.go b/api/config/internal/context.go
index 6f1e6c58b5..0f3349157b 100644
--- a/api/config/internal/context.go
+++ b/api/config/internal/context.go
@@ -5,16 +5,16 @@ import (
"reflect"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
// OCM_CONFIG_TYPE_SUFFIX is the standard suffix used for configuration
// types provided by this library.
-const OCM_CONFIG_TYPE_SUFFIX = ".config" + common.OCM_TYPE_GROUP_SUFFIX
+const OCM_CONFIG_TYPE_SUFFIX = ".config" + misc.OCM_TYPE_GROUP_SUFFIX
type ConfigSelector interface {
Select(Config) bool
@@ -157,7 +157,7 @@ type gcWrapper struct {
}
func newView(c *_context, ref ...bool) Context {
- if utils.Optional(ref...) {
+ if general.Optional(ref...) {
return datacontext.FinalizedContext[gcWrapper](c)
}
return c
diff --git a/api/credentials/builtin/github/ghcr.go b/api/credentials/builtin/github/ghcr.go
index 86d5b21752..541df50072 100644
--- a/api/credentials/builtin/github/ghcr.go
+++ b/api/credentials/builtin/github/ghcr.go
@@ -5,7 +5,7 @@ import (
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/tech/oci/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const HOST = "ghcr.io"
@@ -23,7 +23,7 @@ func init() {
user = "any"
}
if src, err := cpi.DefaultContext.GetCredentialsForConsumer(id); err != nil || src == nil {
- creds := cpi.NewCredentials(common.Properties{cpi.ATTR_IDENTITY_TOKEN: t, cpi.ATTR_USERNAME: user})
+ creds := cpi.NewCredentials(misc.Properties{cpi.ATTR_IDENTITY_TOKEN: t, cpi.ATTR_USERNAME: user})
cpi.DefaultContext.SetCredentialsForConsumer(id, creds)
}
}
diff --git a/api/credentials/builtin/github/github.go b/api/credentials/builtin/github/github.go
index 29b0112ae5..591581ab00 100644
--- a/api/credentials/builtin/github/github.go
+++ b/api/credentials/builtin/github/github.go
@@ -5,7 +5,7 @@ import (
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/tech/github/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func init() {
@@ -15,7 +15,7 @@ func init() {
id := identity.GetConsumerId(us)
if src, err := cpi.DefaultContext.GetCredentialsForConsumer(id); err != nil || src == nil {
- creds := cpi.NewCredentials(common.Properties{cpi.ATTR_TOKEN: t})
+ creds := cpi.NewCredentials(misc.Properties{cpi.ATTR_TOKEN: t})
cpi.DefaultContext.SetCredentialsForConsumer(id, creds)
}
}
diff --git a/api/credentials/config/config_test.go b/api/credentials/config/config_test.go
index 2e7752452c..14159e0dc8 100644
--- a/api/credentials/config/config_test.go
+++ b/api/credentials/config/config_test.go
@@ -15,14 +15,14 @@ import (
"ocm.software/ocm/api/credentials/extensions/repositories/aliases"
"ocm.software/ocm/api/credentials/extensions/repositories/directcreds"
"ocm.software/ocm/api/credentials/extensions/repositories/memory"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
var DefaultContext = credentials.New()
var _ = Describe("generic credentials", func() {
- props := common.Properties{
+ props := misc.Properties{
"user": "USER",
"password": "PASSWORD",
}
@@ -154,7 +154,7 @@ var _ = Describe("generic credentials", func() {
credentials.ID_TYPE: "mytype",
"host": "localhost",
}
- props := common.Properties{"token": "mytoken"}
+ props := misc.Properties{"token": "mytoken"}
creds := directcreds.NewCredentials(props)
Expect(cfg.AddConsumer(consumer, creds)).To(Succeed())
@@ -182,7 +182,7 @@ type: credentials.config.ocm.software
})
It("applies a config for consumers", func() {
- props := common.Properties{"token": "mytoken"}
+ props := misc.Properties{"token": "mytoken"}
consumer := credentials.ConsumerIdentity{
credentials.ID_TYPE: "mytype",
"host": "localhost",
diff --git a/api/credentials/cpi/interface.go b/api/credentials/cpi/interface.go
index f2870d8fed..edb5fd175b 100644
--- a/api/credentials/cpi/interface.go
+++ b/api/credentials/cpi/interface.go
@@ -5,7 +5,7 @@ package cpi
import (
"ocm.software/ocm/api/credentials/internal"
"ocm.software/ocm/api/datacontext"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -83,7 +83,7 @@ func RegisterStandardIdentity(typ string, matcher IdentityMatcher, desc string,
internal.StandardIdentityMatchers.Register(typ, matcher, desc, attrs)
}
-func NewCredentials(props common.Properties) Credentials {
+func NewCredentials(props misc.Properties) Credentials {
return internal.NewCredentials(props)
}
diff --git a/api/credentials/extensions/repositories/aliases/repo_test.go b/api/credentials/extensions/repositories/aliases/repo_test.go
index 36bbe8b2cf..d6aaebab93 100644
--- a/api/credentials/extensions/repositories/aliases/repo_test.go
+++ b/api/credentials/extensions/repositories/aliases/repo_test.go
@@ -9,13 +9,13 @@ import (
"ocm.software/ocm/api/credentials"
local "ocm.software/ocm/api/credentials/extensions/repositories/aliases"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var DefaultContext = credentials.New()
var _ = Describe("alias credentials", func() {
- props := common.Properties{
+ props := misc.Properties{
"user": "USER",
"password": "PASSWORD",
}
diff --git a/api/credentials/extensions/repositories/directcreds/credentials.go b/api/credentials/extensions/repositories/directcreds/credentials.go
index 460545563f..8570c1fc76 100644
--- a/api/credentials/extensions/repositories/directcreds/credentials.go
+++ b/api/credentials/extensions/repositories/directcreds/credentials.go
@@ -2,9 +2,9 @@ package directcreds
import (
"ocm.software/ocm/api/credentials/cpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func NewCredentials(props common.Properties) cpi.CredentialsSpec {
+func NewCredentials(props misc.Properties) cpi.CredentialsSpec {
return cpi.NewCredentialsSpec(Type, NewRepositorySpec(props))
}
diff --git a/api/credentials/extensions/repositories/directcreds/repo_test.go b/api/credentials/extensions/repositories/directcreds/repo_test.go
index be1e07ec9b..fc1fc36df5 100644
--- a/api/credentials/extensions/repositories/directcreds/repo_test.go
+++ b/api/credentials/extensions/repositories/directcreds/repo_test.go
@@ -9,13 +9,13 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/extensions/repositories/directcreds"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var DefaultContext = credentials.New()
var _ = Describe("direct credentials", func() {
- props := common.Properties{
+ props := misc.Properties{
"user": "USER",
"password": "PASSWORD",
}
diff --git a/api/credentials/extensions/repositories/directcreds/type.go b/api/credentials/extensions/repositories/directcreds/type.go
index 1c36963df7..d8a6b083d9 100644
--- a/api/credentials/extensions/repositories/directcreds/type.go
+++ b/api/credentials/extensions/repositories/directcreds/type.go
@@ -2,7 +2,7 @@ package directcreds
import (
"ocm.software/ocm/api/credentials/cpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -19,7 +19,7 @@ func init() {
// RepositorySpec describes a repository interface for single direct credentials.
type RepositorySpec struct {
runtime.ObjectVersionedType `json:",inline"`
- Properties common.Properties `json:"properties"`
+ Properties misc.Properties `json:"properties"`
}
var (
@@ -28,7 +28,7 @@ var (
)
// NewRepositorySpec creates a new RepositorySpec.
-func NewRepositorySpec(credentials common.Properties) *RepositorySpec {
+func NewRepositorySpec(credentials misc.Properties) *RepositorySpec {
return &RepositorySpec{
ObjectVersionedType: runtime.NewVersionedTypedObject(Type),
Properties: credentials,
diff --git a/api/credentials/extensions/repositories/dockerconfig/credentials.go b/api/credentials/extensions/repositories/dockerconfig/credentials.go
index 92d966f882..9a90271a79 100644
--- a/api/credentials/extensions/repositories/dockerconfig/credentials.go
+++ b/api/credentials/extensions/repositories/dockerconfig/credentials.go
@@ -7,7 +7,7 @@ import (
"github.com/mandelsoft/goutils/set"
"ocm.software/ocm/api/credentials/cpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Credentials struct {
@@ -27,10 +27,10 @@ func NewCredentials(cfg *configfile.ConfigFile, name string, store dockercred.St
}
}
-func (c *Credentials) get() common.Properties {
+func (c *Credentials) get() misc.Properties {
auth, err := c.config.GetAuthConfig(c.name)
if err != nil {
- return common.Properties{}
+ return misc.Properties{}
}
return newCredentials(auth).Properties()
}
@@ -62,6 +62,6 @@ func (c *Credentials) PropertyNames() set.Set[string] {
return c.get().Names()
}
-func (c *Credentials) Properties() common.Properties {
+func (c *Credentials) Properties() misc.Properties {
return c.get()
}
diff --git a/api/credentials/extensions/repositories/dockerconfig/repo_test.go b/api/credentials/extensions/repositories/dockerconfig/repo_test.go
index 0e6352d215..28d545012c 100644
--- a/api/credentials/extensions/repositories/dockerconfig/repo_test.go
+++ b/api/credentials/extensions/repositories/dockerconfig/repo_test.go
@@ -16,18 +16,18 @@ import (
local "ocm.software/ocm/api/credentials/extensions/repositories/dockerconfig"
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/tech/oci/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
var _ = Describe("docker config", func() {
- props := common.Properties{
+ props := misc.Properties{
"username": "mandelsoft",
"password": "password",
"serverAddress": "https://index.docker.io/v1/",
}
- props2 := common.Properties{
+ props2 := misc.Properties{
"username": "mandelsoft",
"password": "token",
"serverAddress": "https://ghcr.io",
diff --git a/api/credentials/extensions/repositories/dockerconfig/repository.go b/api/credentials/extensions/repositories/dockerconfig/repository.go
index e82fc5548c..b8fa203240 100644
--- a/api/credentials/extensions/repositories/dockerconfig/repository.go
+++ b/api/credentials/extensions/repositories/dockerconfig/repository.go
@@ -11,11 +11,11 @@ import (
"github.com/docker/cli/cli/config/configfile"
"github.com/docker/cli/cli/config/types"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
@@ -87,7 +87,7 @@ func (r *Repository) Read(force bool) error {
id runtimefinalizer.ObjectIdentity
)
if r.path != "" {
- path, err := utils.ResolvePath(r.path)
+ path, err := ioutils.ResolvePath(r.path)
if err != nil {
return errors.Wrapf(err, "cannot resolve path %q", r.path)
}
@@ -113,7 +113,7 @@ func (r *Repository) Read(force bool) error {
}
func newCredentials(auth types.AuthConfig) cpi.Credentials {
- props := common.Properties{
+ props := misc.Properties{
cpi.ATTR_USERNAME: norm(auth.Username),
cpi.ATTR_PASSWORD: norm(auth.Password),
}
diff --git a/api/credentials/extensions/repositories/dockerconfig/type.go b/api/credentials/extensions/repositories/dockerconfig/type.go
index 6ec2282a14..965a3fbb12 100644
--- a/api/credentials/extensions/repositories/dockerconfig/type.go
+++ b/api/credentials/extensions/repositories/dockerconfig/type.go
@@ -4,10 +4,11 @@ import (
"encoding/json"
"fmt"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
+ "github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/credentials/cpi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -38,7 +39,7 @@ func (s RepositorySpec) WithConsumerPropagation(propagate bool) *RepositorySpec
func NewRepositorySpec(path string, prop ...bool) *RepositorySpec {
var p *bool
if len(prop) > 0 {
- p = generics.Pointer(utils.Optional(prop...))
+ p = generics.PointerTo(general.Optional(prop...))
}
if path == "" {
path = "~/.docker/config.json"
@@ -53,7 +54,7 @@ func NewRepositorySpec(path string, prop ...bool) *RepositorySpec {
func NewRepositorySpecForConfig(data []byte, prop ...bool) *RepositorySpec {
var p *bool
if len(prop) > 0 {
- p = generics.Pointer(utils.Optional(prop...))
+ p = generics.PointerTo(general.Optional(prop...))
}
return &RepositorySpec{
ObjectVersionedType: runtime.NewVersionedTypedObject(Type),
@@ -72,5 +73,5 @@ func (a *RepositorySpec) Repository(ctx cpi.Context, creds cpi.Credentials) (cpi
if !ok {
return nil, fmt.Errorf("failed to assert type %T to Repositories", r)
}
- return repos.GetRepository(ctx, a.DockerConfigFile, a.DockerConfig, utils.AsBool(a.PropgateConsumerIdentity, true))
+ return repos.GetRepository(ctx, a.DockerConfigFile, a.DockerConfig, optionutils.AsBool(a.PropgateConsumerIdentity, true))
}
diff --git a/api/credentials/extensions/repositories/gardenerconfig/handler/container_registry/handler.go b/api/credentials/extensions/repositories/gardenerconfig/handler/container_registry/handler.go
index 08dbfc32b3..a67d954fbb 100644
--- a/api/credentials/extensions/repositories/gardenerconfig/handler/container_registry/handler.go
+++ b/api/credentials/extensions/repositories/gardenerconfig/handler/container_registry/handler.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/credentials/identity/hostpath"
"ocm.software/ocm/api/tech/oci/identity"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func init() {
@@ -90,7 +90,7 @@ func (h Handler) ParseConfig(configReader io.Reader) ([]gardenercfgcpi.Credentia
}
func newCredentialsFromContainerRegistryCredentials(auth *containerRegistryCredentials) cpi.Credentials {
- props := common.Properties{
+ props := misc.Properties{
cpi.ATTR_USERNAME: auth.Username,
cpi.ATTR_PASSWORD: auth.Password,
}
diff --git a/api/credentials/extensions/repositories/gardenerconfig/identity/identity.go b/api/credentials/extensions/repositories/gardenerconfig/identity/identity.go
index e5b18c4a04..033ba4a99c 100644
--- a/api/credentials/extensions/repositories/gardenerconfig/identity/identity.go
+++ b/api/credentials/extensions/repositories/gardenerconfig/identity/identity.go
@@ -8,10 +8,10 @@ import (
"ocm.software/ocm/api/credentials/identity/hostpath"
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/listformat"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-const CONSUMER_TYPE = "Buildcredentials" + common.OCM_TYPE_GROUP_SUFFIX
+const CONSUMER_TYPE = "Buildcredentials" + misc.OCM_TYPE_GROUP_SUFFIX
// used identity attributes.
const (
diff --git a/api/credentials/extensions/repositories/gardenerconfig/type.go b/api/credentials/extensions/repositories/gardenerconfig/type.go
index 2b0d959527..5ee983447b 100644
--- a/api/credentials/extensions/repositories/gardenerconfig/type.go
+++ b/api/credentials/extensions/repositories/gardenerconfig/type.go
@@ -3,13 +3,14 @@ package gardenerconfig
import (
"fmt"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
+ "github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/credentials/cpi"
gardenercfgcpi "ocm.software/ocm/api/credentials/extensions/repositories/gardenerconfig/cpi"
"ocm.software/ocm/api/credentials/extensions/repositories/gardenerconfig/identity"
"ocm.software/ocm/api/credentials/internal"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -41,7 +42,7 @@ func NewRepositorySpec(url string, configType gardenercfgcpi.ConfigType, cipher
URL: url,
ConfigType: configType,
Cipher: cipher,
- PropagateConsumerIdentity: generics.Pointer(utils.OptionalDefaultedBool(true, propagateConsumerIdentity...)),
+ PropagateConsumerIdentity: generics.PointerTo(general.OptionalDefaultedBool(true, propagateConsumerIdentity...)),
}
}
@@ -61,7 +62,7 @@ func (a *RepositorySpec) Repository(ctx cpi.Context, creds cpi.Credentials) (cpi
return nil, fmt.Errorf("unable to get key from context: %w", err)
}
- return repos.GetRepository(ctx, a.URL, a.ConfigType, a.Cipher, key, utils.AsBool(a.PropagateConsumerIdentity, true))
+ return repos.GetRepository(ctx, a.URL, a.ConfigType, a.Cipher, key, optionutils.AsBool(a.PropagateConsumerIdentity, true))
}
func (a *RepositorySpec) GetConsumerId(uctx ...internal.UsageContext) internal.ConsumerIdentity {
diff --git a/api/credentials/extensions/repositories/memory/config/config_test.go b/api/credentials/extensions/repositories/memory/config/config_test.go
index 2c0647a26c..0371ee27f1 100644
--- a/api/credentials/extensions/repositories/memory/config/config_test.go
+++ b/api/credentials/extensions/repositories/memory/config/config_test.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/config"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/extensions/repositories/memory"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("configure credentials", func() {
@@ -41,7 +41,7 @@ var _ = Describe("configure credentials", func() {
Expect(mem.ExistsCredentials("ref")).To(BeTrue())
creds, err := mem.LookupCredentials("ref")
Expect(err).To(Succeed())
- Expect(creds.Properties()).To(Equal(common.Properties{"username": "mandelsoft", "password": "specialsecret"}))
+ Expect(creds.Properties()).To(Equal(misc.Properties{"username": "mandelsoft", "password": "specialsecret"}))
})
It("reads config with direct", func() {
@@ -57,6 +57,6 @@ var _ = Describe("configure credentials", func() {
Expect(mem.ExistsCredentials("direct")).To(BeTrue())
creds, err := mem.LookupCredentials("direct")
Expect(err).To(Succeed())
- Expect(creds.Properties()).To(Equal(common.Properties{"username": "mandelsoft2", "password": "specialsecret2"}))
+ Expect(creds.Properties()).To(Equal(misc.Properties{"username": "mandelsoft2", "password": "specialsecret2"}))
})
})
diff --git a/api/credentials/extensions/repositories/memory/config/type.go b/api/credentials/extensions/repositories/memory/config/type.go
index 3f9ec2cae0..5f36e6b7c1 100644
--- a/api/credentials/extensions/repositories/memory/config/type.go
+++ b/api/credentials/extensions/repositories/memory/config/type.go
@@ -8,7 +8,7 @@ import (
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/credentials/extensions/repositories/memory"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -34,7 +34,7 @@ type CredentialsSpec struct {
// Reference refers to credentials store in some other repo
Reference *cpi.GenericCredentialsSpec `json:"reference,omitempty"`
// Credentials are direct credentials (one of Reference or Credentials must be set)
- Credentials common.Properties `json:"credentials"`
+ Credentials misc.Properties `json:"credentials"`
}
// New creates a new memory ConfigSpec.
@@ -50,7 +50,7 @@ func (a *Config) GetType() string {
return ConfigType
}
-func (a *Config) AddCredentials(name string, props common.Properties) error {
+func (a *Config) AddCredentials(name string, props misc.Properties) error {
a.Credentials = append(a.Credentials, CredentialsSpec{CredentialsName: name, Credentials: props})
return nil
}
diff --git a/api/credentials/extensions/repositories/memory/repo_test.go b/api/credentials/extensions/repositories/memory/repo_test.go
index c1a244f487..97d709fbc3 100644
--- a/api/credentials/extensions/repositories/memory/repo_test.go
+++ b/api/credentials/extensions/repositories/memory/repo_test.go
@@ -9,18 +9,18 @@ import (
"ocm.software/ocm/api/credentials"
local "ocm.software/ocm/api/credentials/extensions/repositories/memory"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var DefaultContext = credentials.New()
var _ = Describe("direct credentials", func() {
- props := common.Properties{
+ props := misc.Properties{
"user": "USER",
"password": "PASSWORD",
}
- props2 := common.Properties{
+ props2 := misc.Properties{
"user": "OTHER",
"password": "OTHERPASSWORD",
}
diff --git a/api/credentials/extensions/repositories/npm/config.go b/api/credentials/extensions/repositories/npm/config.go
index eb22e51f8a..6a65daea9a 100644
--- a/api/credentials/extensions/repositories/npm/config.go
+++ b/api/credentials/extensions/repositories/npm/config.go
@@ -6,15 +6,14 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
-
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/ioutils"
)
type npmConfig map[string]string
// readNpmConfigFile reads "~/.npmrc" file line by line, parse it and return the result as a npmConfig.
func readNpmConfigFile(path string) (npmConfig, string, error) {
- path, err := utils.ResolvePath(path)
+ path, err := ioutils.ResolvePath(path)
if err != nil {
return nil, path, errors.Wrapf(err, "cannot resolve path %q", path)
}
diff --git a/api/credentials/extensions/repositories/npm/config_test.go b/api/credentials/extensions/repositories/npm/config_test.go
index 1d64719ad6..7c34ca2524 100644
--- a/api/credentials/extensions/repositories/npm/config_test.go
+++ b/api/credentials/extensions/repositories/npm/config_test.go
@@ -8,15 +8,15 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/extensions/repositories/npm"
"ocm.software/ocm/api/tech/npm/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("Config deserialization Test Environment", func() {
It("read .npmrc", func() {
ctx := credentials.New()
repo := Must(npm.NewRepository(ctx, "testdata/.npmrc"))
- Expect(Must(repo.LookupCredentials("registry.npmjs.org")).Properties()).To(Equal(common.Properties{identity.ATTR_TOKEN: "npm_TOKEN"}))
- Expect(Must(repo.LookupCredentials("npm.registry.acme.com/api/npm")).Properties()).To(Equal(common.Properties{identity.ATTR_TOKEN: "bearer_TOKEN"}))
+ Expect(Must(repo.LookupCredentials("registry.npmjs.org")).Properties()).To(Equal(misc.Properties{identity.ATTR_TOKEN: "npm_TOKEN"}))
+ Expect(Must(repo.LookupCredentials("npm.registry.acme.com/api/npm")).Properties()).To(Equal(misc.Properties{identity.ATTR_TOKEN: "bearer_TOKEN"}))
})
It("propagates credentials", func() {
diff --git a/api/credentials/extensions/repositories/npm/repository.go b/api/credentials/extensions/repositories/npm/repository.go
index 7ef2063f62..fbcb93c37e 100644
--- a/api/credentials/extensions/repositories/npm/repository.go
+++ b/api/credentials/extensions/repositories/npm/repository.go
@@ -4,11 +4,11 @@ import (
"fmt"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/credentials/cpi"
npmCredentials "ocm.software/ocm/api/tech/npm/identity"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const PROVIDER = "ocm.software/credentialprovider/" + Type
@@ -21,7 +21,7 @@ type Repository struct {
}
func NewRepository(ctx cpi.Context, path string, prop ...bool) (*Repository, error) {
- return newRepository(ctx, path, utils.OptionalDefaultedBool(true, prop...))
+ return newRepository(ctx, path, general.OptionalDefaultedBool(true, prop...))
}
func newRepository(ctx cpi.Context, path string, prop bool) (*Repository, error) {
@@ -81,7 +81,7 @@ func (r *Repository) Read(force bool) error {
}
func newCredentials(token string) cpi.Credentials {
- props := common.Properties{
+ props := misc.Properties{
npmCredentials.ATTR_TOKEN: token,
}
return cpi.NewCredentials(props)
diff --git a/api/credentials/extensions/repositories/npm/repository_test.go b/api/credentials/extensions/repositories/npm/repository_test.go
index e141e1e428..e7ff8414f6 100644
--- a/api/credentials/extensions/repositories/npm/repository_test.go
+++ b/api/credentials/extensions/repositories/npm/repository_test.go
@@ -12,16 +12,16 @@ import (
"ocm.software/ocm/api/credentials/cpi"
local "ocm.software/ocm/api/credentials/extensions/repositories/npm"
npmCredentials "ocm.software/ocm/api/tech/npm/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
var _ = Describe("NPM config - .npmrc", func() {
- props := common.Properties{
+ props := misc.Properties{
npmCredentials.ATTR_TOKEN: "npm_TOKEN",
}
- props2 := common.Properties{
+ props2 := misc.Properties{
npmCredentials.ATTR_TOKEN: "bearer_TOKEN",
}
diff --git a/api/credentials/extensions/repositories/npm/type.go b/api/credentials/extensions/repositories/npm/type.go
index 91fca87d2d..4816739d80 100644
--- a/api/credentials/extensions/repositories/npm/type.go
+++ b/api/credentials/extensions/repositories/npm/type.go
@@ -3,10 +3,11 @@ package npm
import (
"fmt"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
+ "github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/credentials/cpi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -38,7 +39,7 @@ func NewRepositorySpec(path string, propagate ...bool) *RepositorySpec {
}
}
if len(propagate) > 0 {
- p = generics.Pointer(utils.OptionalDefaultedBool(true, propagate...))
+ p = generics.PointerTo(general.OptionalDefaultedBool(true, propagate...))
}
return &RepositorySpec{
@@ -58,5 +59,5 @@ func (rs *RepositorySpec) Repository(ctx cpi.Context, _ cpi.Credentials) (cpi.Re
if !ok {
return nil, fmt.Errorf("failed to assert type %T to Cache", r)
}
- return cache.GetRepository(ctx, rs.NpmrcFile, utils.AsBool(rs.PropgateConsumerIdentity, true))
+ return cache.GetRepository(ctx, rs.NpmrcFile, optionutils.AsBool(rs.PropgateConsumerIdentity, true))
}
diff --git a/api/credentials/extensions/repositories/vault/auth.go b/api/credentials/extensions/repositories/vault/auth.go
index 1f61fd162a..8abad67dcb 100644
--- a/api/credentials/extensions/repositories/vault/auth.go
+++ b/api/credentials/extensions/repositories/vault/auth.go
@@ -7,10 +7,10 @@ import (
"github.com/hashicorp/vault-client-go"
"github.com/hashicorp/vault-client-go/schema"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/credentials/extensions/repositories/vault/identity"
- "ocm.software/ocm/api/utils"
)
type AuthMethod interface {
@@ -50,7 +50,7 @@ func (r *AuthMethods) Names() []string {
r.lock.Lock()
defer r.lock.Unlock()
- return utils.StringMapKeys(r.methods)
+ return maputils.OrderedKeys(r.methods)
}
func RegisterAuthMethod(m AuthMethod) {
diff --git a/api/credentials/extensions/repositories/vault/options.go b/api/credentials/extensions/repositories/vault/options.go
index adb6dfb956..a5e28c5335 100644
--- a/api/credentials/extensions/repositories/vault/options.go
+++ b/api/credentials/extensions/repositories/vault/options.go
@@ -4,8 +4,6 @@ import (
"slices"
"github.com/mandelsoft/goutils/optionutils"
-
- "ocm.software/ocm/api/utils"
)
type Option = optionutils.Option[*Options]
@@ -93,5 +91,5 @@ func (o pr) ApplyTo(opts *Options) {
}
func WithPropagation(b ...bool) Option {
- return pr(utils.OptionalDefaultedBool(true, b...))
+ return pr(optionutils.BoolOption(b...))
}
diff --git a/api/credentials/extensions/repositories/vault/provider.go b/api/credentials/extensions/repositories/vault/provider.go
index 4e5b022550..cdde714767 100644
--- a/api/credentials/extensions/repositories/vault/provider.go
+++ b/api/credentials/extensions/repositories/vault/provider.go
@@ -16,7 +16,7 @@ import (
"ocm.software/ocm/api/credentials/cpi"
"ocm.software/ocm/api/credentials/extensions/repositories/vault/identity"
"ocm.software/ocm/api/credentials/internal"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const PROVIDER = "ocm.software/credentialprovider/" + Type
@@ -199,7 +199,7 @@ func (p *ConsumerProvider) error(err error, msg string, secret string, keypairs
)
}
-func (p *ConsumerProvider) read(ctx context.Context, client *vault.Client, secret string) (common.Properties, common.Properties, []string, error) {
+func (p *ConsumerProvider) read(ctx context.Context, client *vault.Client, secret string) (misc.Properties, misc.Properties, []string, error) {
// read the secret
secret = path.Join(p.repository.spec.Path, secret)
@@ -209,14 +209,14 @@ func (p *ConsumerProvider) read(ctx context.Context, client *vault.Client, secre
return nil, nil, nil, err
}
- var id common.Properties
+ var id misc.Properties
var list []string
props := getProps(s.Data.Data)
if meta, ok := s.Data.Metadata["custom_metadata"].(map[string]interface{}); ok {
sub := false
if cid := meta[CUSTOM_CONSUMERID]; cid != nil {
- id = common.Properties{}
+ id = misc.Properties{}
if err := json.Unmarshal([]byte(cid.(string)), &id); err != nil {
id = nil
}
@@ -240,8 +240,8 @@ func (p *ConsumerProvider) read(ctx context.Context, client *vault.Client, secre
return props, id, list, nil
}
-func getProps(data map[string]interface{}) common.Properties {
- props := common.Properties{}
+func getProps(data map[string]interface{}) misc.Properties {
+ props := misc.Properties{}
for k, v := range data {
if s, ok := v.(string); ok {
props[k] = s
diff --git a/api/credentials/extensions/repositories/vault/repo_int_test.go b/api/credentials/extensions/repositories/vault/repo_int_test.go
index a52e228a18..9465e23253 100644
--- a/api/credentials/extensions/repositories/vault/repo_int_test.go
+++ b/api/credentials/extensions/repositories/vault/repo_int_test.go
@@ -20,7 +20,7 @@ import (
me "ocm.software/ocm/api/credentials/extensions/repositories/vault"
"ocm.software/ocm/api/credentials/extensions/repositories/vault/identity"
"ocm.software/ocm/api/credentials/identity/hostpath"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -96,7 +96,7 @@ var _ = Describe("vault config", func() {
consumerId := Must(identity.GetConsumerId(vaultClient.Configuration().Address,
"", "secret", VAULT_PATH_REPO1))
- creds := credentials.NewCredentials(common.Properties{
+ creds := credentials.NewCredentials(misc.Properties{
identity.ATTR_AUTHMETH: identity.AUTH_TOKEN,
identity.ATTR_TOKEN: VAULT_ROOT_TOKEN,
})
@@ -481,7 +481,7 @@ func SetUpVaultAccess(ctx context.Context, credctx credentials.Context, client *
secretid := secret.Data["secret_id"].(string)
consumerId := Must(identity.GetConsumerId(client.Configuration().Address, "", "secret", VAULT_PATH_REPO1))
- creds := credentials.NewCredentials(common.Properties{
+ creds := credentials.NewCredentials(misc.Properties{
identity.ATTR_AUTHMETH: identity.AUTH_APPROLE,
identity.ATTR_ROLEID: roleid,
identity.ATTR_SECRETID: secretid,
diff --git a/api/credentials/extensions/repositories/vault/repo_test.go b/api/credentials/extensions/repositories/vault/repo_test.go
index c1b5b07f3b..2506c1f24f 100644
--- a/api/credentials/extensions/repositories/vault/repo_test.go
+++ b/api/credentials/extensions/repositories/vault/repo_test.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/credentials"
me "ocm.software/ocm/api/credentials/extensions/repositories/vault"
"ocm.software/ocm/api/credentials/extensions/repositories/vault/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -57,7 +57,7 @@ var _ = Describe("", func() {
// for a corresponding consumer exist. Thus, creating such credentials is required to test the method even
// though they are not used
consumerId := Must(identity.GetConsumerId(VAULT_HTTP_URL, VAULT_NAMESPACE, VAULT_MOUNT_PATH, VAULT_PATH_REPO1))
- creds := credentials.NewCredentials(common.Properties{
+ creds := credentials.NewCredentials(misc.Properties{
identity.ATTR_AUTHMETH: identity.AUTH_TOKEN,
identity.ATTR_TOKEN: "token",
})
diff --git a/api/credentials/interface.go b/api/credentials/interface.go
index b0aa3f2044..363b2060fe 100644
--- a/api/credentials/interface.go
+++ b/api/credentials/interface.go
@@ -5,7 +5,7 @@ import (
"ocm.software/ocm/api/credentials/extensions/repositories/directcreds"
"ocm.software/ocm/api/credentials/internal"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -77,7 +77,7 @@ func NewGenericRepositorySpec(data []byte, unmarshaler runtime.Unmarshaler) (Rep
return internal.NewGenericRepositorySpec(data, unmarshaler)
}
-func NewCredentials(props common.Properties) Credentials {
+func NewCredentials(props misc.Properties) Credentials {
return internal.NewCredentials(props)
}
diff --git a/api/credentials/internal/context.go b/api/credentials/internal/context.go
index 222b8d6c44..aa967d9f73 100644
--- a/api/credentials/internal/context.go
+++ b/api/credentials/internal/context.go
@@ -7,13 +7,13 @@ import (
"reflect"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
"github.com/mandelsoft/goutils/maputils"
"ocm.software/ocm/api/config"
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
@@ -148,7 +148,7 @@ type gcWrapper struct {
}
func newView(c *_context, ref ...bool) Context {
- if utils.Optional(ref...) {
+ if general.Optional(ref...) {
return datacontext.FinalizedContext[gcWrapper](c)
}
return c
diff --git a/api/credentials/internal/cred_test.go b/api/credentials/internal/cred_test.go
index bf1233986c..f8de45df93 100644
--- a/api/credentials/internal/cred_test.go
+++ b/api/credentials/internal/cred_test.go
@@ -10,13 +10,13 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/extensions/repositories/memory"
"ocm.software/ocm/api/credentials/internal"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var DefaultContext = credentials.New()
var _ = Describe("generic credentials", func() {
- props := common.Properties{
+ props := misc.Properties{
"user": "USER",
"password": "PASSWORD",
}
diff --git a/api/credentials/internal/repository.go b/api/credentials/internal/repository.go
index 337d2f4bc8..3f0a306d2b 100644
--- a/api/credentials/internal/repository.go
+++ b/api/credentials/internal/repository.go
@@ -3,7 +3,7 @@ package internal
import (
"github.com/mandelsoft/goutils/set"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Repository interface {
@@ -17,16 +17,16 @@ type Credentials interface {
ExistsProperty(name string) bool
GetProperty(name string) string
PropertyNames() set.Set[string]
- Properties() common.Properties
+ Properties() misc.Properties
}
-type DirectCredentials common.Properties
+type DirectCredentials misc.Properties
var _ Credentials = (*DirectCredentials)(nil)
-func NewCredentials(props common.Properties) DirectCredentials {
+func NewCredentials(props misc.Properties) DirectCredentials {
if props == nil {
- props = common.Properties{}
+ props = misc.Properties{}
} else {
props = props.Copy()
}
@@ -43,11 +43,11 @@ func (c DirectCredentials) GetProperty(name string) string {
}
func (c DirectCredentials) PropertyNames() set.Set[string] {
- return common.Properties(c).Names()
+ return misc.Properties(c).Names()
}
-func (c DirectCredentials) Properties() common.Properties {
- return common.Properties(c).Copy()
+func (c DirectCredentials) Properties() misc.Properties {
+ return misc.Properties(c).Copy()
}
func (c DirectCredentials) Credentials(Context, ...CredentialsSource) (Credentials, error) {
@@ -55,9 +55,9 @@ func (c DirectCredentials) Credentials(Context, ...CredentialsSource) (Credentia
}
func (c DirectCredentials) Copy() DirectCredentials {
- return DirectCredentials(common.Properties(c).Copy())
+ return DirectCredentials(misc.Properties(c).Copy())
}
func (c DirectCredentials) String() string {
- return common.Properties(c).String()
+ return misc.Properties(c).String()
}
diff --git a/api/credentials/internal/repotypes.go b/api/credentials/internal/repotypes.go
index dafe999f32..59c9df89fa 100644
--- a/api/credentials/internal/repotypes.go
+++ b/api/credentials/internal/repotypes.go
@@ -4,10 +4,10 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
"github.com/modern-go/reflect2"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/runtime/descriptivetype"
)
@@ -38,12 +38,12 @@ type repositoryTypeScheme struct {
}
func NewRepositoryTypeScheme(defaultDecoder RepositorySpecDecoder, base ...RepositoryTypeScheme) RepositoryTypeScheme {
- scheme := descriptivetype.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType, RepositoryTypeScheme]("Credential provider", nil, &UnknownRepositorySpec{}, true, defaultDecoder, utils.Optional(base...))
+ scheme := descriptivetype.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType, RepositoryTypeScheme]("Credential provider", nil, &UnknownRepositorySpec{}, true, defaultDecoder, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
func NewStrictRepositoryTypeScheme(base ...RepositoryTypeScheme) runtime.VersionedTypeRegistry[RepositorySpec, RepositoryType] {
- scheme := descriptivetype.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType, RepositoryTypeScheme]("Credential provider", nil, nil, false, nil, utils.Optional(base...))
+ scheme := descriptivetype.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType, RepositoryTypeScheme]("Credential provider", nil, nil, false, nil, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
diff --git a/api/datacontext/action/api/action_test.go b/api/datacontext/action/api/action_test.go
index a3ba0d119b..c2cb77d674 100644
--- a/api/datacontext/action/api/action_test.go
+++ b/api/datacontext/action/api/action_test.go
@@ -4,7 +4,7 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/identity/hostpath"
"ocm.software/ocm/api/datacontext/action/api"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -47,8 +47,8 @@ func (a *ActionSpec) Selector() api.Selector {
return api.Selector(a.Field)
}
-func (a *ActionSpec) GetConsumerAttributes() common.Properties {
- return common.Properties(credentials.NewConsumerIdentity(CONSUMER_TYPE,
+func (a *ActionSpec) GetConsumerAttributes() misc.Properties {
+ return misc.Properties(credentials.NewConsumerIdentity(CONSUMER_TYPE,
ID_HOSTNAME, a.Field,
))
}
diff --git a/api/datacontext/action/api/interface.go b/api/datacontext/action/api/interface.go
index 545ae79853..0aaf2d0f49 100644
--- a/api/datacontext/action/api/interface.go
+++ b/api/datacontext/action/api/interface.go
@@ -1,7 +1,7 @@
package api
import (
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -27,7 +27,7 @@ type ActionSpec interface {
runtime.VersionedTypedObject
SetVersion(string)
Selector() Selector
- GetConsumerAttributes() common.Properties
+ GetConsumerAttributes() misc.Properties
}
type ActionSpecType runtime.VersionedTypedObjectType[ActionSpec]
diff --git a/api/datacontext/action/api/registry.go b/api/datacontext/action/api/registry.go
index 0657e27014..c4738e0008 100644
--- a/api/datacontext/action/api/registry.go
+++ b/api/datacontext/action/api/registry.go
@@ -8,7 +8,6 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/maputils"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -68,7 +67,7 @@ func (a *action) GetVersion(v string) ActionType {
}
func (a *action) SupportedVersions() []string {
- return utils.StringMapKeys(a.types)
+ return maputils.OrderedKeys(a.types)
}
type actionRegistry struct {
diff --git a/api/datacontext/action/api/registry_test.go b/api/datacontext/action/api/registry_test.go
index e9c694670d..ebee5c0c6a 100644
--- a/api/datacontext/action/api/registry_test.go
+++ b/api/datacontext/action/api/registry_test.go
@@ -8,16 +8,16 @@ import (
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/datacontext/action/api"
"ocm.software/ocm/api/datacontext/action/handlers"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
type Handler struct {
spec api.ActionSpec
- creds common.Properties
+ creds misc.Properties
}
-func (h *Handler) Handle(spec api.ActionSpec, creds common.Properties) (api.ActionResult, error) {
+func (h *Handler) Handle(spec api.ActionSpec, creds misc.Properties) (api.ActionResult, error) {
h.spec = spec
h.creds = creds
r := NewActionResult(spec.(*ActionSpec).Field)
@@ -88,7 +88,7 @@ var _ = Describe("action registry", func() {
It("", func() {
spec := NewActionSpec("acme.com")
- creds := common.Properties{"alice": "bob"}
+ creds := misc.Properties{"alice": "bob"}
r := Must(ctx.GetActions().Execute(spec, creds))
Expect(handler.spec).To(Equal(spec))
Expect(handler.creds).To(Equal(creds))
diff --git a/api/datacontext/action/api/utils.go b/api/datacontext/action/api/utils.go
index a6602c45f9..605b573ac6 100644
--- a/api/datacontext/action/api/utils.go
+++ b/api/datacontext/action/api/utils.go
@@ -1,8 +1,9 @@
package api
import (
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "github.com/mandelsoft/goutils/stringutils"
+
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -40,15 +41,15 @@ func (a *actionType) ResultType() ActionResultType {
}
func Usage(reg ActionTypeRegistry) string {
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
for _, n := range reg.GetActionNames() {
a := reg.GetAction(n)
p.Printf("- Name: %s\n", n)
if a.Description() != "" {
- p.Printf("%s\n", utils.IndentLines(a.Description(), " "))
+ p.Printf("%s\n", stringutils.IndentLines(a.Description(), " "))
}
if a.Usage() != "" {
- p.Printf("\n%s\n", utils.IndentLines(a.Usage(), " "))
+ p.Printf("\n%s\n", stringutils.IndentLines(a.Usage(), " "))
}
p := p.AddGap(" ")
diff --git a/api/datacontext/action/handlers/registry.go b/api/datacontext/action/handlers/registry.go
index 5a22fc7fbc..42c24b25a7 100644
--- a/api/datacontext/action/handlers/registry.go
+++ b/api/datacontext/action/handlers/registry.go
@@ -12,8 +12,7 @@ import (
"github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/datacontext/action/api"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/registrations"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -31,7 +30,7 @@ type ActionsProvider interface {
}
type ActionHandler interface {
- Handle(api.ActionSpec, common.Properties) (api.ActionResult, error)
+ Handle(api.ActionSpec, misc.Properties) (api.ActionResult, error)
}
type ActionHandlerMatch struct {
@@ -57,7 +56,7 @@ type Registry interface {
GetActionTypes() api.ActionTypeRegistry
Register(h ActionHandler, opts ...Option) error
- Execute(spec api.ActionSpec, creds common.Properties) (api.ActionResult, error)
+ Execute(spec api.ActionSpec, creds misc.Properties) (api.ActionResult, error)
Get(spec api.ActionSpec, possible ...string) []ActionHandlerMatch
AddTo(t Registry)
}
@@ -86,7 +85,7 @@ type registry struct {
var _ Registry = (*registry)(nil)
func NewRegistry(types api.ActionTypeRegistry, base ...Registry) Registry {
- b := utils.Optional(base...)
+ b := general.Optional(base...)
if types == nil {
if b == nil {
types = api.DefaultRegistry()
@@ -156,7 +155,7 @@ func (r *registry) Register(h ActionHandler, olist ...Option) error {
return nil
}
-func (r *registry) Execute(spec api.ActionSpec, creds common.Properties) (api.ActionResult, error) {
+func (r *registry) Execute(spec api.ActionSpec, creds misc.Properties) (api.ActionResult, error) {
result := r.Get(spec)
sort.SliceStable(result, func(a, b int) bool {
return result[a].Priority < result[b].Priority
diff --git a/api/datacontext/attrs.go b/api/datacontext/attrs.go
index 80cc13e496..78867e70e1 100644
--- a/api/datacontext/attrs.go
+++ b/api/datacontext/attrs.go
@@ -6,7 +6,7 @@ import (
"github.com/mandelsoft/goutils/errors"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -33,7 +33,7 @@ type AttributeScheme interface {
GetType(attr string) (AttributeType, error)
AddKnownTypes(scheme AttributeScheme)
- Shortcuts() common.Properties
+ Shortcuts() misc.Properties
KnownTypes() KnownTypes
KnownTypeNames() []string
}
@@ -65,13 +65,13 @@ func (t KnownTypes) TypeNames() []string {
type defaultScheme struct {
lock sync.RWMutex
types KnownTypes
- short common.Properties
+ short misc.Properties
}
func NewDefaultAttributeScheme() AttributeScheme {
return &defaultScheme{
types: KnownTypes{},
- short: common.Properties{},
+ short: misc.Properties{},
}
}
@@ -92,7 +92,7 @@ func (d *defaultScheme) KnownTypes() KnownTypes {
return d.types.Copy()
}
-func (d *defaultScheme) Shortcuts() common.Properties {
+func (d *defaultScheme) Shortcuts() misc.Properties {
d.lock.RLock()
defer d.lock.RUnlock()
return d.short.Copy()
diff --git a/api/datacontext/attrs/rootcertsattr/config.go b/api/datacontext/attrs/rootcertsattr/config.go
index 4a2fd9b3b6..f284703dc3 100644
--- a/api/datacontext/attrs/rootcertsattr/config.go
+++ b/api/datacontext/attrs/rootcertsattr/config.go
@@ -4,11 +4,11 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/vfs/pkg/vfs"
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -40,7 +40,7 @@ func (a *Config) GetType() string {
}
func (a *Config) AddRootCertificateFile(name string, fss ...vfs.FileSystem) {
- a.RootCertificates = append(a.RootCertificates, cfgcpi.ContentSpec{Path: name, FileSystem: utils.Optional(fss...)})
+ a.RootCertificates = append(a.RootCertificates, cfgcpi.ContentSpec{Path: name, FileSystem: general.Optional(fss...)})
}
func (a *Config) AddRootCertificateData(data []byte) {
diff --git a/api/datacontext/context.go b/api/datacontext/context.go
index 32414a07e3..d8151a0cd1 100644
--- a/api/datacontext/context.go
+++ b/api/datacontext/context.go
@@ -9,18 +9,18 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/finalizer"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
"ocm.software/ocm/api/datacontext/action/handlers"
- "ocm.software/ocm/api/utils"
ocmlog "ocm.software/ocm/api/utils/logging"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
-const OCM_CONTEXT_SUFFIX = ".context" + common.OCM_TYPE_GROUP_SUFFIX
+const OCM_CONTEXT_SUFFIX = ".context" + misc.OCM_TYPE_GROUP_SUFFIX
// BuilderMode controls the handling of unset information in the
// builder configuration when calling the New method.
@@ -64,7 +64,7 @@ func (m BuilderMode) String() string {
}
func Mode(m ...BuilderMode) BuilderMode {
- return utils.OptionalDefaulted(MODE_EXTENDED, m...)
+ return general.OptionalDefaulted(MODE_EXTENDED, m...)
}
type ContextIdentity = runtimefinalizer.ObjectIdentity
@@ -218,7 +218,7 @@ type gcWrapper struct {
}
func newView(c *_context, ref ...bool) AttributesContext {
- if utils.Optional(ref...) {
+ if general.Optional(ref...) {
return FinalizedContext[gcWrapper](c)
}
return c
@@ -235,7 +235,7 @@ var (
// New provides a root attribute context.
func New(parentAttrs ...Attributes) AttributesContext {
- return NewWithActions(utils.Optional(parentAttrs...), handlers.NewRegistry(nil, handlers.DefaultRegistry()))
+ return NewWithActions(general.Optional(parentAttrs...), handlers.NewRegistry(nil, handlers.DefaultRegistry()))
}
func NewWithActions(parentAttrs Attributes, actions handlers.Registry) AttributesContext {
@@ -339,7 +339,7 @@ func (c *_attributes) GetAttribute(name string, def ...interface{}) interface{}
return a
}
}
- return utils.Optional(def...)
+ return general.Optional(def...)
}
func (c *_attributes) SetEncodedAttribute(name string, data []byte, unmarshaller runtime.Unmarshaler) error {
diff --git a/api/helper/builder/builder.go b/api/helper/builder/builder.go
index afaf600ad3..96de631cf5 100644
--- a/api/helper/builder/builder.go
+++ b/api/helper/builder/builder.go
@@ -2,6 +2,7 @@ package builder
import (
"github.com/mandelsoft/goutils/exception"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/vfs/pkg/osfs"
"github.com/modern-go/reflect2"
"github.com/onsi/ginkgo/v2"
@@ -12,7 +13,6 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
)
@@ -151,11 +151,11 @@ func (b *Builder) expect(p interface{}, msg string, tests ...func() bool) {
}
func (b *Builder) fail(msg string, callerSkip ...int) {
- b.Fail(msg, utils.Optional(callerSkip...)+2)
+ b.Fail(msg, general.Optional(callerSkip...)+2)
}
func (b *Builder) failOn(err error, callerSkip ...int) {
- b.FailOnErr(err, "", utils.Optional(callerSkip...)+2)
+ b.FailOnErr(err, "", general.Optional(callerSkip...)+2)
}
func (b *Builder) peek() element {
@@ -186,7 +186,7 @@ func (b *Builder) configure(e element, funcs []func(), skip ...int) interface{}
b.Configure(funcs...)
err := b.pop().Close()
if err != nil {
- b.fail(err.Error(), utils.Optional(skip...)+1)
+ b.fail(err.Error(), general.Optional(skip...)+1)
}
return e.Result()
}
diff --git a/api/helper/builder/rsa_keypair.go b/api/helper/builder/rsa_keypair.go
index 8daf449563..7957ff1dae 100644
--- a/api/helper/builder/rsa_keypair.go
+++ b/api/helper/builder/rsa_keypair.go
@@ -2,11 +2,11 @@ package builder
import (
"github.com/mandelsoft/filepath/pkg/filepath"
+ "github.com/mandelsoft/goutils/ioutils"
"ocm.software/ocm/api/ocm/extensions/attrs/signingattr"
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
)
// TODO: switch to context local setting.
@@ -23,7 +23,7 @@ func (b *Builder) RSAKeyPair(name ...string) {
func (b *Builder) ReadRSAKeyPair(name, path string) {
reg := signingattr.Get(b.OCMContext())
pubfound := false
- path, _ = utils.ResolvePath(path)
+ path, _ = ioutils.ResolvePath(path)
if ok, _ := b.Exists(filepath.Join(path, "rsa.pub")); ok {
pubbytes, err := b.ReadFile(filepath.Join(path, "rsa.pub"))
b.failOn(err)
diff --git a/api/helper/env/env.go b/api/helper/env/env.go
index b36bed6dfb..8fed251b08 100644
--- a/api/helper/env/env.go
+++ b/api/helper/env/env.go
@@ -25,7 +25,6 @@ import (
"ocm.software/ocm/api/datacontext/attrs/vfsattr"
"ocm.software/ocm/api/oci"
ocm "ocm.software/ocm/api/ocm/cpi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
)
@@ -132,7 +131,7 @@ type fsOpt struct {
func FileSystem(fs vfs.FileSystem, path ...string) Option {
return fsOpt{
- path: utils.Optional(path...),
+ path: general.Optional(path...),
fs: fs,
}
}
@@ -239,7 +238,7 @@ func projectTestData(modifiable bool, source string, dest ...string) Option {
}
pathToTestdata := filepath.Join(pathToRoot, source)
- return testData(modifiable, pathToTestdata, general.OptionalDefaulted("/testdata", dest...))
+ return testData(modifiable, pathToTestdata, general.OptionalNonZeroDefaulted("/testdata", dest...))
}
func ProjectTestData(source string, dest ...string) Option {
@@ -472,7 +471,7 @@ func (e *Environment) FileSystem() vfs.FileSystem {
}
func ExceptionFailHandler(msg string, callerSkip ...int) {
- skip := utils.Optional(callerSkip...) + 1
+ skip := general.Optional(callerSkip...) + 1
st, _ := gostackparse.Parse(bytes.NewReader(debug.Stack()))
if st == nil {
exception.Throw(fmt.Errorf("%s", msg))
@@ -486,7 +485,7 @@ func ExceptionFailHandler(msg string, callerSkip ...int) {
// by default a fail handler throwing an exception
// is set.
func (e *Environment) SetFailHandler(h ...FailHandler) *Environment {
- e.failhandler = utils.OptionalDefaulted(FailHandler(ExceptionFailHandler), h...)
+ e.failhandler = general.OptionalDefaulted(FailHandler(ExceptionFailHandler), h...)
return e
}
@@ -504,14 +503,14 @@ func (e *Environment) FailOnErr(err error, msg string, callerSkip ...int) {
func (e *Environment) fail(msg string, callerSkip ...int) {
fh := e.failhandler
if fh == nil {
- ExceptionFailHandler(msg, utils.Optional(callerSkip...)+2)
+ ExceptionFailHandler(msg, general.Optional(callerSkip...)+2)
} else {
- fh(msg, utils.Optional(callerSkip...)+2)
+ fh(msg, general.Optional(callerSkip...)+2)
}
}
func (e *Environment) failOn(err error, callerSkip ...int) {
if err != nil {
- e.fail(err.Error(), utils.Optional(callerSkip...)+1)
+ e.fail(err.Error(), general.Optional(callerSkip...)+1)
}
}
diff --git a/api/helper/env/keypair.go b/api/helper/env/keypair.go
index a9139b95b4..792969f4c7 100644
--- a/api/helper/env/keypair.go
+++ b/api/helper/env/keypair.go
@@ -2,11 +2,11 @@ package env
import (
"github.com/mandelsoft/filepath/pkg/filepath"
+ "github.com/mandelsoft/goutils/ioutils"
"ocm.software/ocm/api/ocm/extensions/attrs/signingattr"
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
)
func (e *Environment) RSAKeyPair(name ...string) {
@@ -22,7 +22,7 @@ func (e *Environment) RSAKeyPair(name ...string) {
func (e *Environment) ReadRSAKeyPair(name, path string) {
reg := signingattr.Get(e.OCMContext())
pubfound := false
- path, _ = utils.ResolvePath(path)
+ path, _ = ioutils.ResolvePath(path)
if ok, _ := e.Exists(filepath.Join(path, "rsa.pub")); ok {
pubbytes, err := e.ReadFile(filepath.Join(path, "rsa.pub"))
e.failOn(err)
diff --git a/api/oci/cpi/view.go b/api/oci/cpi/view.go
index c32e7a14c8..36eaef69f7 100644
--- a/api/oci/cpi/view.go
+++ b/api/oci/cpi/view.go
@@ -5,6 +5,7 @@ import (
"io"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/opencontainers/go-digest"
"ocm.software/ocm/api/credentials"
@@ -72,7 +73,7 @@ func repositoryViewCreator(i RepositoryImpl, v resource.CloserView, d Repository
}
func NewRepository(impl RepositoryImpl, name ...string) Repository {
- return resource.NewResource[Repository](impl, repositoryViewCreator, utils.OptionalDefaulted("OCI repo", name...), true)
+ return resource.NewResource[Repository](impl, repositoryViewCreator, general.OptionalNonZeroDefaulted("OCI repo", name...), true)
}
func (r *repositoryView) GetConsumerId(uctx ...credentials.UsageContext) credentials.ConsumerIdentity {
@@ -179,7 +180,7 @@ func namespaceAccessViewCreator(i NamespaceAccessImpl, v resource.CloserView, d
}
func NewNamespaceAccess(impl NamespaceAccessImpl, kind ...string) NamespaceAccess {
- return resource.NewResource[NamespaceAccess](impl, namespaceAccessViewCreator, fmt.Sprintf("%s %s", utils.OptionalDefaulted("namespace", kind...), impl.GetNamespace()), true)
+ return resource.NewResource[NamespaceAccess](impl, namespaceAccessViewCreator, fmt.Sprintf("%s %s", general.OptionalNonZeroDefaulted("namespace", kind...), impl.GetNamespace()), true)
}
func (n *namespaceAccessView) GetNamespace() string {
diff --git a/api/oci/extensions/actions/oci-repository-prepare/exec.go b/api/oci/extensions/actions/oci-repository-prepare/exec.go
index cb2b753679..982f5882a5 100644
--- a/api/oci/extensions/actions/oci-repository-prepare/exec.go
+++ b/api/oci/extensions/actions/oci-repository-prepare/exec.go
@@ -4,9 +4,9 @@ import (
"github.com/mandelsoft/goutils/generics"
"ocm.software/ocm/api/datacontext/action/handlers"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func Execute(hdlrs handlers.Registry, host, repo string, creds common.Properties) (*ActionResult, error) {
+func Execute(hdlrs handlers.Registry, host, repo string, creds misc.Properties) (*ActionResult, error) {
return generics.CastR[*ActionResult](hdlrs.Execute(Spec(host, repo), creds))
}
diff --git a/api/oci/extensions/actions/oci-repository-prepare/type.go b/api/oci/extensions/actions/oci-repository-prepare/type.go
index 4218f6862e..8fd4e0846b 100644
--- a/api/oci/extensions/actions/oci-repository-prepare/type.go
+++ b/api/oci/extensions/actions/oci-repository-prepare/type.go
@@ -7,7 +7,7 @@ import (
"ocm.software/ocm/api/datacontext/action/api"
"ocm.software/ocm/api/tech/oci/identity"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -66,9 +66,9 @@ func (s *ActionSpecV1) Selector() api.Selector {
return api.Selector(s.Hostname)
}
-func (s *ActionSpecV1) GetConsumerAttributes() common.Properties {
+func (s *ActionSpecV1) GetConsumerAttributes() misc.Properties {
host, port, base := utils.SplitLocator(s.Hostname)
- return common.Properties{
+ return misc.Properties{
cpi.ID_TYPE: identity.CONSUMER_TYPE,
identity.ID_HOSTNAME: host,
identity.ID_PATHPREFIX: path.Join(base, s.Repository),
diff --git a/api/oci/extensions/attrs/cacheattr/attr.go b/api/oci/extensions/attrs/cacheattr/attr.go
index 0544232079..64e9be9307 100644
--- a/api/oci/extensions/attrs/cacheattr/attr.go
+++ b/api/oci/extensions/attrs/cacheattr/attr.go
@@ -5,9 +5,9 @@ import (
"os"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/runtime"
)
@@ -45,7 +45,7 @@ func (a AttributeType) Decode(data []byte, unmarshaller runtime.Unmarshaler) (in
var value string
err := unmarshaller.Unmarshal(data, &value)
if value != "" {
- value, err = utils.ResolvePath(value)
+ value, err = ioutils.ResolvePath(value)
if err != nil {
return nil, err
}
diff --git a/api/oci/extensions/repositories/docker/type.go b/api/oci/extensions/repositories/docker/type.go
index 8fd2ade17a..40d789e705 100644
--- a/api/oci/extensions/repositories/docker/type.go
+++ b/api/oci/extensions/repositories/docker/type.go
@@ -3,11 +3,11 @@ package docker
import (
"context"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/oci/cpi"
- "ocm.software/ocm/api/utils"
ocmlog "ocm.software/ocm/api/utils/logging"
"ocm.software/ocm/api/utils/runtime"
)
@@ -32,7 +32,7 @@ type RepositorySpec struct {
func NewRepositorySpec(host ...string) *RepositorySpec {
return &RepositorySpec{
ObjectVersionedType: runtime.NewVersionedTypedObject(Type),
- DockerHost: utils.Optional(host...),
+ DockerHost: general.OptionalNonZero(host...),
}
}
diff --git a/api/oci/extensions/repositories/ocireg/namespace.go b/api/oci/extensions/repositories/ocireg/namespace.go
index d48786c276..f6fe75b60a 100644
--- a/api/oci/extensions/repositories/ocireg/namespace.go
+++ b/api/oci/extensions/repositories/ocireg/namespace.go
@@ -16,7 +16,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/logging"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type NamespaceContainer struct {
@@ -179,7 +179,7 @@ func (n *NamespaceContainer) assureCreated() error {
if n.checked {
return nil
}
- var props common.Properties
+ var props misc.Properties
if creds, err := n.repo.getCreds(n.impl.GetNamespace()); err == nil && creds != nil {
props = creds.Properties()
}
diff --git a/api/oci/extensions/repositories/ocireg/repository.go b/api/oci/extensions/repositories/ocireg/repository.go
index 37fd892730..547463e02d 100644
--- a/api/oci/extensions/repositories/ocireg/repository.go
+++ b/api/oci/extensions/repositories/ocireg/repository.go
@@ -10,6 +10,7 @@ import (
"github.com/containerd/errdefs"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
"github.com/moby/locker"
"oras.land/oras-go/v2/registry/remote/auth"
@@ -91,7 +92,7 @@ func (r *RepositoryImpl) Close() error {
}
func (r *RepositoryImpl) GetConsumerId(uctx ...credentials.UsageContext) credentials.ConsumerIdentity {
- if c, ok := utils.Optional(uctx...).(credentials.StringUsageContext); ok {
+ if c, ok := general.Optional(uctx...).(credentials.StringUsageContext); ok {
return identity.GetConsumerId(r.info.Locator, c.String())
}
return identity.GetConsumerId(r.info.Locator, "")
diff --git a/api/oci/extensions/repositories/ocireg/type.go b/api/oci/extensions/repositories/ocireg/type.go
index 00bba2ced4..e623fb8a82 100644
--- a/api/oci/extensions/repositories/ocireg/type.go
+++ b/api/oci/extensions/repositories/ocireg/type.go
@@ -7,11 +7,11 @@ import (
"time"
"github.com/containerd/containerd/reference"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/oci/cpi"
"ocm.software/ocm/api/tech/oci/identity"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/tcp"
)
@@ -147,7 +147,7 @@ func (a *RepositorySpec) GetConsumerId(uctx ...credentials.UsageContext) credent
if err != nil {
return nil
}
- if c, ok := utils.Optional(uctx...).(credentials.StringUsageContext); ok {
+ if c, ok := general.Optional(uctx...).(credentials.StringUsageContext); ok {
return identity.GetConsumerId(info.Locator, c.String())
}
return identity.GetConsumerId(info.Locator, "")
diff --git a/api/oci/internal/context.go b/api/oci/internal/context.go
index 883d8caac1..d086b81a92 100644
--- a/api/oci/internal/context.go
+++ b/api/oci/internal/context.go
@@ -5,11 +5,12 @@ import (
"reflect"
"strings"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/config"
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -96,7 +97,7 @@ type gcWrapper struct {
}
func newView(c *_context, ref ...bool) Context {
- if utils.Optional(ref...) {
+ if general.Optional(ref...) {
return datacontext.FinalizedContext[gcWrapper](c)
}
return c
diff --git a/api/oci/internal/repotypes.go b/api/oci/internal/repotypes.go
index cb2024aeb8..0cf1917a92 100644
--- a/api/oci/internal/repotypes.go
+++ b/api/oci/internal/repotypes.go
@@ -4,11 +4,11 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
"github.com/modern-go/reflect2"
"ocm.software/ocm/api/credentials"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -46,12 +46,12 @@ type repositoryTypeScheme struct {
}
func NewRepositoryTypeScheme(defaultDecoder RepositorySpecDecoder, base ...RepositoryTypeScheme) RepositoryTypeScheme {
- scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](&UnknownRepositorySpec{}, true, defaultDecoder, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](&UnknownRepositorySpec{}, true, defaultDecoder, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
func NewStrictRepositoryTypeScheme(base ...RepositoryTypeScheme) runtime.VersionedTypeRegistry[RepositorySpec, RepositoryType] {
- scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](nil, false, nil, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](nil, false, nil, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
diff --git a/api/oci/ociutils/handler.go b/api/oci/ociutils/handler.go
index ff3cc687fe..a059a1d4e3 100644
--- a/api/oci/ociutils/handler.go
+++ b/api/oci/ociutils/handler.go
@@ -4,11 +4,11 @@ import (
"sync"
"ocm.software/ocm/api/oci/cpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type InfoHandler interface {
- Description(pr common.Printer, m cpi.ManifestAccess, config []byte)
+ Description(pr misc.Printer, m cpi.ManifestAccess, config []byte)
Info(m cpi.ManifestAccess, config []byte) interface{}
}
diff --git a/api/oci/ociutils/info.go b/api/oci/ociutils/info.go
index 6d449e5347..ff0466dcb8 100644
--- a/api/oci/ociutils/info.go
+++ b/api/oci/ociutils/info.go
@@ -15,7 +15,7 @@ import (
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/compression"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type BlobInfo struct {
@@ -73,7 +73,7 @@ func GetManifestInfo(m cpi.ManifestAccess, layerFiles bool) *ArtifactInfo {
h := getHandler(man.Config.MediaType)
if h != nil {
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
h.Description(pr, m, config)
cfg.Info = buf.String()
}
diff --git a/api/oci/ociutils/print.go b/api/oci/ociutils/print.go
index c10a6a8a81..5f82065361 100644
--- a/api/oci/ociutils/print.go
+++ b/api/oci/ociutils/print.go
@@ -8,16 +8,17 @@ import (
"io"
"strings"
+ "github.com/mandelsoft/goutils/maputils"
+
"ocm.software/ocm/api/oci/artdesc"
"ocm.software/ocm/api/oci/cpi"
"ocm.software/ocm/api/tech/signing"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/compression"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func PrintArtifact(pr common.Printer, art cpi.ArtifactAccess, listFiles bool) {
+func PrintArtifact(pr misc.Printer, art cpi.ArtifactAccess, listFiles bool) {
if art.IsManifest() {
pr.Printf("type: %s\n", artdesc.MediaTypeImageManifest)
PrintManifest(pr, art.ManifestAccess(), listFiles)
@@ -31,7 +32,7 @@ func PrintArtifact(pr common.Printer, art cpi.ArtifactAccess, listFiles bool) {
pr.Printf("unspecific\n")
}
-func PrintManifest(pr common.Printer, m cpi.ManifestAccess, listFiles bool) {
+func PrintManifest(pr misc.Printer, m cpi.ManifestAccess, listFiles bool) {
data, err := blobaccess.BlobData(m.Blob())
if err != nil {
pr.Printf("descriptor: invalid: %s\n", err)
@@ -70,7 +71,7 @@ func PrintManifest(pr common.Printer, m cpi.ManifestAccess, listFiles bool) {
}
}
-func PrintLayer(pr common.Printer, blob blobaccess.BlobAccess, listFiles bool) {
+func PrintLayer(pr misc.Printer, blob blobaccess.BlobAccess, listFiles bool) {
reader, err := blob.Reader()
if err != nil {
pr.Printf("cannot read blob: %s\n", err.Error())
@@ -114,7 +115,7 @@ func PrintLayer(pr common.Printer, blob blobaccess.BlobAccess, listFiles bool) {
}
}
-func PrintIndex(pr common.Printer, i cpi.IndexAccess, listFiles bool) {
+func PrintIndex(pr misc.Printer, i cpi.IndexAccess, listFiles bool) {
data, err := blobaccess.BlobData(i.Blob())
if err != nil {
pr.Printf("descriptor: invalid: %s\n", err)
@@ -148,17 +149,17 @@ func PrintIndex(pr common.Printer, i cpi.IndexAccess, listFiles bool) {
}
}
-func optS(pr common.Printer, key string, value string) {
+func optS(pr misc.Printer, key string, value string) {
if value != "" {
desc := strings.Replace(key, " ", ":", 1)
pr.Printf("%s %s\n", desc, value)
}
}
-func printAnnotations(pr common.Printer, annos map[string]string) {
+func printAnnotations(pr misc.Printer, annos map[string]string) {
if len(annos) > 0 {
pr.Printf("annotations:\n")
- keys := utils.StringMapKeys(annos)
+ keys := maputils.OrderedKeys(annos)
l := 0
for _, k := range keys {
if len(k) > l {
diff --git a/api/oci/ociutils/ref.go b/api/oci/ociutils/ref.go
index b419e30a3d..490e98dca0 100644
--- a/api/oci/ociutils/ref.go
+++ b/api/oci/ociutils/ref.go
@@ -27,7 +27,7 @@ func ParseVersion(vers string) (*ArtVersion, error) {
return nil, err
}
return &ArtVersion{
- Tag: generics.Pointer(vers[:i]),
+ Tag: generics.PointerTo(vers[:i]),
Digest: &dig,
}, nil
}
diff --git a/api/oci/ref_test.go b/api/oci/ref_test.go
index c95850ef03..3e27c072d5 100644
--- a/api/oci/ref_test.go
+++ b/api/oci/ref_test.go
@@ -848,7 +848,7 @@ var _ = Describe("ref parsing", func() {
v := Must(oci.ParseVersion("tag"))
Expect(v).To(Equal(&oci.ArtVersion{
- Tag: generics.Pointer("tag"),
+ Tag: generics.PointerTo("tag"),
Digest: nil,
}))
})
@@ -858,7 +858,7 @@ var _ = Describe("ref parsing", func() {
Expect(v).To(Equal(&oci.ArtVersion{
Tag: nil,
- Digest: generics.Pointer(godigest.Digest("sha256:3d05e105e350edf5be64fe356f4906dd3f9bf442a279e4142db9879bba8e677a")),
+ Digest: generics.PointerTo(godigest.Digest("sha256:3d05e105e350edf5be64fe356f4906dd3f9bf442a279e4142db9879bba8e677a")),
}))
})
@@ -866,8 +866,8 @@ var _ = Describe("ref parsing", func() {
v := Must(oci.ParseVersion("tag@sha256:3d05e105e350edf5be64fe356f4906dd3f9bf442a279e4142db9879bba8e677a"))
Expect(v).To(Equal(&oci.ArtVersion{
- Tag: generics.Pointer("tag"),
- Digest: generics.Pointer(godigest.Digest("sha256:3d05e105e350edf5be64fe356f4906dd3f9bf442a279e4142db9879bba8e677a")),
+ Tag: generics.PointerTo("tag"),
+ Digest: generics.PointerTo(godigest.Digest("sha256:3d05e105e350edf5be64fe356f4906dd3f9bf442a279e4142db9879bba8e677a")),
}))
})
})
diff --git a/api/oci/tools/transfer/filters/filter.go b/api/oci/tools/transfer/filters/filter.go
index 486b083db3..035dfd927e 100644
--- a/api/oci/tools/transfer/filters/filter.go
+++ b/api/oci/tools/transfer/filters/filter.go
@@ -3,11 +3,11 @@ package filters
import (
"encoding/json"
+ "github.com/mandelsoft/goutils/general"
ociv1 "github.com/opencontainers/image-spec/specs-go/v1"
"ocm.software/ocm/api/oci/artdesc"
"ocm.software/ocm/api/oci/cpi"
- "ocm.software/ocm/api/utils"
)
type Filter interface {
@@ -88,7 +88,7 @@ type platform struct {
}
func Platform(os string, arch string, excl ...bool) Filter {
- return &platform{os, arch, utils.Optional(excl...)}
+ return &platform{os, arch, general.Optional(excl...)}
}
func (f *platform) Accept(art cpi.ArtifactAccess, platform *artdesc.Platform) bool {
diff --git a/api/oci/tools/transfer/transfer.go b/api/oci/tools/transfer/transfer.go
index e3d2f1912f..1575a792f6 100644
--- a/api/oci/tools/transfer/transfer.go
+++ b/api/oci/tools/transfer/transfer.go
@@ -23,7 +23,7 @@ func TransferArtifactWithFilter(art cpi.ArtifactAccess, set cpi.ArtifactSink, fi
if filter != nil && !filter.Accept(art, nil) {
return nil, errors.ErrNoMatch(cpi.KIND_OCIARTIFACT, art.Digest().String())
}
- return generics.Pointer(art.Digest()), TransferManifest(art.ManifestAccess(), set, tags...)
+ return generics.PointerTo(art.Digest()), TransferManifest(art.ManifestAccess(), set, tags...)
}
}
@@ -74,7 +74,7 @@ func TransferIndexWithFilter(art cpi.IndexAccess, set cpi.ArtifactSink, filter f
if err != nil {
return nil, errors.Wrapf(err, "transferring indexed artifact %s", l.Digest)
}
- dig = generics.Pointer(l.Digest)
+ dig = generics.PointerTo(l.Digest)
} else {
index.Manifests = append(index.Manifests[:i-ign], index.Manifests[i-ign+1:]...)
ign++
@@ -104,7 +104,7 @@ func TransferIndexWithFilter(art cpi.IndexAccess, set cpi.ArtifactSink, filter f
if err != nil {
return nil, errors.Wrapf(err, "transferring index artifact")
}
- return generics.Pointer(modified.Digest()), err
+ return generics.PointerTo(modified.Digest()), err
}
func TransferManifest(art cpi.ManifestAccess, set cpi.ArtifactSink, tags ...string) (err error) {
diff --git a/api/ocm/compdesc/generic.go b/api/ocm/compdesc/generic.go
index e9a37171bb..d86e3c50c3 100644
--- a/api/ocm/compdesc/generic.go
+++ b/api/ocm/compdesc/generic.go
@@ -14,7 +14,7 @@ var (
)
func (g GenericComponentDescriptor) MarshalJSON() ([]byte, error) {
- return Encode(generics.Pointer(ComponentDescriptor(g)), DefaultJSONCodec)
+ return Encode(generics.PointerTo(ComponentDescriptor(g)), DefaultJSONCodec)
}
func (g *GenericComponentDescriptor) UnmarshalJSON(bytes []byte) error {
diff --git a/api/ocm/compdesc/resolver.go b/api/ocm/compdesc/resolver.go
index 791533ff94..d9a800e55a 100644
--- a/api/ocm/compdesc/resolver.go
+++ b/api/ocm/compdesc/resolver.go
@@ -5,7 +5,7 @@ import (
"github.com/mandelsoft/goutils/errors"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type ComponentVersionResolver interface {
@@ -16,15 +16,15 @@ type ComponentVersionResolver interface {
type ComponentVersionSet struct {
lock sync.RWMutex
- cds map[common.NameVersion]*ComponentDescriptor
+ cds map[misc.NameVersion]*ComponentDescriptor
}
var _ ComponentVersionResolver = (*ComponentVersionSet)(nil)
func NewComponentVersionSet(cds ...*ComponentDescriptor) *ComponentVersionSet {
- r := map[common.NameVersion]*ComponentDescriptor{}
+ r := map[misc.NameVersion]*ComponentDescriptor{}
for _, cd := range cds {
- r[common.NewNameVersion(cd.Name, cd.Version)] = cd.Copy()
+ r[misc.NewNameVersion(cd.Name, cd.Version)] = cd.Copy()
}
return &ComponentVersionSet{cds: r}
}
@@ -33,7 +33,7 @@ func (c *ComponentVersionSet) LookupComponentVersion(name string, version string
c.lock.RLock()
defer c.lock.RUnlock()
- nv := common.NewNameVersion(name, version)
+ nv := misc.NewNameVersion(name, version)
cd := c.cds[nv]
if cd == nil {
@@ -46,7 +46,7 @@ func (c *ComponentVersionSet) AddVersion(cd *ComponentDescriptor) {
c.lock.Lock()
defer c.lock.Unlock()
- c.cds[common.NewNameVersion(cd.Name, cd.Version)] = cd.Copy()
+ c.cds[misc.NewNameVersion(cd.Name, cd.Version)] = cd.Copy()
}
////////////////////////////////////////////////////////////////////////////////
@@ -86,7 +86,7 @@ func (c *CompoundResolver) LookupComponentVersion(name string, version string) (
return nil, err
}
}
- return nil, errors.ErrNotFound(KIND_REFERENCE, common.NewNameVersion(name, version).String())
+ return nil, errors.ErrNotFound(KIND_REFERENCE, misc.NewNameVersion(name, version).String())
}
func (c *CompoundResolver) AddResolver(r ComponentVersionResolver) {
diff --git a/api/ocm/compdesc/resourceref.go b/api/ocm/compdesc/resourceref.go
index 13abe4db73..4909f9d116 100644
--- a/api/ocm/compdesc/resourceref.go
+++ b/api/ocm/compdesc/resourceref.go
@@ -6,7 +6,7 @@ import (
"github.com/mandelsoft/goutils/errors"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func ResolveReferencePath(cv *ComponentDescriptor, path []metav1.Identity, resolver ComponentVersionResolver) (*ComponentDescriptor, error) {
@@ -18,7 +18,7 @@ func ResolveReferencePath(cv *ComponentDescriptor, path []metav1.Identity, resol
for _, cr := range path {
cref, err := eff.GetReferenceByIdentity(cr)
if err != nil {
- return nil, errors.Wrapf(err, "%s", common.VersionedElementKey(cv))
+ return nil, errors.Wrapf(err, "%s", misc.VersionedElementKey(cv))
}
compoundResolver := NewCompoundResolver(NewComponentVersionSet(cv), resolver)
diff --git a/api/ocm/cpi/accspeccpi/method.go b/api/ocm/cpi/accspeccpi/method.go
index 84f077c001..d498851f0c 100644
--- a/api/ocm/cpi/accspeccpi/method.go
+++ b/api/ocm/cpi/accspeccpi/method.go
@@ -4,9 +4,9 @@ import (
"io"
"sync"
+ "github.com/mandelsoft/goutils/general"
"github.com/opencontainers/go-digest"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
)
@@ -43,7 +43,7 @@ func NewDefaultMethodImpl(c ComponentVersionAccess, a AccessSpec, digest digest.
mime: mime,
digest: digest,
factory: fac,
- local: utils.Optional(local...),
+ local: general.Optional(local...),
}
}
@@ -63,7 +63,7 @@ func NewDefaultMethodImplForBlobAccess(c ComponentVersionAccess, a AccessSpec, d
mime: blob.MimeType(),
digest: digest,
factory: nil,
- local: utils.Optional(local...),
+ local: general.Optional(local...),
}, nil
}
diff --git a/api/ocm/cpi/repocpi/backend.go b/api/ocm/cpi/repocpi/backend.go
index a2984b5ccf..4b956d96d9 100644
--- a/api/ocm/cpi/repocpi/backend.go
+++ b/api/ocm/cpi/repocpi/backend.go
@@ -5,11 +5,11 @@ import (
"sync/atomic"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/ocm/compdesc"
"ocm.software/ocm/api/ocm/cpi"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
)
@@ -29,15 +29,15 @@ type StorageBackendImpl interface {
// IsReadOnly returns readonly mode for repo,
// if key is given for the dedicated component version access.
- IsReadOnly(key ...common.NameVersion) bool
+ IsReadOnly(key ...misc.NameVersion) bool
// SetReadOnly sets readonly mode for repo,
// if key is given for the dedicated component version access.
- SetReadOnly(key ...common.NameVersion)
+ SetReadOnly(key ...misc.NameVersion)
ComponentLister() cpi.ComponentLister
HasComponent(name string) (bool, error)
- HasComponentVersion(key common.NameVersion) (bool, error)
+ HasComponentVersion(key misc.NameVersion) (bool, error)
// component related methods.
@@ -46,12 +46,12 @@ type StorageBackendImpl interface {
// version related methods.
- GetDescriptor(key common.NameVersion) (*compdesc.ComponentDescriptor, error)
- SetDescriptor(key common.NameVersion, descriptor *compdesc.ComponentDescriptor) (bool, error)
- AccessMethod(key common.NameVersion, acc cpi.AccessSpec, cv refmgmt.ExtendedAllocatable) (cpi.AccessMethod, error)
- GetStorageContext(key common.NameVersion) cpi.StorageContext
- GetBlob(key common.NameVersion, name string) (cpi.DataAccess, error)
- AddBlob(key common.NameVersion, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
+ GetDescriptor(key misc.NameVersion) (*compdesc.ComponentDescriptor, error)
+ SetDescriptor(key misc.NameVersion, descriptor *compdesc.ComponentDescriptor) (bool, error)
+ AccessMethod(key misc.NameVersion, acc cpi.AccessSpec, cv refmgmt.ExtendedAllocatable) (cpi.AccessMethod, error)
+ GetStorageContext(key misc.NameVersion) cpi.StorageContext
+ GetBlob(key misc.NameVersion, name string) (cpi.DataAccess, error)
+ AddBlob(key misc.NameVersion, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
}
type storageBackendRepository struct {
@@ -114,7 +114,7 @@ func (s *storageBackendRepository) ComponentLister() cpi.ComponentLister {
}
func (s *storageBackendRepository) ExistsComponentVersion(name string, version string) (bool, error) {
- return s.impl.HasComponentVersion(common.NewNameVersion(name, version))
+ return s.impl.HasComponentVersion(misc.NewNameVersion(name, version))
}
func (s *storageBackendRepository) LookupComponent(name string) (*ComponentAccessInfo, error) {
@@ -175,11 +175,11 @@ func (s *storageBackendComponent) HasVersion(vers string) (bool, error) {
}
func (s *storageBackendComponent) LookupVersion(version string) (*ComponentVersionAccessInfo, error) {
- if ok, err := s.repo.impl.HasComponentVersion(common.NewNameVersion(s.name, version)); !ok || err != nil {
+ if ok, err := s.repo.impl.HasComponentVersion(misc.NewNameVersion(s.name, version)); !ok || err != nil {
return nil, err
}
- name := common.NewNameVersion(s.name, version)
+ name := misc.NewNameVersion(s.name, version)
d, err := s.repo.impl.GetDescriptor(name)
if err != nil {
return nil, err
@@ -198,15 +198,15 @@ func (s *storageBackendComponent) LookupVersion(version string) (*ComponentVersi
}
func (s *storageBackendComponent) NewVersion(version string, overwrite ...bool) (*ComponentVersionAccessInfo, error) {
- ok, err := s.repo.impl.HasComponentVersion(common.NewNameVersion(s.name, version))
+ ok, err := s.repo.impl.HasComponentVersion(misc.NewNameVersion(s.name, version))
if err != nil {
return nil, err
}
- if ok && !utils.Optional(overwrite...) {
+ if ok && !general.Optional(overwrite...) {
return nil, errors.ErrAlreadyExists(cpi.KIND_COMPONENTVERSION, s.name+"/"+version)
}
- name := common.NewNameVersion(s.name, version)
+ name := misc.NewNameVersion(s.name, version)
d := compdesc.New(s.name, version)
impl := &storageBackendComponentVersion{
@@ -226,7 +226,7 @@ func (s *storageBackendComponent) NewVersion(version string, overwrite ...bool)
type storageBackendComponentVersion struct {
bridge ComponentVersionAccessBridge
comp *storageBackendComponent
- name common.NameVersion
+ name misc.NameVersion
descriptor *compdesc.ComponentDescriptor
}
diff --git a/api/ocm/cpi/repocpi/bridge_cv.go b/api/ocm/cpi/repocpi/bridge_cv.go
index bba694d198..5ce8b33327 100644
--- a/api/ocm/cpi/repocpi/bridge_cv.go
+++ b/api/ocm/cpi/repocpi/bridge_cv.go
@@ -8,6 +8,7 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/finalizer"
+ "github.com/mandelsoft/goutils/generics"
"github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/ocm/compdesc"
@@ -21,7 +22,7 @@ import (
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
"ocm.software/ocm/api/utils/refmgmt/resource"
"ocm.software/ocm/api/utils/runtimefinalizer"
@@ -118,8 +119,8 @@ func GetComponentVersionImpl[T ComponentVersionAccessImpl](cv cpi.ComponentVersi
}
func (b *componentVersionAccessBridge) Close() error {
- list := errors.ErrListf("closing component version %s", common.VersionedElementKey(b))
- refmgmt.AllocLog.Trace("closing component version base", "name", common.VersionedElementKey(b))
+ list := errors.ErrListf("closing component version %s", misc.VersionedElementKey(b))
+ refmgmt.AllocLog.Trace("closing component version base", "name", misc.VersionedElementKey(b))
// prepare artifact access for final close in
// direct access mode.
if !compositionmodeattr.Get(b.ctx) {
@@ -128,7 +129,7 @@ func (b *componentVersionAccessBridge) Close() error {
list.Add(b.impl.Close())
list.Add(b._componentVersionAccessBridgeBase.Close())
list.Add(b.blobcache.Clear())
- refmgmt.AllocLog.Trace("closed component version base", "name", common.VersionedElementKey(b))
+ refmgmt.AllocLog.Trace("closed component version base", "name", misc.VersionedElementKey(b))
return list.Result()
}
@@ -197,7 +198,7 @@ func (b *componentVersionAccessBridge) AccessMethod(spec cpi.AccessSpec, cv refm
}
blob := b.getLocalBlob(cspec)
if blob == nil {
- return nil, errors.ErrUnknown(blobaccess.KIND_BLOB, cspec.Id, common.VersionedElementKey(b).String())
+ return nil, errors.ErrUnknown(blobaccess.KIND_BLOB, cspec.Id, misc.VersionedElementKey(b).String())
}
meth, err = compose.NewMethod(cspec, blob)
case spec.IsLocal(b.ctx):
@@ -261,7 +262,7 @@ func (b *componentVersionAccessBridge) update(final bool) error {
d := b.getDescriptor()
opts := &cpi.BlobUploadOptions{
- UseNoDefaultIfNotSet: optionutils.PointerTo(true),
+ UseNoDefaultIfNotSet: generics.PointerTo(true),
}
err := b.setupLocalBlobs("resource", b.composeAccess, d.Resources, true, opts)
if err == nil {
@@ -283,7 +284,7 @@ func (b *componentVersionAccessBridge) update(final bool) error {
return err
}
if pub != nil {
- err := pub.NotifyComponentVersion(common.VersionedElementKey(b))
+ err := pub.NotifyComponentVersion(misc.VersionedElementKey(b))
if err != nil {
return err
}
@@ -398,7 +399,7 @@ func (b *componentVersionAccessBridge) composeAccess(spec cpi.AccessSpec) (bloba
}
blob := b.getLocalBlob(cspec)
if blob == nil {
- return nil, "", nil, errors.ErrUnknown(blobaccess.KIND_BLOB, cspec.Id, common.VersionedElementKey(b).String())
+ return nil, "", nil, errors.ErrUnknown(blobaccess.KIND_BLOB, cspec.Id, misc.VersionedElementKey(b).String())
}
blob, err := blob.Dup()
if err != nil {
diff --git a/api/ocm/cpi/repocpi/view_c.go b/api/ocm/cpi/repocpi/view_c.go
index c4f5727c71..5e8265cd7d 100644
--- a/api/ocm/cpi/repocpi/view_c.go
+++ b/api/ocm/cpi/repocpi/view_c.go
@@ -5,6 +5,7 @@ import (
"io"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/utils"
@@ -116,7 +117,7 @@ func (c *componentAccessView) AddVersion(acc cpi.ComponentVersionAccess, overwri
}
return c.Execute(func() error {
- return c.bridge.AddVersion(acc, cpi.NewAddVersionOptions(cpi.Overwrite(utils.Optional(overwrite...))))
+ return c.bridge.AddVersion(acc, cpi.NewAddVersionOptions(cpi.Overwrite(general.Optional(overwrite...))))
})
}
diff --git a/api/ocm/cpi/repocpi/view_cv.go b/api/ocm/cpi/repocpi/view_cv.go
index 2e35912679..979b375c64 100644
--- a/api/ocm/cpi/repocpi/view_cv.go
+++ b/api/ocm/cpi/repocpi/view_cv.go
@@ -20,7 +20,7 @@ import (
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
"ocm.software/ocm/api/utils/refmgmt/resource"
)
@@ -42,7 +42,7 @@ type ComponentVersionAccessViewManager = resource.ViewManager[cpi.ComponentVersi
type ComponentVersionAccessBridge interface {
resource.ResourceImplementation[cpi.ComponentVersionAccess]
- common.VersionedElement
+ misc.VersionedElement
io.Closer
GetContext() cpi.Context
@@ -150,7 +150,7 @@ func (c *componentVersionAccessView) SetReadOnly() {
}
func (c *componentVersionAccessView) Close() error {
- list := errors.ErrListf("closing %s", common.VersionedElementKey(c))
+ list := errors.ErrListf("closing %s", misc.VersionedElementKey(c))
err := c._componentVersionAccessView.Close()
return list.Add(c.err, err).Result()
}
diff --git a/api/ocm/elements/artifactblob/dockerdaemonblob/options.go b/api/ocm/elements/artifactblob/dockerdaemonblob/options.go
index 60d1907f0d..e4c63db741 100644
--- a/api/ocm/elements/artifactblob/dockerdaemonblob/options.go
+++ b/api/ocm/elements/artifactblob/dockerdaemonblob/options.go
@@ -6,7 +6,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/elements/artifactblob/api"
base "ocm.software/ocm/api/utils/blobaccess/dockerdaemon"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -64,6 +64,6 @@ func WithVersionOverride(v string, flag ...bool) Option {
return wrapBase(base.WithVersionOverride(v, flag...))
}
-func WithOrigin(o common.NameVersion) Option {
+func WithOrigin(o misc.NameVersion) Option {
return wrapBase(base.WithOrigin(o))
}
diff --git a/api/ocm/elements/artifactblob/dockermultiblob/options.go b/api/ocm/elements/artifactblob/dockermultiblob/options.go
index e7f5630a1a..aebd56c872 100644
--- a/api/ocm/elements/artifactblob/dockermultiblob/options.go
+++ b/api/ocm/elements/artifactblob/dockermultiblob/options.go
@@ -6,7 +6,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/elements/artifactblob/api"
base "ocm.software/ocm/api/utils/blobaccess/dockermulti"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -60,10 +60,10 @@ func WithVersion(v string) Option {
return wrapBase(base.WithVersion(v))
}
-func WithOrigin(o common.NameVersion) Option {
+func WithOrigin(o misc.NameVersion) Option {
return wrapBase(base.WithOrigin(o))
}
-func WithPrinter(p common.Printer) Option {
+func WithPrinter(p misc.Printer) Option {
return wrapBase(base.WithPrinter(p))
}
diff --git a/api/ocm/elements/artifactblob/helmblob/options.go b/api/ocm/elements/artifactblob/helmblob/options.go
index 97aa0f3a4e..3d47bf42d2 100644
--- a/api/ocm/elements/artifactblob/helmblob/options.go
+++ b/api/ocm/elements/artifactblob/helmblob/options.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/elements/artifactblob/api"
base "ocm.software/ocm/api/utils/blobaccess/helm"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -82,6 +82,6 @@ func WithHelmRepository(v string) Option {
return wrapBase(base.WithHelmRepository(v))
}
-func WithPrinter(v common.Printer) Option {
+func WithPrinter(v misc.Printer) Option {
return wrapBase(base.WithPrinter(v))
}
diff --git a/api/ocm/elements/artifactblob/npmblob/resource.go b/api/ocm/elements/artifactblob/npmblob/resource.go
index 41d403db5a..198487334b 100644
--- a/api/ocm/elements/artifactblob/npmblob/resource.go
+++ b/api/ocm/elements/artifactblob/npmblob/resource.go
@@ -9,13 +9,13 @@ import (
"ocm.software/ocm/api/ocm/cpi"
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
base "ocm.software/ocm/api/utils/blobaccess/npm"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const TYPE = resourcetypes.NPM_PACKAGE
func Access[M any, P compdesc.ArtifactMetaPointer[M]](ctx ocm.Context, meta P, repo, pkg, version string, opts ...Option) cpi.ArtifactAccess[M] {
- eff := optionutils.EvalOptions(optionutils.WithDefaults(opts, WithHint(common.NewNameVersion(pkg, version).String()), WithCredentialContext(ctx))...)
+ eff := optionutils.EvalOptions(optionutils.WithDefaults(opts, WithHint(misc.NewNameVersion(pkg, version).String()), WithCredentialContext(ctx))...)
if meta.GetType() == "" {
meta.SetType(TYPE)
diff --git a/api/ocm/elements/artifactblob/ociartifactblob/options.go b/api/ocm/elements/artifactblob/ociartifactblob/options.go
index 65a4fe6d0b..2d75aa4162 100644
--- a/api/ocm/elements/artifactblob/ociartifactblob/options.go
+++ b/api/ocm/elements/artifactblob/ociartifactblob/options.go
@@ -7,7 +7,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/elements/artifactblob/api"
base "ocm.software/ocm/api/utils/blobaccess/ociartifact"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -61,6 +61,6 @@ func WithVersion(v string) Option {
return wrapBase(base.WithVersion(v))
}
-func WithPrinter(v common.Printer) Option {
+func WithPrinter(v misc.Printer) Option {
return wrapBase(base.WithPrinter(v))
}
diff --git a/api/ocm/elements/resources.go b/api/ocm/elements/resources.go
index 1938877f02..da3dcfa32a 100644
--- a/api/ocm/elements/resources.go
+++ b/api/ocm/elements/resources.go
@@ -2,10 +2,10 @@ package elements
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- "ocm.software/ocm/api/utils"
)
type ResourceMetaOption interface {
@@ -38,12 +38,12 @@ func (o local) ApplyToResourceMeta(m *compdesc.ResourceMeta) error {
// WithLocalRelation sets the resource relation to metav1.LocalRelation.
func WithLocalRelation(flag ...bool) ResourceMetaOption {
- return local(utils.OptionalDefaultedBool(true, flag...))
+ return local(general.OptionalDefaultedBool(true, flag...))
}
// WithExternalRelation sets the resource relation to metav1.ExternalRelation.
func WithExternalRelation(flag ...bool) ResourceMetaOption {
- return local(!utils.OptionalDefaultedBool(true, flag...))
+ return local(!general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/api/ocm/extensions/accessmethods/helm/method.go b/api/ocm/extensions/accessmethods/helm/method.go
index 683952a6b4..679ef7ce0d 100644
--- a/api/ocm/extensions/accessmethods/helm/method.go
+++ b/api/ocm/extensions/accessmethods/helm/method.go
@@ -13,7 +13,7 @@ import (
"ocm.software/ocm/api/tech/helm"
"ocm.software/ocm/api/tech/helm/identity"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -167,7 +167,7 @@ func (m *accessMethod) getBlob() (blobaccess.BlobAccess, error) {
return nil, errors.ErrInvalid("helm chart", m.spec.HelmChart)
}
- acc, err := helm.DownloadChart(common.NonePrinter, m.comp.GetContext(), name, vers, m.spec.HelmRepository,
+ acc, err := helm.DownloadChart(misc.NonePrinter, m.comp.GetContext(), name, vers, m.spec.HelmRepository,
helm.WithCredentials(identity.GetCredentials(m.comp.GetContext(), m.spec.HelmRepository, m.spec.GetChartName())),
helm.WithKeyring([]byte(m.spec.Keyring)),
helm.WithRootCert([]byte(m.spec.CACert)))
diff --git a/api/ocm/extensions/accessmethods/ociartifact/utils.go b/api/ocm/extensions/accessmethods/ociartifact/utils.go
index 55ba756890..92f52af317 100644
--- a/api/ocm/extensions/accessmethods/ociartifact/utils.go
+++ b/api/ocm/extensions/accessmethods/ociartifact/utils.go
@@ -6,7 +6,7 @@ import (
"ocm.software/ocm/api/oci/grammar"
"ocm.software/ocm/api/ocm/cpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// OCIArtifactReferenceProvider should be implemented by
@@ -41,7 +41,7 @@ func GetOCIArtifactReference(ctx cpi.Context, spec cpi.AccessSpec, cv cpi.Compon
////////////////////////////////////////////////////////////////////////////////
-func Hint(nv common.NameVersion, locator, repo, version string) string {
+func Hint(nv misc.NameVersion, locator, repo, version string) string {
if i := strings.LastIndex(version, "@"); i >= 0 {
version = version[:i] // remove digest
}
@@ -61,7 +61,7 @@ func Hint(nv common.NameVersion, locator, repo, version string) string {
return repository
}
-func repoName(nv common.NameVersion, locator string) string {
+func repoName(nv misc.NameVersion, locator string) string {
if nv.GetName() == "" {
return locator
} else {
diff --git a/api/ocm/extensions/accessmethods/s3/method.go b/api/ocm/extensions/accessmethods/s3/method.go
index b455ab9f0e..d908e94b1f 100644
--- a/api/ocm/extensions/accessmethods/s3/method.go
+++ b/api/ocm/extensions/accessmethods/s3/method.go
@@ -5,11 +5,12 @@ import (
. "github.com/mandelsoft/goutils/exception"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/credentials/identity/hostpath"
"ocm.software/ocm/api/ocm/cpi/accspeccpi"
"ocm.software/ocm/api/ocm/extensions/accessmethods/s3/identity"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessio/downloader"
"ocm.software/ocm/api/utils/accessio/downloader/s3"
@@ -76,7 +77,7 @@ func New(region, bucket, key, version, mediaType string, downloader ...downloade
Key: key,
Version: version,
MediaType: mediaType,
- downloader: utils.Optional(downloader...),
+ downloader: general.Optional(downloader...),
}
}
diff --git a/api/ocm/extensions/actionhandler/plugin/actionhandler.go b/api/ocm/extensions/actionhandler/plugin/actionhandler.go
index b2127bcfa8..a6e105e77a 100644
--- a/api/ocm/extensions/actionhandler/plugin/actionhandler.go
+++ b/api/ocm/extensions/actionhandler/plugin/actionhandler.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/datacontext/action"
"ocm.software/ocm/api/datacontext/action/handlers"
"ocm.software/ocm/api/ocm/plugin"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// pluginHandler delegates action to a plugin based handler.
@@ -29,7 +29,7 @@ func New(p plugin.Plugin, name string) (handlers.ActionHandler, error) {
}, nil
}
-func (b *pluginHandler) Handle(spec action.ActionSpec, creds common.Properties) (action.ActionResult, error) {
+func (b *pluginHandler) Handle(spec action.ActionSpec, creds misc.Properties) (action.ActionResult, error) {
var err error
var creddata json.RawMessage
diff --git a/api/ocm/extensions/attrs/hashattr/attr.go b/api/ocm/extensions/attrs/hashattr/attr.go
index 910c429e16..f7fc62882f 100644
--- a/api/ocm/extensions/attrs/hashattr/attr.go
+++ b/api/ocm/extensions/attrs/hashattr/attr.go
@@ -3,12 +3,13 @@ package hashattr
import (
"fmt"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/ocm/extensions/attrs/signingattr"
ocm "ocm.software/ocm/api/ocm/types"
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/hasher/sha256"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/listformat"
"ocm.software/ocm/api/utils/runtime"
)
@@ -87,7 +88,7 @@ type Attribute struct {
}
func (a *Attribute) GetHasher(ctx ContextProvider, names ...string) Hasher {
- name := utils.Optional(names...)
+ name := general.Optional(names...)
if name != "" {
return signingattr.Get(ctx).GetHasher(name)
}
diff --git a/api/ocm/extensions/attrs/mapocirepoattr/attr.go b/api/ocm/extensions/attrs/mapocirepoattr/attr.go
index 5185a7b810..d39dbfea01 100644
--- a/api/ocm/extensions/attrs/mapocirepoattr/attr.go
+++ b/api/ocm/extensions/attrs/mapocirepoattr/attr.go
@@ -8,10 +8,10 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/oci/grammar"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -192,7 +192,7 @@ func (a *Attribute) Map(name string) string {
}
func (a *Attribute) MapPrefix(name string) string {
- keys := utils.StringMapKeys(a.PrefixMappings)
+ keys := maputils.OrderedKeys(a.PrefixMappings)
for i := range keys {
k := keys[len(keys)-i-1]
if strings.HasPrefix(name, k+grammar.RepositorySeparator) {
diff --git a/api/ocm/extensions/attrs/signingattr/config.go b/api/ocm/extensions/attrs/signingattr/config.go
index c8f04d6b98..e2e351d4b1 100644
--- a/api/ocm/extensions/attrs/signingattr/config.go
+++ b/api/ocm/extensions/attrs/signingattr/config.go
@@ -8,6 +8,7 @@ import (
"slices"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/vfs/pkg/vfs"
cfgcpi "ocm.software/ocm/api/config/cpi"
@@ -15,7 +16,6 @@ import (
"ocm.software/ocm/api/datacontext/attrs/rootcertsattr"
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -171,7 +171,7 @@ func (a *Config) AddPrivateKeyFile(name, path string, fss ...vfs.FileSystem) {
}
func (a *Config) AddRootCertificateFile(name string, fss ...vfs.FileSystem) {
- a.RootCertificates = append(a.RootCertificates, KeySpec{Path: name, FileSystem: utils.Optional(fss...)})
+ a.RootCertificates = append(a.RootCertificates, KeySpec{Path: name, FileSystem: general.Optional(fss...)})
}
func (a *Config) addKeyData(set *map[string]KeySpec, name string, data []byte) {
diff --git a/api/ocm/extensions/blobhandler/handlers/generic/ocirepo/blobhandler.go b/api/ocm/extensions/blobhandler/handlers/generic/ocirepo/blobhandler.go
index 10d81d1828..efab20781f 100644
--- a/api/ocm/extensions/blobhandler/handlers/generic/ocirepo/blobhandler.go
+++ b/api/ocm/extensions/blobhandler/handlers/generic/ocirepo/blobhandler.go
@@ -7,6 +7,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/sliceutils"
"ocm.software/ocm/api/oci"
@@ -15,7 +16,6 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/accessmethods/ociartifact"
"ocm.software/ocm/api/ocm/extensions/attrs/ociuploadattr"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
)
@@ -37,7 +37,7 @@ type artifactHandler struct {
}
func NewArtifactHandler(repospec ...*ociuploadattr.Attribute) cpi.BlobHandler {
- return &artifactHandler{utils.Optional(repospec...)}
+ return &artifactHandler{general.Optional(repospec...)}
}
func (b *artifactHandler) StoreBlob(blob cpi.BlobAccess, artType, hint string, global cpi.AccessSpec, ctx cpi.StorageContext) (cpi.AccessSpec, error) {
diff --git a/api/ocm/extensions/blobhandler/handlers/ocm/comparch/blobhandler.go b/api/ocm/extensions/blobhandler/handlers/ocm/comparch/blobhandler.go
index 9e05b22440..3f19ffd807 100644
--- a/api/ocm/extensions/blobhandler/handlers/ocm/comparch/blobhandler.go
+++ b/api/ocm/extensions/blobhandler/handlers/ocm/comparch/blobhandler.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/attrs/compatattr"
storagecontext "ocm.software/ocm/api/ocm/extensions/blobhandler/handlers/ocm"
"ocm.software/ocm/api/ocm/extensions/repositories/comparch"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// Deprecated: Component Archive (CA) - https://kubernetes.slack.com/archives/C05UWBE8R1D/p1734357630853489
@@ -45,7 +45,7 @@ func (b *blobHandler) StoreBlob(blob cpi.BlobAccess, artType, hint string, globa
if err != nil {
return nil, err
}
- path := common.DigestToFileName(digest.Digest(ref))
+ path := misc.DigestToFileName(digest.Digest(ref))
if compatattr.Get(ctx.GetContext()) {
return localfsblob.New(path, blob.MimeType()), nil
} else {
diff --git a/api/ocm/extensions/blobhandler/handlers/ocm/ctx.go b/api/ocm/extensions/blobhandler/handlers/ocm/ctx.go
index 829c262a95..ef5298e388 100644
--- a/api/ocm/extensions/blobhandler/handlers/ocm/ctx.go
+++ b/api/ocm/extensions/blobhandler/handlers/ocm/ctx.go
@@ -1,8 +1,9 @@
package ocm
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/ocm/cpi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
)
@@ -27,7 +28,7 @@ func New(repo cpi.Repository, compname string, access BlobSink, impltyp string,
return &DefaultStorageContext{
DefaultStorageContext: *cpi.NewDefaultStorageContext(repo, compname, cpi.ImplementationRepositoryType{cpi.CONTEXT_TYPE, impltyp}),
Sink: access,
- Payload: utils.Optional(payload...),
+ Payload: general.Optional(payload...),
}
}
diff --git a/api/ocm/extensions/download/download.go b/api/ocm/extensions/download/download.go
index 36313d7615..947889e4c4 100644
--- a/api/ocm/extensions/download/download.go
+++ b/api/ocm/extensions/download/download.go
@@ -1,18 +1,19 @@
package download
import (
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
type Options struct {
- Printer common.Printer
+ Printer misc.Printer
FileSystem vfs.FileSystem
}
@@ -44,7 +45,7 @@ func WithFileSystem(fs vfs.FileSystem) Option {
////////////////////////////////////////////////////////////////////////////////
type printer struct {
- pr common.Printer
+ pr misc.Printer
}
func (o *printer) ApplyTo(opts *Options) {
@@ -53,7 +54,7 @@ func (o *printer) ApplyTo(opts *Options) {
}
}
-func WithPrinter(pr common.Printer) Option {
+func WithPrinter(pr misc.Printer) Option {
return &printer{pr}
}
@@ -63,7 +64,7 @@ func DownloadResource(ctx cpi.ContextProvider, r cpi.ResourceAccess, path string
eff := optionutils.EvalOptions(opts...)
fs := utils.FileSystem(eff.FileSystem)
- pr := utils.OptionalDefaulted(common.NewPrinter(nil), eff.Printer)
+ pr := general.OptionalDefaulted(misc.NewPrinter(nil), eff.Printer)
_, tgt, err := For(ctx).Download(pr, r, path, fs)
return tgt, err
}
diff --git a/api/ocm/extensions/download/handlers/blob/handler.go b/api/ocm/extensions/download/handlers/blob/handler.go
index af7449bfad..9f748a2338 100644
--- a/api/ocm/extensions/download/handlers/blob/handler.go
+++ b/api/ocm/extensions/download/handlers/blob/handler.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/download"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Handler struct{}
@@ -25,7 +25,7 @@ func wrapErr(err error, racc cpi.ResourceAccess) error {
return errors.Wrapf(err, "resource %s/%s%s", m.GetName(), m.GetVersion(), m.ExtraIdentity.String())
}
-func (_ Handler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (_ Handler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
rd, err := cpi.GetResourceReader(racc)
if err != nil {
return true, "", wrapErr(err, racc)
diff --git a/api/ocm/extensions/download/handlers/blueprint/blueprint_test.go b/api/ocm/extensions/download/handlers/blueprint/blueprint_test.go
index 952ac0aff6..91af2db4a5 100644
--- a/api/ocm/extensions/download/handlers/blueprint/blueprint_test.go
+++ b/api/ocm/extensions/download/handlers/blueprint/blueprint_test.go
@@ -17,7 +17,7 @@ import (
ctfocm "ocm.software/ocm/api/ocm/extensions/repositories/ctf"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -88,7 +88,7 @@ var _ = Describe("download blueprint", func() {
racc := Must(cv.GetResourceByIndex(index))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
ok, path := Must2(download.For(env).Download(p, racc, DOWNLOAD_PATH, env))
Expect(ok).To(BeTrue())
Expect(path).To(Equal(DOWNLOAD_PATH))
diff --git a/api/ocm/extensions/download/handlers/blueprint/extractor.go b/api/ocm/extensions/download/handlers/blueprint/extractor.go
index 481eda4f42..7ddbda5270 100644
--- a/api/ocm/extensions/download/handlers/blueprint/extractor.go
+++ b/api/ocm/extensions/download/handlers/blueprint/extractor.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/compression"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -21,7 +21,7 @@ const (
BLUEPRINT_MIMETYPE_COMPRESSED = "application/vnd.gardener.landscaper.blueprint.v1+tar+gzip"
)
-func ExtractArchive(pr common.Printer, _ *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (_ bool, rerr error) {
+func ExtractArchive(pr misc.Printer, _ *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (_ bool, rerr error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&rerr, "extracting archived (and compressed) blueprint")
@@ -54,7 +54,7 @@ func ExtractArchive(pr common.Printer, _ *Handler, access blobaccess.DataAccess,
return true, nil
}
-func ExtractArtifact(pr common.Printer, handler *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (_ bool, rerr error) {
+func ExtractArtifact(pr misc.Printer, handler *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (_ bool, rerr error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&rerr, "extracting oci artifact containing a blueprint")
diff --git a/api/ocm/extensions/download/handlers/blueprint/handler.go b/api/ocm/extensions/download/handlers/blueprint/handler.go
index f5736d8514..7aed2312a5 100644
--- a/api/ocm/extensions/download/handlers/blueprint/handler.go
+++ b/api/ocm/extensions/download/handlers/blueprint/handler.go
@@ -2,6 +2,7 @@ package blueprint
import (
"github.com/mandelsoft/goutils/finalizer"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/set"
"github.com/mandelsoft/vfs/pkg/vfs"
@@ -9,10 +10,9 @@ import (
"ocm.software/ocm/api/ocm/cpi"
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
registry "ocm.software/ocm/api/ocm/extensions/download"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -21,7 +21,7 @@ const (
CONFIG_MIME_TYPE = "application/vnd.gardener.landscaper.blueprint.config.v1"
)
-type Extractor func(pr common.Printer, handler *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (bool, error)
+type Extractor func(pr misc.Printer, handler *Handler, access blobaccess.DataAccess, path string, fs vfs.FileSystem) (bool, error)
var (
supportedArtifactTypes []string
@@ -54,7 +54,7 @@ func init() {
}
func New(configmimetypes ...string) *Handler {
- if len(configmimetypes) == 0 || utils.Optional(configmimetypes...) == "" {
+ if len(configmimetypes) == 0 || general.Optional(configmimetypes...) == "" {
configmimetypes = []string{CONFIG_MIME_TYPE}
}
return &Handler{
@@ -62,7 +62,7 @@ func New(configmimetypes ...string) *Handler {
}
}
-func (h *Handler) Download(pr common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
+func (h *Handler) Download(pr misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&err, "downloading blueprint")
diff --git a/api/ocm/extensions/download/handlers/blueprint/registration.go b/api/ocm/extensions/download/handlers/blueprint/registration.go
index 7d572af86d..3cf8c3e7af 100644
--- a/api/ocm/extensions/download/handlers/blueprint/registration.go
+++ b/api/ocm/extensions/download/handlers/blueprint/registration.go
@@ -6,10 +6,10 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/download"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/listformat"
"ocm.software/ocm/api/utils/registrations"
)
@@ -85,7 +85,7 @@ If the config is given, the target is used as repository name prefixed with an
optional repository prefix given by the configuration.
The following artifact media types are supported:
-`+listformat.FormatList("", utils.StringMapKeys(mimeTypeExtractorRegistry)...)+`
+`+listformat.FormatList("", maputils.OrderedKeys(mimeTypeExtractorRegistry)...)+`
It accepts a config with the following fields:
`+listformat.FormatMapElements("", AttributeDescription())+`
diff --git a/api/ocm/extensions/download/handlers/blueprint/registration_test.go b/api/ocm/extensions/download/handlers/blueprint/registration_test.go
index 192eb26b7b..6eba043cd0 100644
--- a/api/ocm/extensions/download/handlers/blueprint/registration_test.go
+++ b/api/ocm/extensions/download/handlers/blueprint/registration_test.go
@@ -17,7 +17,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/ctf"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -67,7 +67,7 @@ var _ = Describe("blueprint downloader registration", func() {
defer Close(cv)
racc := Must(cv.GetResourceByIndex(0))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
ok, path := Must2(download.For(env).Download(p, racc, DOWNLOAD_PATH, env))
Expect(ok).To(BeTrue())
Expect(path).To(Equal(DOWNLOAD_PATH))
diff --git a/api/ocm/extensions/download/handlers/dirtree/dirtree_test.go b/api/ocm/extensions/download/handlers/dirtree/dirtree_test.go
index 2a681ddc58..4a1d097592 100644
--- a/api/ocm/extensions/download/handlers/dirtree/dirtree_test.go
+++ b/api/ocm/extensions/download/handlers/dirtree/dirtree_test.go
@@ -23,7 +23,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -68,7 +68,7 @@ var _ = Describe("artifact management", func() {
h := dirtree.New(ociv1.MediaTypeImageConfig)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(h.Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
@@ -91,7 +91,7 @@ result: 2 file(s) with 25 byte(s) written
h := dirtree.New(ociv1.MediaTypeImageConfig).SetArchiveMode(true)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path, err := h.Download(p, res, "target", env)
Expect(err).To(Succeed())
Expect(accepted).To(BeTrue())
@@ -117,7 +117,7 @@ target: 3584 byte(s) written
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path, err := download.For(env).Download(p, res, "result", env)
Expect(err).To(Succeed())
Expect(accepted).To(BeTrue())
@@ -167,7 +167,7 @@ result: 2 file(s) with 25 byte(s) written
h := dirtree.New(ociv1.MediaTypeImageConfig)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(h.Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
@@ -190,7 +190,7 @@ result: 2 file(s) with 25 byte(s) written
h := dirtree.New(ociv1.MediaTypeImageConfig).SetArchiveMode(true)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(h.Download(p, res, "target", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("target"))
@@ -215,7 +215,7 @@ target: 3584 byte(s) written
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(download.For(env).Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
@@ -267,7 +267,7 @@ result: 2 file(s) with 25 byte(s) written
h := dirtree.New(ociv1.MediaTypeImageConfig)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(h.Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
@@ -290,7 +290,7 @@ result: 2 file(s) with 25 byte(s) written
h := dirtree.New(ociv1.MediaTypeImageConfig).SetArchiveMode(true)
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(h.Download(p, res, "target", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("target"))
@@ -315,7 +315,7 @@ target: 3584 byte(s) written
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(download.For(env).Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
diff --git a/api/ocm/extensions/download/handlers/dirtree/handler.go b/api/ocm/extensions/download/handlers/dirtree/handler.go
index 8bf8ca1803..557f203cfd 100644
--- a/api/ocm/extensions/download/handlers/dirtree/handler.go
+++ b/api/ocm/extensions/download/handlers/dirtree/handler.go
@@ -26,7 +26,7 @@ import (
"ocm.software/ocm/api/utils/compression"
"ocm.software/ocm/api/utils/iotools"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -73,7 +73,7 @@ func (h *Handler) SetArchiveMode(b bool) *Handler {
return h
}
-func (h *Handler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (h *Handler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
lfs, r, err := h.GetForResource(racc)
if err != nil || (lfs == nil && r == nil) {
return err != nil, "", err
@@ -84,7 +84,7 @@ func (h *Handler) Download(p common.Printer, racc cpi.ResourceAccess, path strin
return h.download(p, fs, path, lfs, r)
}
-func (h *Handler) DownloadFromArtifactSet(pr common.Printer, set *artifactset.ArtifactSet, path string, fs vfs.FileSystem) (bool, string, error) {
+func (h *Handler) DownloadFromArtifactSet(pr misc.Printer, set *artifactset.ArtifactSet, path string, fs vfs.FileSystem) (bool, string, error) {
lfs, r, err := h.GetForArtifactSet(set)
if err != nil || (lfs == nil && r != nil) {
return err != nil, "", err
@@ -92,10 +92,10 @@ func (h *Handler) DownloadFromArtifactSet(pr common.Printer, set *artifactset.Ar
if path == "" {
path = set.GetMain().String()
}
- return h.download(common.NewPrinter(nil), fs, path, lfs, r)
+ return h.download(misc.NewPrinter(nil), fs, path, lfs, r)
}
-func (h *Handler) download(pr common.Printer, fs vfs.FileSystem, path string, lfs vfs.FileSystem, r io.ReadCloser) (ok bool, dest string, err error) {
+func (h *Handler) download(pr misc.Printer, fs vfs.FileSystem, path string, lfs vfs.FileSystem, r io.ReadCloser) (ok bool, dest string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagation(&err)
diff --git a/api/ocm/extensions/download/handlers/dirtree/registration_test.go b/api/ocm/extensions/download/handlers/dirtree/registration_test.go
index 897b764498..d40659a428 100644
--- a/api/ocm/extensions/download/handlers/dirtree/registration_test.go
+++ b/api/ocm/extensions/download/handlers/dirtree/registration_test.go
@@ -19,7 +19,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -58,7 +58,7 @@ var _ = Describe("artifact management", func() {
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(download.For(env).Download(p, res, "result", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("result"))
@@ -81,7 +81,7 @@ result: 2 file(s) with 25 byte(s) written
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(download.For(env).Download(p, res, "target", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("target"))
@@ -116,7 +116,7 @@ registrations:
defer Close(cv)
res := Must(cv.GetResource(metav1.NewIdentity(RESOURCE)))
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
accepted, path := Must2(download.For(env).Download(p, res, "target", env))
Expect(accepted).To(BeTrue())
Expect(path).To(Equal("target"))
diff --git a/api/ocm/extensions/download/handlers/executable/handler.go b/api/ocm/extensions/download/handlers/executable/handler.go
index 8bfe9f1479..5137b26d1d 100644
--- a/api/ocm/extensions/download/handlers/executable/handler.go
+++ b/api/ocm/extensions/download/handlers/executable/handler.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/download"
"ocm.software/ocm/api/utils/compression"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Handler struct{}
@@ -32,7 +32,7 @@ func wrapErr(err error, racc cpi.ResourceAccess) error {
return errors.Wrapf(err, "resource %s/%s%s", m.GetName(), m.GetVersion(), m.ExtraIdentity.String())
}
-func (_ Handler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (_ Handler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
rd, err := cpi.GetResourceReader(racc)
if err != nil {
return true, "", wrapErr(err, racc)
diff --git a/api/ocm/extensions/download/handlers/helm/download.go b/api/ocm/extensions/download/handlers/helm/download.go
index 6cbc663e87..b7a05273ff 100644
--- a/api/ocm/extensions/download/handlers/helm/download.go
+++ b/api/ocm/extensions/download/handlers/helm/download.go
@@ -12,15 +12,15 @@ import (
"ocm.software/ocm/api/oci/extensions/repositories/artifactset"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func Download(p common.Printer, ctx oci.Context, ref string, path string, fs vfs.FileSystem, creds ...credentials.CredentialsSource) error {
+func Download(p misc.Printer, ctx oci.Context, ref string, path string, fs vfs.FileSystem, creds ...credentials.CredentialsSource) error {
_, _, _, err := Download2(p, ctx, ref, path, fs, false, creds...)
return err
}
-func Download2(p common.Printer, ctx oci.Context, ref string, path string, fs vfs.FileSystem, asartifact bool, creds ...credentials.CredentialsSource) (chart, prov string, aset string, err error) {
+func Download2(p misc.Printer, ctx oci.Context, ref string, path string, fs vfs.FileSystem, asartifact bool, creds ...credentials.CredentialsSource) (chart, prov string, aset string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&err, "downloading helm chart %q", ref)
diff --git a/api/ocm/extensions/download/handlers/helm/handler.go b/api/ocm/extensions/download/handlers/helm/handler.go
index 7a72f710a9..3ee90f6038 100644
--- a/api/ocm/extensions/download/handlers/helm/handler.go
+++ b/api/ocm/extensions/download/handlers/helm/handler.go
@@ -19,7 +19,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const TYPE = resourcetypes.HELM_CHART
@@ -41,7 +41,7 @@ func AssureArchiveSuffix(name string) string {
return name
}
-func (h Handler) fromArchive(p common.Printer, meth cpi.AccessMethod, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
+func (h Handler) fromArchive(p misc.Printer, meth cpi.AccessMethod, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
basetype := mime.BaseType(helmregistry.ChartLayerMediaType)
if mime.BaseType(meth.MimeType()) != basetype {
return false, "", nil
@@ -56,7 +56,7 @@ func (h Handler) fromArchive(p common.Printer, meth cpi.AccessMethod, path strin
return true, chart, nil
}
-func (h Handler) fromOCIArtifact(p common.Printer, meth cpi.AccessMethod, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
+func (h Handler) fromOCIArtifact(p misc.Printer, meth cpi.AccessMethod, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&err, "from OCI artifact")
@@ -82,7 +82,7 @@ func (h Handler) fromOCIArtifact(p common.Printer, meth cpi.AccessMethod, path s
return true, chart, nil
}
-func (h Handler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
+func (h Handler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (_ bool, _ string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&err, "downloading helm chart")
@@ -101,7 +101,7 @@ func (h Handler) Download(p common.Printer, racc cpi.ResourceAccess, path string
return h.fromOCIArtifact(p, meth, path, fs)
}
-func download(p common.Printer, art oci.ArtifactAccess, path string, fs vfs.FileSystem) (chart, prov string, err error) {
+func download(p misc.Printer, art oci.ArtifactAccess, path string, fs vfs.FileSystem) (chart, prov string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagation(&err)
@@ -138,7 +138,7 @@ func download(p common.Printer, art oci.ArtifactAccess, path string, fs vfs.File
return chart, prov, err
}
-func write(p common.Printer, blob blobaccess.DataReader, path string, fs vfs.FileSystem) (err error) {
+func write(p misc.Printer, blob blobaccess.DataReader, path string, fs vfs.FileSystem) (err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagation(&err)
diff --git a/api/ocm/extensions/download/handlers/ocirepo/handler.go b/api/ocm/extensions/download/handlers/ocirepo/handler.go
index b6b8dcad66..d79695e69f 100644
--- a/api/ocm/extensions/download/handlers/ocirepo/handler.go
+++ b/api/ocm/extensions/download/handlers/ocirepo/handler.go
@@ -21,7 +21,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/attrs/ociuploadattr"
"ocm.software/ocm/api/ocm/extensions/download"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
////////////////////////////////////////////////////////////////////////////////
@@ -34,7 +34,7 @@ func New(repospec ...*ociuploadattr.Attribute) download.Handler {
return &handler{spec: general.Optional(repospec...)}
}
-func (h *handler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (accepted bool, target string, err error) {
+func (h *handler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (accepted bool, target string, err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagationf(&err, "upload to OCI registry")
diff --git a/api/ocm/extensions/download/handlers/plugin/download_test.go b/api/ocm/extensions/download/handlers/plugin/download_test.go
index e2f1dcfe87..a9f15924eb 100644
--- a/api/ocm/extensions/download/handlers/plugin/download_test.go
+++ b/api/ocm/extensions/download/handlers/plugin/download_test.go
@@ -23,7 +23,7 @@ import (
"ocm.software/ocm/api/ocm/plugin/plugins"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/runtime"
)
@@ -114,7 +114,7 @@ var _ = Describe("setup plugin cache", func() {
file := vfs.Join(env.FileSystem(), repodir, "download")
octx, buf := out.NewBuffered()
- ok, eff, err := download.For(env).Download(common.NewPrinter(octx.StdOut()), racc, file, nil)
+ ok, eff, err := download.For(env).Download(misc.NewPrinter(octx.StdOut()), racc, file, nil)
MustBeSuccessful(err)
Expect(buf.String()).To(Equal(""))
diff --git a/api/ocm/extensions/download/handlers/plugin/handler.go b/api/ocm/extensions/download/handlers/plugin/handler.go
index 0b08654539..248f01f366 100644
--- a/api/ocm/extensions/download/handlers/plugin/handler.go
+++ b/api/ocm/extensions/download/handlers/plugin/handler.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/ocm/plugin"
"ocm.software/ocm/api/ocm/plugin/descriptor"
"ocm.software/ocm/api/utils/accessio"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// pluginHandler delegates download format of artifacts to a plugin based handler.
@@ -33,7 +33,7 @@ func New(p plugin.Plugin, name string, config []byte) (download.Handler, error)
}, nil
}
-func (b *pluginHandler) Download(_ common.Printer, racc cpi.ResourceAccess, path string, _ vfs.FileSystem) (resp bool, eff string, rerr error) {
+func (b *pluginHandler) Download(_ misc.Printer, racc cpi.ResourceAccess, path string, _ vfs.FileSystem) (resp bool, eff string, rerr error) {
m, err := racc.AccessMethod()
if err != nil {
return true, "", err
diff --git a/api/ocm/extensions/download/registry.go b/api/ocm/extensions/download/registry.go
index 88264c6d5d..d5d763e90b 100644
--- a/api/ocm/extensions/download/registry.go
+++ b/api/ocm/extensions/download/registry.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/ocmutils/registry"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/registrations"
"ocm.software/ocm/api/utils/runtimefinalizer"
)
@@ -19,7 +19,7 @@ import (
const ALL = "*"
type Handler interface {
- Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error)
+ Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error)
}
const DEFAULT_BLOBHANDLER_PRIO = 100
@@ -34,7 +34,7 @@ type MultiHandler []Handler
var _ sort.Interface = MultiHandler(nil)
-func (m MultiHandler) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (m MultiHandler) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
errs := errors.ErrListf("download")
for _, h := range m {
ok, p, err := h.Download(p, racc, path, fs)
@@ -76,7 +76,7 @@ type Registry interface {
Register(hdlr Handler, olist ...HandlerOption)
LookupHandler(art, media string) MultiHandler
Handler
- DownloadAsBlob(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error)
+ DownloadAsBlob(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error)
}
func AsHandlerRegistrationRegistry(r Registry) registrations.HandlerRegistrationRegistry[Target, HandlerOption] {
@@ -140,8 +140,8 @@ func (r *_registry) getHandlers(arttype, mediatype string) MultiHandler {
return list
}
-func (r *_registry) Download(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
- p = common.AssurePrinter(p)
+func (r *_registry) Download(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+ p = misc.AssurePrinter(p)
art := racc.Meta().GetType()
m, err := racc.AccessMethod()
if err != nil {
@@ -155,11 +155,11 @@ func (r *_registry) Download(p common.Printer, racc cpi.ResourceAccess, path str
return r.download(r.LookupHandler(ALL, ""), p, racc, path, fs)
}
-func (r *_registry) DownloadAsBlob(p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (r *_registry) DownloadAsBlob(p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
return r.download(r.LookupHandler(ALL, ""), p, racc, path, fs)
}
-func (r *_registry) download(list MultiHandler, p common.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
+func (r *_registry) download(list MultiHandler, p misc.Printer, racc cpi.ResourceAccess, path string, fs vfs.FileSystem) (bool, string, error) {
sort.Stable(list)
return list.Download(p, racc, path, fs)
}
diff --git a/api/ocm/extensions/labels/routingslip/internal/entrytypes.go b/api/ocm/extensions/labels/routingslip/internal/entrytypes.go
index dbb7f42051..7e06360a63 100644
--- a/api/ocm/extensions/labels/routingslip/internal/entrytypes.go
+++ b/api/ocm/extensions/labels/routingslip/internal/entrytypes.go
@@ -7,13 +7,13 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
"github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/sliceutils"
"github.com/modern-go/reflect2"
"ocm.software/ocm/api/ocm/cpi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flagsets"
"ocm.software/ocm/api/utils/cobrautils/flagsets/flagsetscheme"
"ocm.software/ocm/api/utils/runtime"
@@ -145,7 +145,7 @@ func ToGenericEntry(spec Entry) (*GenericEntry, error) {
}
func NewGenericEntry(data []byte, unmarshaler ...runtime.Unmarshaler) (Entry, error) {
- return generics.CastPointerR[Entry](newGenericEntry(data, utils.Optional(unmarshaler...)))
+ return generics.CastPointerR[Entry](newGenericEntry(data, general.Optional(unmarshaler...)))
}
func newGenericEntry(data []byte, unmarshaler runtime.Unmarshaler) (*GenericEntry, error) {
diff --git a/api/ocm/extensions/labels/routingslip/label.go b/api/ocm/extensions/labels/routingslip/label.go
index 0bce149449..ea9d1f1633 100644
--- a/api/ocm/extensions/labels/routingslip/label.go
+++ b/api/ocm/extensions/labels/routingslip/label.go
@@ -3,24 +3,24 @@ package routingslip
import (
"sort"
+ "github.com/mandelsoft/goutils/general"
"github.com/opencontainers/go-digest"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/valuemergehandler/handlers/maplistmerge"
"ocm.software/ocm/api/ocm/valuemergehandler/handlers/simplemapmerge"
"ocm.software/ocm/api/ocm/valuemergehandler/hpi"
- "ocm.software/ocm/api/utils"
)
const NAME = "routing-slips"
type LabelValue map[string]HistoryEntries
-var spec = utils.Must(hpi.NewSpecification(
+var spec = general.Must(hpi.NewSpecification(
simplemapmerge.ALGORITHM,
simplemapmerge.NewConfig(
"",
- utils.Must(hpi.NewSpecification(
+ general.Must(hpi.NewSpecification(
maplistmerge.ALGORITHM,
maplistmerge.NewConfig("digest", maplistmerge.MODE_INBOUND),
)),
diff --git a/api/ocm/extensions/labels/routingslip/transfer_test.go b/api/ocm/extensions/labels/routingslip/transfer_test.go
index 113efc4584..ad8864d4fc 100644
--- a/api/ocm/extensions/labels/routingslip/transfer_test.go
+++ b/api/ocm/extensions/labels/routingslip/transfer_test.go
@@ -18,7 +18,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -64,7 +64,7 @@ var _ = Describe("management", func() {
target := Must(ctf.Open(env, accessobj.ACC_WRITABLE|accessobj.ACC_CREATE, TARGET, 0o700, env))
finalize.Close(target, "target")
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
MustBeSuccessful(transfer.TransferVersion(pr, nil, cv, target, Must(standard.New())))
diff --git a/api/ocm/extensions/labels/routingslip/usage.go b/api/ocm/extensions/labels/routingslip/usage.go
index 2d61401e3d..198d0cbe01 100644
--- a/api/ocm/extensions/labels/routingslip/usage.go
+++ b/api/ocm/extensions/labels/routingslip/usage.go
@@ -4,7 +4,9 @@ import (
"fmt"
"strings"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/stringutils"
+
"ocm.software/ocm/api/utils/cobrautils/flagsets"
"ocm.software/ocm/api/utils/runtime"
)
@@ -56,24 +58,24 @@ kinds of entries can be configured using the --entry
option.
}
}
- for _, t := range utils.StringMapKeys(descs) {
+ for _, t := range maputils.OrderedKeys(descs) {
info := descs[t]
desc := strings.Trim(info.desc, "\n")
if desc != "" {
- s = fmt.Sprintf("%s\n- Entry type %s
\n\n%s\n\n", s, t, utils.IndentLines(desc, " "))
+ s = fmt.Sprintf("%s\n- Entry type %s
\n\n%s\n\n", s, t, stringutils.IndentLines(desc, " "))
format := ""
- for _, f := range utils.StringMapKeys(info.versions) {
+ for _, f := range maputils.OrderedKeys(info.versions) {
desc = strings.Trim(info.versions[f], "\n")
if desc != "" {
- format = fmt.Sprintf("%s\n- Version %s
\n\n%s\n", format, f, utils.IndentLines(desc, " "))
+ format = fmt.Sprintf("%s\n- Version %s
\n\n%s\n", format, f, stringutils.IndentLines(desc, " "))
}
}
if format != "" {
- s += fmt.Sprintf(" The following versions are supported:\n%s\n", strings.Trim(utils.IndentLines(format, " "), "\n"))
+ s += fmt.Sprintf(" The following versions are supported:\n%s\n", strings.Trim(stringutils.IndentLines(format, " "), "\n"))
}
}
- s += utils.IndentLines(flagsets.FormatConfigOptions(info.options), " ")
+ s += stringutils.IndentLines(flagsets.FormatConfigOptions(info.options), " ")
}
return s
}
diff --git a/api/ocm/extensions/pubsub/interface.go b/api/ocm/extensions/pubsub/interface.go
index 744a14a82a..7807f6b8d8 100644
--- a/api/ocm/extensions/pubsub/interface.go
+++ b/api/ocm/extensions/pubsub/interface.go
@@ -14,7 +14,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/utils/errkind"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/runtime/descriptivetype"
)
@@ -54,7 +54,7 @@ type (
// PubSubMethod is the handler able to publish
// an OCM component version event.
type PubSubMethod interface {
- NotifyComponentVersion(version common.NameVersion) error
+ NotifyComponentVersion(version misc.NameVersion) error
}
// TypeScheme is the registry for specification types for
diff --git a/api/ocm/extensions/pubsub/pubsub_test.go b/api/ocm/extensions/pubsub/pubsub_test.go
index cac6033e3c..9355262da2 100644
--- a/api/ocm/extensions/pubsub/pubsub_test.go
+++ b/api/ocm/extensions/pubsub/pubsub_test.go
@@ -17,7 +17,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/pubsub"
"ocm.software/ocm/api/ocm/extensions/pubsub/types/compound"
"ocm.software/ocm/api/ocm/extensions/repositories/composition"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -30,7 +30,7 @@ const (
type Provider struct {
lock sync.Mutex
settings map[string]pubsub.PubSubSpec
- published sliceutils.Slice[common.NameVersion]
+ published sliceutils.Slice[misc.NameVersion]
}
var _ pubsub.Provider = (*Provider)(nil)
@@ -114,7 +114,7 @@ type Method struct {
var _ pubsub.PubSubMethod = (*Method)(nil)
-func (m *Method) NotifyComponentVersion(version common.NameVersion) error {
+func (m *Method) NotifyComponentVersion(version misc.NameVersion) error {
m.provider.lock.Lock()
defer m.provider.lock.Unlock()
@@ -148,7 +148,7 @@ var _ = Describe("Pub SubTest Environment", func() {
Expect(prov.published).To(BeNil())
MustBeSuccessful(repo.AddComponentVersion(cv))
- Expect(prov.published).To(ConsistOf(common.VersionedElementKey(cv)))
+ Expect(prov.published).To(ConsistOf(misc.VersionedElementKey(cv)))
})
It("indirect setting", func() {
@@ -164,6 +164,6 @@ var _ = Describe("Pub SubTest Environment", func() {
Expect(prov.published).To(BeNil())
MustBeSuccessful(repo.AddComponentVersion(cv))
- Expect(prov.published).To(ConsistOf(common.VersionedElementKey(cv)))
+ Expect(prov.published).To(ConsistOf(misc.VersionedElementKey(cv)))
})
})
diff --git a/api/ocm/extensions/pubsub/types/compound/type.go b/api/ocm/extensions/pubsub/types/compound/type.go
index 7505344d9b..4707a0022a 100644
--- a/api/ocm/extensions/pubsub/types/compound/type.go
+++ b/api/ocm/extensions/pubsub/types/compound/type.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/pubsub"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -93,7 +93,7 @@ type Method struct {
var _ pubsub.PubSubMethod = (*Method)(nil)
-func (m *Method) NotifyComponentVersion(version common.NameVersion) error {
+func (m *Method) NotifyComponentVersion(version misc.NameVersion) error {
list := errors.ErrList()
for _, m := range m.meths {
list.Add(m.NotifyComponentVersion(version))
diff --git a/api/ocm/extensions/pubsub/types/redis/redis_test.go b/api/ocm/extensions/pubsub/types/redis/redis_test.go
index 8c1176faca..bcf0d82e40 100644
--- a/api/ocm/extensions/pubsub/types/redis/redis_test.go
+++ b/api/ocm/extensions/pubsub/types/redis/redis_test.go
@@ -17,7 +17,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/composition"
"ocm.software/ocm/api/ocm/extensions/repositories/ctf"
"ocm.software/ocm/api/utils/accessio"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -38,7 +38,7 @@ var _ = Describe("Test Environment", func() {
env.CredentialsContext().SetCredentialsForConsumer(
identity.GetConsumerId("localhost:6379", "ocm", 0),
- credentials.NewCredentials(common.Properties{identity.ATTR_PASSWORD: "redis-test-0815"}),
+ credentials.NewCredentials(misc.Properties{identity.ATTR_PASSWORD: "redis-test-0815"}),
)
repo = Must(ctf.Open(env, ctf.ACC_WRITABLE, ARCH, 0o600, env))
diff --git a/api/ocm/extensions/pubsub/types/redis/type.go b/api/ocm/extensions/pubsub/types/redis/type.go
index 247710f650..d5eba7d289 100644
--- a/api/ocm/extensions/pubsub/types/redis/type.go
+++ b/api/ocm/extensions/pubsub/types/redis/type.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/pubsub"
"ocm.software/ocm/api/ocm/extensions/pubsub/types/redis/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -78,7 +78,7 @@ type Method struct {
var _ pubsub.PubSubMethod = (*Method)(nil)
-func (m *Method) NotifyComponentVersion(version common.NameVersion) error {
+func (m *Method) NotifyComponentVersion(version misc.NameVersion) error {
// TODO: update to credential provider interface
opts := &redis.Options{
Addr: m.spec.ServerAddr,
diff --git a/api/ocm/extensions/pubsub/utils.go b/api/ocm/extensions/pubsub/utils.go
index 31b2abc4b1..be6ffc0917 100644
--- a/api/ocm/extensions/pubsub/utils.go
+++ b/api/ocm/extensions/pubsub/utils.go
@@ -6,7 +6,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/utils/listformat"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -38,7 +38,7 @@ func PubSubForRepo(repo cpi.Repository) (PubSubMethod, error) {
return spec.PubSubMethod(repo)
}
-func Notify(repo cpi.Repository, nv common.NameVersion) error {
+func Notify(repo cpi.Repository, nv misc.NameVersion) error {
m, err := PubSubForRepo(repo)
if m == nil || err != nil {
return err
diff --git a/api/ocm/extensions/repositories/comparch/componentarchive.go b/api/ocm/extensions/repositories/comparch/componentarchive.go
index f291bcd9d8..555a02111a 100644
--- a/api/ocm/extensions/repositories/comparch/componentarchive.go
+++ b/api/ocm/extensions/repositories/comparch/componentarchive.go
@@ -14,7 +14,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/errkind"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
)
@@ -219,7 +219,7 @@ func (c *componentArchiveContainer) AddBlob(blob cpi.BlobAccess, refName string,
if err != nil {
return nil, err
}
- return localblob.New(common.DigestToFileName(blob.Digest()), refName, blob.MimeType(), global), nil
+ return localblob.New(misc.DigestToFileName(blob.Digest()), refName, blob.MimeType(), global), nil
}
// Deprecated: Component Archive (CA) - https://kubernetes.slack.com/archives/C05UWBE8R1D/p1734357630853489
diff --git a/api/ocm/extensions/repositories/comparch/repository.go b/api/ocm/extensions/repositories/comparch/repository.go
index 92d2ac0f0b..b340bcea64 100644
--- a/api/ocm/extensions/repositories/comparch/repository.go
+++ b/api/ocm/extensions/repositories/comparch/repository.go
@@ -6,6 +6,7 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/datacontext/attrs/vfsattr"
@@ -15,10 +16,9 @@ import (
"ocm.software/ocm/api/ocm/extensions/accessmethods/localblob"
"ocm.software/ocm/api/ocm/extensions/accessmethods/localfsblob"
ocmhdlr "ocm.software/ocm/api/ocm/extensions/blobhandler/handlers/ocm"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/errkind"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
)
@@ -234,7 +234,7 @@ func (c *ComponentAccessImpl) NewVersion(version string, overrides ...bool) (*re
if version != c.repo.arch.GetVersion() {
return nil, errors.ErrNotSupported(cpi.KIND_COMPONENTVERSION, version, fmt.Sprintf("component archive %s:%s", c.GetName(), c.repo.arch.GetVersion()))
}
- if !utils.Optional(overrides...) {
+ if !general.Optional(overrides...) {
return nil, errors.ErrAlreadyExists(cpi.KIND_COMPONENTVERSION, fmt.Sprintf("%s:%s", c.GetName(), c.repo.arch.GetVersion()))
}
return newComponentVersionAccess(c, version, false)
@@ -341,7 +341,7 @@ func (c *ComponentVersionContainer) AddBlob(blob cpi.BlobAccess, refName string,
if err != nil {
return nil, err
}
- return localblob.New(common.DigestToFileName(blob.Digest()), refName, blob.MimeType(), global), nil
+ return localblob.New(misc.DigestToFileName(blob.Digest()), refName, blob.MimeType(), global), nil
}
// Deprecated: Component Archive (CA) - https://kubernetes.slack.com/archives/C05UWBE8R1D/p1734357630853489
diff --git a/api/ocm/extensions/repositories/composition/repository.go b/api/ocm/extensions/repositories/composition/repository.go
index 041f9600eb..50ba95edda 100644
--- a/api/ocm/extensions/repositories/composition/repository.go
+++ b/api/ocm/extensions/repositories/composition/repository.go
@@ -14,7 +14,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/virtual"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
////////////////////////////////////////////////////////////////////////////////
@@ -39,7 +39,7 @@ func NewRepository(ctxp cpi.ContextProvider, names ...string) cpi.Repository {
return repo
}
-type Index = virtual.Index[common.NameVersion]
+type Index = virtual.Index[misc.NameVersion]
type Access struct {
lock sync.Mutex
@@ -54,7 +54,7 @@ var _ virtual.Access = (*Access)(nil)
func NewAccess(name string) *Access {
return &Access{
name: name,
- index: virtual.NewIndex[common.NameVersion](),
+ index: virtual.NewIndex[misc.NameVersion](),
blobs: map[string]blobaccess.BlobAccess{},
}
}
@@ -178,7 +178,7 @@ func (v *VersionAccess) Update() (bool, error) {
return false, accessio.ErrReadOnly
}
if v.desc.GetName() != v.comp || v.desc.GetVersion() != v.vers {
- return false, errors.ErrInvalid(cpi.KIND_COMPONENTVERSION, common.VersionedElementKey(v.desc).String())
+ return false, errors.ErrInvalid(cpi.KIND_COMPONENTVERSION, misc.VersionedElementKey(v.desc).String())
}
i := v.access.index.Get(v.comp, v.vers)
if !reflect.DeepEqual(v.desc, i.CD()) {
diff --git a/api/ocm/extensions/repositories/genericocireg/componentversion.go b/api/ocm/extensions/repositories/genericocireg/componentversion.go
index 950ff9018c..1e3ad2ce48 100644
--- a/api/ocm/extensions/repositories/genericocireg/componentversion.go
+++ b/api/ocm/extensions/repositories/genericocireg/componentversion.go
@@ -31,7 +31,7 @@ import (
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/errkind"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/version"
@@ -178,7 +178,7 @@ const (
)
func (c *ComponentVersionContainer) Update() (bool, error) {
- logger := Logger(c.GetContext()).WithValues("cv", common.NewNameVersion(c.comp.name, c.version))
+ logger := Logger(c.GetContext()).WithValues("cv", misc.NewNameVersion(c.comp.name, c.version))
err := c.Check()
if err != nil {
return false, fmt.Errorf("check failed: %w", err)
@@ -230,7 +230,7 @@ func (c *ComponentVersionContainer) Update() (bool, error) {
if m.Annotations == nil {
m.Annotations = map[string]string{}
}
- m.Annotations[OCM_COMPONENTVERSION] = common.VersionedElementKey(c.bridge).String()
+ m.Annotations[OCM_COMPONENTVERSION] = misc.VersionedElementKey(c.bridge).String()
m.Annotations[OCM_CREATOR] = "OCM Go Library " + version.Current()
for layer, info := range layerAnnotations {
diff --git a/api/ocm/extensions/repositories/genericocireg/cred_test.go b/api/ocm/extensions/repositories/genericocireg/cred_test.go
index d8e37a86f7..7f0e4be8cb 100644
--- a/api/ocm/extensions/repositories/genericocireg/cred_test.go
+++ b/api/ocm/extensions/repositories/genericocireg/cred_test.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
"ocm.software/ocm/api/tech/oci/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("consumer id handling", func() {
@@ -41,7 +41,7 @@ var _ = Describe("consumer id handling", func() {
creds = Must(credentials.CredentialsForConsumer(credctx, id))
- Expect(creds.Properties()).To(Equal(common.Properties{
+ Expect(creds.Properties()).To(Equal(misc.Properties{
identity.ATTR_USERNAME: "test",
identity.ATTR_PASSWORD: "password",
}))
diff --git a/api/ocm/extensions/repositories/genericocireg/info.go b/api/ocm/extensions/repositories/genericocireg/info.go
index 73fdadf242..46821ec501 100644
--- a/api/ocm/extensions/repositories/genericocireg/info.go
+++ b/api/ocm/extensions/repositories/genericocireg/info.go
@@ -7,7 +7,7 @@ import (
"ocm.software/ocm/api/oci/ociutils"
"ocm.software/ocm/api/ocm/extensions/repositories/genericocireg/componentmapping"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -44,7 +44,7 @@ func (h handler) Info(m cpi.ManifestAccess, config []byte) interface{} {
return info
}
-func (h handler) Description(pr common.Printer, m cpi.ManifestAccess, config []byte) {
+func (h handler) Description(pr misc.Printer, m cpi.ManifestAccess, config []byte) {
pr.Printf("component version:\n")
acc := NewStateAccess(m)
data, err := blobaccess.BlobData(acc.Get())
diff --git a/api/ocm/extensions/repositories/genericocireg/state.go b/api/ocm/extensions/repositories/genericocireg/state.go
index 834a768016..742dd66e7c 100644
--- a/api/ocm/extensions/repositories/genericocireg/state.go
+++ b/api/ocm/extensions/repositories/genericocireg/state.go
@@ -11,6 +11,7 @@ import (
"github.com/go-test/deep"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
"github.com/opencontainers/go-digest"
ociv1 "github.com/opencontainers/image-spec/specs-go/v1"
@@ -21,7 +22,6 @@ import (
"ocm.software/ocm/api/ocm/compdesc"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/repositories/genericocireg/componentmapping"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
ocmlog "ocm.software/ocm/api/utils/logging"
@@ -42,7 +42,7 @@ var _ accessobj.StateAccess = (*StateAccess)(nil)
func NewStateAccess(access oci.ManifestAccess, compat ...bool) accessobj.StateAccess {
return &StateAccess{
- compat: utils.Optional(compat...),
+ compat: general.Optional(compat...),
access: access,
}
}
diff --git a/api/ocm/extensions/repositories/ocireg/type.go b/api/ocm/extensions/repositories/ocireg/type.go
index 77d4e2e9f0..3a1b06a9cf 100644
--- a/api/ocm/extensions/repositories/ocireg/type.go
+++ b/api/ocm/extensions/repositories/ocireg/type.go
@@ -1,10 +1,11 @@
package ocireg
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/oci/extensions/repositories/ocireg"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/repositories/genericocireg"
- "ocm.software/ocm/api/utils"
)
// ComponentNameMapping describes the method that is used to map the "Component Name", "Component Version"-tuples
@@ -30,11 +31,11 @@ type RepositorySpec = genericocireg.RepositorySpec
// If no ocm meta is given, the subPath part is extracted from the base URL.
// Otherwise, the given URL is used as OCI registry URL as it is.
func NewRepositorySpec(baseURL string, metas ...*ComponentRepositoryMeta) *RepositorySpec {
- return genericocireg.NewRepositorySpec(ocireg.NewRepositorySpec(baseURL), utils.Optional(metas...))
+ return genericocireg.NewRepositorySpec(ocireg.NewRepositorySpec(baseURL), general.Optional(metas...))
}
func NewComponentRepositoryMeta(subPath string, mapping ...ComponentNameMapping) *ComponentRepositoryMeta {
- return genericocireg.NewComponentRepositoryMeta(subPath, utils.OptionalDefaulted(OCIRegistryURLPathMapping, mapping...))
+ return genericocireg.NewComponentRepositoryMeta(subPath, general.OptionalDefaulted(OCIRegistryURLPathMapping, mapping...))
}
func NewRepository(ctx cpi.ContextProvider, baseURL string, metas ...*ComponentRepositoryMeta) (cpi.Repository, error) {
diff --git a/api/ocm/extensions/repositories/virtual/example/example.go b/api/ocm/extensions/repositories/virtual/example/example.go
index 40532dbd44..5d205e3efd 100644
--- a/api/ocm/extensions/repositories/virtual/example/example.go
+++ b/api/ocm/extensions/repositories/virtual/example/example.go
@@ -18,7 +18,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/virtual"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/file"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
////////////////////////////////////////////////////////////////////////////////
@@ -26,7 +26,7 @@ import (
func NewRepository(ctx cpi.ContextProvider, fs vfs.FileSystem, readonly bool, path ...string) (cpi.Repository, error) {
var err error
- p := general.Optional(path...)
+ p := general.OptionalNonZero(path...)
if p != "" && p != "/" {
fs, err = projectionfs.New(fs, p)
if err != nil {
@@ -128,7 +128,7 @@ func (a *Access) GetComponentVersion(comp, version string) (virtual.VersionAcces
i := a.index.Get(comp, version)
if i == nil {
if a.readonly {
- return nil, errors.ErrNotFound(cpi.KIND_COMPONENTVERSION, common.NewNameVersion(comp, version).String())
+ return nil, errors.ErrNotFound(cpi.KIND_COMPONENTVERSION, misc.NewNameVersion(comp, version).String())
}
cd = compdesc.New(comp, version)
hash := sha256.Sum256([]byte(comp + ":" + version))
@@ -197,7 +197,7 @@ func (v *VersionAccess) Update() (bool, error) {
defer v.access.lock.Unlock()
if v.desc.GetName() != v.comp || v.desc.GetVersion() != v.vers {
- return false, errors.ErrInvalid(cpi.KIND_COMPONENTVERSION, common.VersionedElementKey(v.desc).String())
+ return false, errors.ErrInvalid(cpi.KIND_COMPONENTVERSION, misc.VersionedElementKey(v.desc).String())
}
i := v.access.index.Get(v.comp, v.vers)
if !reflect.DeepEqual(v.desc, i.CD()) {
diff --git a/api/ocm/extensions/repositories/virtual/index.go b/api/ocm/extensions/repositories/virtual/index.go
index bb3092ea24..77a38c0548 100644
--- a/api/ocm/extensions/repositories/virtual/index.go
+++ b/api/ocm/extensions/repositories/virtual/index.go
@@ -4,12 +4,12 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
ocicpi "ocm.software/ocm/api/oci/cpi"
"ocm.software/ocm/api/ocm/compdesc"
"ocm.software/ocm/api/ocm/cpi"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type IndexEntry[I interface{}] struct {
@@ -45,7 +45,7 @@ func (i *Index[I]) NumComponents(prefix string) (int, error) {
i.lock.Lock()
defer i.lock.Unlock()
- list := ocicpi.FilterByNamespacePrefix(prefix, utils.StringMapKeys(i.descriptors))
+ list := ocicpi.FilterByNamespacePrefix(prefix, maputils.OrderedKeys(i.descriptors))
return len(list), nil
}
@@ -53,7 +53,7 @@ func (i *Index[I]) GetComponents(prefix string, closure bool) ([]string, error)
i.lock.Lock()
defer i.lock.Unlock()
- return ocicpi.FilterChildren(closure, prefix, utils.StringMapKeys(i.descriptors)), nil
+ return ocicpi.FilterChildren(closure, prefix, maputils.OrderedKeys(i.descriptors)), nil
}
func (i *Index[I]) GetVersions(comp string) []string {
@@ -64,7 +64,7 @@ func (i *Index[I]) GetVersions(comp string) []string {
if len(vers) == 0 {
return []string{}
}
- return utils.StringMapKeys(vers)
+ return maputils.OrderedKeys(vers)
}
func (i *Index[I]) Get(comp, vers string) *IndexEntry[I] {
@@ -89,7 +89,7 @@ func (i *Index[I]) Add(cd *compdesc.ComponentDescriptor, info I) error {
i.descriptors[cd.Name] = set
}
if set[cd.Version] != nil {
- return errors.ErrAlreadyExists(cpi.KIND_COMPONENTVERSION, common.VersionedElementKey(cd).String())
+ return errors.ErrAlreadyExists(cpi.KIND_COMPONENTVERSION, misc.VersionedElementKey(cd).String())
}
set[cd.Version] = &IndexEntry[I]{cd, info}
return nil
diff --git a/api/ocm/internal/blobhandler.go b/api/ocm/internal/blobhandler.go
index 06b81c0619..6b6d6e2144 100644
--- a/api/ocm/internal/blobhandler.go
+++ b/api/ocm/internal/blobhandler.go
@@ -6,7 +6,8 @@ import (
"strings"
"sync"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/utils/registrations"
)
@@ -303,7 +304,7 @@ type blobHandlerRegistry struct {
var DefaultBlobHandlerRegistry = NewBlobHandlerRegistry()
func NewBlobHandlerRegistry(base ...BlobHandlerRegistry) BlobHandlerRegistry {
- b := utils.Optional(base...)
+ b := general.Optional(base...)
r := &blobHandlerRegistry{
base: b,
handlers: map[BlobHandlerKey]BlobHandler{},
diff --git a/api/ocm/internal/context.go b/api/ocm/internal/context.go
index 67be7a1029..cf7100f1f1 100644
--- a/api/ocm/internal/context.go
+++ b/api/ocm/internal/context.go
@@ -7,6 +7,7 @@ import (
. "github.com/mandelsoft/goutils/finalizer"
+ "github.com/mandelsoft/goutils/general"
"github.com/modern-go/reflect2"
"ocm.software/ocm/api/config"
@@ -16,7 +17,6 @@ import (
"ocm.software/ocm/api/oci"
"ocm.software/ocm/api/oci/extensions/repositories/ctf"
"ocm.software/ocm/api/ocm/compdesc"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -151,7 +151,7 @@ type gcWrapper struct {
}
func newView(c *_context, ref ...bool) Context {
- if utils.Optional(ref...) {
+ if general.Optional(ref...) {
return datacontext.FinalizedContext[gcWrapper](c)
}
return c
diff --git a/api/ocm/internal/delegation.go b/api/ocm/internal/delegation.go
index 22f1211e1d..586e73cd85 100644
--- a/api/ocm/internal/delegation.go
+++ b/api/ocm/internal/delegation.go
@@ -4,7 +4,9 @@ import (
"sort"
"sync"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/maputils"
+
"ocm.software/ocm/api/utils/runtime"
)
@@ -47,7 +49,7 @@ var _ DelegationRegistry[Context, RepositorySpec] = (*delegationRegistry[Context
func NewDelegationRegistry[C any, T runtime.TypedObject](base ...DelegationRegistry[C, T]) DelegationRegistry[C, T] {
return &delegationRegistry[C, T]{
decoders: map[string]PriorityDecoder[C, T]{},
- base: utils.Optional(base...),
+ base: general.Optional(base...),
}
}
@@ -92,7 +94,7 @@ func (d *delegationRegistry[C, T]) Decode(ctx C, data []byte, unmarshaller runti
var list []PriorityDecoder[C, T]
delegates := d.Delegations()
- names := utils.StringMapKeys(delegates)
+ names := maputils.OrderedKeys(delegates)
for _, n := range names {
list = append(list, delegates[n])
diff --git a/api/ocm/internal/digesthandler.go b/api/ocm/internal/digesthandler.go
index 3fda994124..433d43e048 100644
--- a/api/ocm/internal/digesthandler.go
+++ b/api/ocm/internal/digesthandler.go
@@ -5,9 +5,10 @@ import (
"slices"
"sync"
+ "github.com/mandelsoft/goutils/general"
+
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/tech/signing"
- "ocm.software/ocm/api/utils"
)
type DigesterType struct {
@@ -77,7 +78,7 @@ var DefaultBlobDigesterRegistry = NewBlobDigesterRegistry()
func NewBlobDigesterRegistry(base ...BlobDigesterRegistry) BlobDigesterRegistry {
return &blobDigesterRegistry{
- base: utils.Optional(base...),
+ base: general.Optional(base...),
typehandlers: map[string][]BlobDigester{},
normhandlers: map[string][]BlobDigester{},
digesters: map[DigesterType]BlobDigester{},
diff --git a/api/ocm/internal/modopts.go b/api/ocm/internal/modopts.go
index df43fc40f3..43f28e88fb 100644
--- a/api/ocm/internal/modopts.go
+++ b/api/ocm/internal/modopts.go
@@ -10,7 +10,6 @@ import (
"ocm.software/ocm/api/ocm/compdesc"
v1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/selectors/accessors"
- "ocm.software/ocm/api/utils"
)
type BlobUploadOption interface {
@@ -51,7 +50,7 @@ func (o *BlobUploadOptions) ApplyBlobUploadOption(opts *BlobUploadOptions) {
optionutils.ApplyOption(o.UseNoDefaultIfNotSet, &opts.UseNoDefaultIfNotSet)
if o.BlobHandlerProvider != nil {
opts.BlobHandlerProvider = o.BlobHandlerProvider
- opts.UseNoDefaultIfNotSet = utils.BoolP(true)
+ opts.UseNoDefaultIfNotSet = optionutils.BoolP(true)
}
}
@@ -64,11 +63,11 @@ func (o nodefaulthandler) ApplyBlobModificationOption(opts *BlobModificationOpti
}
func (o nodefaulthandler) ApplyBlobUploadOption(opts *BlobUploadOptions) {
- opts.UseNoDefaultIfNotSet = optionutils.PointerTo(bool(o))
+ opts.UseNoDefaultIfNotSet = generics.PointerTo(bool(o))
}
func UseNoDefaultBlobHandlers(b ...bool) BlobOptionImpl {
- return nodefaulthandler(utils.OptionalDefaultedBool(true, b...))
+ return nodefaulthandler(general.OptionalDefaultedBool(true, b...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -136,7 +135,7 @@ func (m *TargetElementOptions) ApplyTargetOption(opts *TargetElementOptions) {
}
func (m *TargetElementOptions) IsDisableExtraIdentityDefaulting() bool {
- return utils.AsBool(m.DisableExtraIdentityDefaulting)
+ return optionutils.AsBool(m.DisableExtraIdentityDefaulting)
}
func (m *TargetElementOptions) ApplyTargetOptions(list ...TargetElementOption) *TargetElementOptions {
@@ -188,7 +187,7 @@ func (m *ElementModificationOptions) ApplyElementModificationOptions(list ...Ele
}
func (m *ElementModificationOptions) IsModifyElement(def ...bool) bool {
- return utils.AsBool(m.ModifyElement, def...)
+ return optionutils.AsBool(m.ModifyElement, def...)
}
func NewElementModificationOptions(list ...ElementModificationOption) *ElementModificationOptions {
@@ -233,15 +232,15 @@ type ModificationOptions struct {
}
func (m *ModificationOptions) IsAcceptExistentDigests() bool {
- return utils.AsBool(m.AcceptExistentDigests)
+ return optionutils.AsBool(m.AcceptExistentDigests)
}
func (m *ModificationOptions) IsSkipDigest() bool {
- return utils.AsBool(m.SkipDigest)
+ return optionutils.AsBool(m.SkipDigest)
}
func (m *ModificationOptions) IsSkipVerify() bool {
- return utils.AsBool(m.SkipVerify)
+ return optionutils.AsBool(m.SkipVerify)
}
func (m *ModificationOptions) ApplyModificationOptions(list ...ModificationOption) *ModificationOptions {
@@ -298,7 +297,7 @@ func (m TargetIndex) ApplyModificationOption(opts *ModificationOptions) {
func (m TargetIndex) ApplyElementModificationOption(opts *ElementModificationOptions) {
if m < 0 {
- opts.ModifyElement = generics.Pointer(true)
+ opts.ModifyElement = generics.PointerTo(true)
}
m.ApplyTargetOption(&opts.TargetElementOptions)
}
@@ -379,12 +378,12 @@ func (m disableextraidentitydefaulting) ApplyElementModificationOption(opts *Ele
}
func (m disableextraidentitydefaulting) ApplyTargetOption(opts *TargetElementOptions) {
- opts.DisableExtraIdentityDefaulting = utils.BoolP(m)
+ opts.DisableExtraIdentityDefaulting = optionutils.BoolP(m)
}
// DisableExtraIdentityDefaulting disables the defaulting of the extra identity.
func DisableExtraIdentityDefaulting(flag ...bool) TargetOptionImpl {
- return disableextraidentitydefaulting(utils.OptionalDefaultedBool(true, flag...))
+ return disableextraidentitydefaulting(general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -428,19 +427,19 @@ func (m modifyelement) ApplyBlobModificationOption(opts *BlobModificationOptions
}
func (m modifyelement) ApplyModificationOption(opts *ModificationOptions) {
- opts.ModifyElement = utils.BoolP(m)
+ opts.ModifyElement = optionutils.BoolP(m)
}
func (m modifyelement) ApplyElementModificationOption(opts *ElementModificationOptions) {
- opts.ModifyElement = utils.BoolP(m)
+ opts.ModifyElement = optionutils.BoolP(m)
}
func ModifyResource(flag ...bool) ModOptionImpl {
- return modifyelement(utils.OptionalDefaultedBool(true, flag...))
+ return modifyelement(general.OptionalDefaultedBool(true, flag...))
}
func ModifyElement(flag ...bool) ElemModOptionImpl {
- return modifyelement(utils.OptionalDefaultedBool(true, flag...))
+ return modifyelement(general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -452,11 +451,11 @@ func (m acceptdigests) ApplyBlobModificationOption(opts *BlobModificationOptions
}
func (m acceptdigests) ApplyModificationOption(opts *ModificationOptions) {
- opts.AcceptExistentDigests = utils.BoolP(m)
+ opts.AcceptExistentDigests = optionutils.BoolP(m)
}
func AcceptExistentDigests(flag ...bool) ModOptionImpl {
- return acceptdigests(utils.OptionalDefaultedBool(true, flag...))
+ return acceptdigests(general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -472,7 +471,7 @@ func (m hashalgo) ApplyModificationOption(opts *ModificationOptions) {
}
func WithDefaultHashAlgorithm(algo ...string) ModOptionImpl {
- return hashalgo(utils.Optional(algo...))
+ return hashalgo(general.Optional(algo...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -502,11 +501,11 @@ func (m skipverify) ApplyBlobModificationOption(opts *BlobModificationOptions) {
}
func (m skipverify) ApplyModificationOption(opts *ModificationOptions) {
- opts.SkipVerify = utils.BoolP(m)
+ opts.SkipVerify = optionutils.BoolP(m)
}
func SkipVerify(flag ...bool) ModOptionImpl {
- return skipverify(utils.OptionalDefaultedBool(true, flag...))
+ return skipverify(general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -518,14 +517,14 @@ func (m skipdigest) ApplyBlobModificationOption(opts *BlobModificationOptions) {
}
func (m skipdigest) ApplyModificationOption(opts *ModificationOptions) {
- opts.SkipDigest = utils.BoolP(m)
+ opts.SkipDigest = optionutils.BoolP(m)
}
// SkipDigest disables digest creation if enabled.
//
// Deprecated: for legacy code, only.
func SkipDigest(flag ...bool) ModOptionImpl {
- return skipdigest(utils.OptionalDefaultedBool(true, flag...))
+ return skipdigest(general.OptionalDefaultedBool(true, flag...))
}
////////////////////////////////////////////////////////////////////////////////
@@ -605,10 +604,10 @@ func (o *AddVersionOptions) ApplyAddVersionOption(opts *AddVersionOptions) {
type overwrite bool
func (m overwrite) ApplyAddVersionOption(opts *AddVersionOptions) {
- opts.Overwrite = utils.BoolP(m)
+ opts.Overwrite = optionutils.BoolP(m)
}
// Overwrite enabled the overwrite mode for adding a component version.
func Overwrite(flag ...bool) AddVersionOption {
- return overwrite(utils.OptionalDefaultedBool(true, flag...))
+ return overwrite(general.OptionalDefaultedBool(true, flag...))
}
diff --git a/api/ocm/internal/repository.go b/api/ocm/internal/repository.go
index 7ed53168f7..cc480513cc 100644
--- a/api/ocm/internal/repository.go
+++ b/api/ocm/internal/repository.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/ocm/selectors/rscsel"
"ocm.software/ocm/api/ocm/selectors/srcsel"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt/resource"
)
@@ -113,7 +113,7 @@ type ComponentReference = compdesc.Reference
type ComponentVersionAccess interface {
resource.ResourceView[ComponentVersionAccess]
- common.VersionedElement
+ misc.VersionedElement
io.Closer
ReadOnlyFeature
diff --git a/api/ocm/internal/repotypes.go b/api/ocm/internal/repotypes.go
index 0d44985275..0f550454eb 100644
--- a/api/ocm/internal/repotypes.go
+++ b/api/ocm/internal/repotypes.go
@@ -4,12 +4,12 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
"github.com/modern-go/reflect2"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/oci"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -64,12 +64,12 @@ type repositoryTypeScheme struct {
}
func NewRepositoryTypeScheme(defaultDecoder RepositorySpecDecoder, base ...RepositoryTypeScheme) RepositoryTypeScheme {
- scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](&UnknownRepositorySpec{}, true, defaultDecoder, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](&UnknownRepositorySpec{}, true, defaultDecoder, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
func NewStrictRepositoryTypeScheme(base ...RepositoryTypeScheme) RepositoryTypeScheme {
- scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](nil, false, nil, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[RepositorySpec, RepositoryType](nil, false, nil, general.Optional(base...))
return &repositoryTypeScheme{scheme}
}
diff --git a/api/ocm/internal/resolver.go b/api/ocm/internal/resolver.go
index b22dd33361..4c8b681092 100644
--- a/api/ocm/internal/resolver.go
+++ b/api/ocm/internal/resolver.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
"ocm.software/ocm/api/utils/registrations"
)
@@ -309,7 +309,7 @@ func (r *MatchingResolver) LookupComponentVersion(name string, version string) (
}
}
}
- return nil, errors.ErrNotFound(KIND_COMPONENTVERSION, common.NewNameVersion(name, version).String())
+ return nil, errors.ErrNotFound(KIND_COMPONENTVERSION, misc.NewNameVersion(name, version).String())
}
func (r *MatchingResolver) LookupComponentProviders(name string) []ResolvedComponentProvider {
diff --git a/api/ocm/ocmutils/check/check.go b/api/ocm/ocmutils/check/check.go
index 232fafb649..2fc68c0223 100644
--- a/api/ocm/ocmutils/check/check.go
+++ b/api/ocm/ocmutils/check/check.go
@@ -9,7 +9,7 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Result struct {
@@ -29,17 +29,17 @@ func (r *Result) IsEmpty() bool {
return len(r.Missing) == 0 && len(r.Resources) == 0 && len(r.Sources) == 0
}
-type Missing map[common.NameVersion]common.History
+type Missing map[misc.NameVersion]misc.History
func (n Missing) MarshalJSON() ([]byte, error) {
- m := map[string]common.History{}
+ m := map[string]misc.History{}
for k, v := range n {
m[k.String()] = v
}
return json.Marshal(m)
}
-type Cache = map[common.NameVersion]*Result
+type Cache = map[misc.NameVersion]*Result
////////////////////////////////////////////////////////////////////////////////
@@ -55,10 +55,10 @@ func Check(opts ...Option) *Options {
func (a *Options) For(cv ocm.ComponentVersionAccess) (*Result, error) {
cache := Cache{}
- return a.handle(cache, cv, common.History{common.VersionedElementKey(cv)})
+ return a.handle(cache, cv, misc.History{misc.VersionedElementKey(cv)})
}
-func (a *Options) ForId(repo ocm.Repository, id common.NameVersion) (*Result, error) {
+func (a *Options) ForId(repo ocm.Repository, id misc.NameVersion) (*Result, error) {
cv, err := repo.LookupComponentVersion(id.GetName(), id.GetVersion())
if err != nil {
return nil, err
@@ -67,7 +67,7 @@ func (a *Options) ForId(repo ocm.Repository, id common.NameVersion) (*Result, er
return a.For(cv)
}
-func (a *Options) check(cache Cache, repo ocm.Repository, id common.NameVersion, h common.History) (*Result, error) {
+func (a *Options) check(cache Cache, repo ocm.Repository, id misc.NameVersion, h misc.History) (*Result, error) {
if r, ok := cache[id]; ok {
return r, nil
}
@@ -95,11 +95,11 @@ func (a *Options) check(cache Cache, repo ocm.Repository, id common.NameVersion,
return r, err
}
-func (a *Options) handle(cache Cache, cv ocm.ComponentVersionAccess, h common.History) (*Result, error) {
+func (a *Options) handle(cache Cache, cv ocm.ComponentVersionAccess, h misc.History) (*Result, error) {
result := newResult()
for _, r := range cv.GetDescriptor().References {
- id := common.NewNameVersion(r.ComponentName, r.Version)
+ id := misc.NewNameVersion(r.ComponentName, r.Version)
n, err := a.check(cache, cv.Repository(), id, h)
if err != nil {
return result, err
diff --git a/api/ocm/ocmutils/check/check_test.go b/api/ocm/ocmutils/check/check_test.go
index 0e90e144bd..d2f3235532 100644
--- a/api/ocm/ocmutils/check/check_test.go
+++ b/api/ocm/ocmutils/check/check_test.go
@@ -15,7 +15,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/ctf"
"ocm.software/ocm/api/ocm/ocmutils/check"
"ocm.software/ocm/api/utils/accessio"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -52,7 +52,7 @@ var _ = Describe("Test Environment", func() {
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).To(BeNil())
})
@@ -78,7 +78,7 @@ var _ = Describe("Test Environment", func() {
})
It("outputs table", func() {
- result := Must(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).NotTo(BeNil())
Expect(json.Marshal(result)).To(YAMLEqual(`
@@ -109,7 +109,7 @@ missing:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).To(BeNil())
})
@@ -129,7 +129,7 @@ missing:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- ExpectError(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION))).To(
+ ExpectError(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION))).To(
MatchError("component version recursion: use of test.de/z:v1 for test.de/x:v1->test.de/z:v1->test.de/y:v1"))
})
@@ -149,7 +149,7 @@ missing:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check(check.LocalResourcesOnly()).ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check(check.LocalResourcesOnly()).ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).NotTo(BeNil())
Expect(result).To(YAMLEqual(`
resources:
@@ -161,7 +161,7 @@ resources:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).To(BeNil())
})
})
@@ -182,7 +182,7 @@ resources:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check(check.LocalSourcesOnly()).ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check(check.LocalSourcesOnly()).ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).NotTo(BeNil())
Expect(result).To(YAMLEqual(`
sources:
@@ -194,7 +194,7 @@ sources:
spec := Must(ctf.NewRepositorySpec(ctf.ACC_READONLY, ARCH, env))
repo := Must(env.OCMContext().RepositoryForSpec(spec))
defer Close(repo, "repo")
- result := Must(check.Check().ForId(repo, common.NewNameVersion(COMP, VERSION)))
+ result := Must(check.Check().ForId(repo, misc.NewNameVersion(COMP, VERSION)))
Expect(result).To(BeNil())
})
})
diff --git a/api/ocm/ocmutils/check/options.go b/api/ocm/ocmutils/check/options.go
index 3cb14a4a26..44158e47c2 100644
--- a/api/ocm/ocmutils/check/options.go
+++ b/api/ocm/ocmutils/check/options.go
@@ -1,9 +1,9 @@
package check
import (
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/generics"
"github.com/mandelsoft/goutils/optionutils"
-
- "ocm.software/ocm/api/utils"
)
type Option = optionutils.Option[*Options]
@@ -25,11 +25,11 @@ func (o *Options) ApplyTo(opts *Options) {
type localSources bool
func LocalSourcesOnly(b ...bool) Option {
- return localSources(utils.OptionalDefaultedBool(true, b...))
+ return localSources(general.OptionalDefaultedBool(true, b...))
}
func (l localSources) ApplyTo(t *Options) {
- t.CheckLocalSources = optionutils.PointerTo(bool(l))
+ t.CheckLocalSources = generics.PointerTo(bool(l))
}
////////////////////////////////////////////////////////////////////////////////
@@ -37,9 +37,9 @@ func (l localSources) ApplyTo(t *Options) {
type localResources bool
func LocalResourcesOnly(b ...bool) Option {
- return localResources(utils.OptionalDefaultedBool(true, b...))
+ return localResources(general.OptionalDefaultedBool(true, b...))
}
func (l localResources) ApplyTo(t *Options) {
- t.CheckLocalResources = optionutils.PointerTo(bool(l))
+ t.CheckLocalResources = generics.PointerTo(bool(l))
}
diff --git a/api/ocm/ocmutils/localize/instantiate.go b/api/ocm/ocmutils/localize/instantiate.go
index ae0d8594cb..9c2bf748af 100644
--- a/api/ocm/ocmutils/localize/instantiate.go
+++ b/api/ocm/ocmutils/localize/instantiate.go
@@ -8,7 +8,7 @@ import (
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
"ocm.software/ocm/api/ocm/extensions/download"
"ocm.software/ocm/api/ocm/resourcerefs"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func Instantiate(rules *InstantiationRules, cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver, config []byte, fs vfs.FileSystem, types ...string) error {
@@ -38,7 +38,7 @@ func Instantiate(rules *InstantiationRules, cv ocm.ComponentVersionAccess, resol
}
}
- ok, _, err := download.For(cv.GetContext()).Download(common.NewPrinter(nil), template, ".", fs)
+ ok, _, err := download.For(cv.GetContext()).Download(misc.NewPrinter(nil), template, ".", fs)
if err != nil {
return errors.Wrapf(err, "cannot download resource %s", rules.Template)
}
diff --git a/api/ocm/ocmutils/walk.go b/api/ocm/ocmutils/walk.go
index b3b7b6a133..0aebb0c194 100644
--- a/api/ocm/ocmutils/walk.go
+++ b/api/ocm/ocmutils/walk.go
@@ -4,7 +4,7 @@ import (
"github.com/mandelsoft/goutils/errors"
"ocm.software/ocm/api/ocm"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// WalkingStep is used to process a component version during graph traversal.
@@ -12,15 +12,15 @@ import (
// If an error is returned the traversal is aborted with this error.
// Additionally, an info object of type T can be registered in the state for the
// component version.
-type WalkingStep[T any] func(state common.WalkingState[T, ocm.ComponentVersionAccess], cv ocm.ComponentVersionAccess) (bool, error)
+type WalkingStep[T any] func(state misc.WalkingState[T, ocm.ComponentVersionAccess], cv ocm.ComponentVersionAccess) (bool, error)
// Walk traverses a component version graph using the WalkingStep to
// process found component version.
-func Walk[T any](closure common.NameVersionInfo[T], cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver, step WalkingStep[T]) (common.NameVersionInfo[T], error) {
+func Walk[T any](closure misc.NameVersionInfo[T], cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver, step WalkingStep[T]) (misc.NameVersionInfo[T], error) {
if closure == nil {
- closure = common.NameVersionInfo[T]{}
+ closure = misc.NameVersionInfo[T]{}
}
- state := common.WalkingState[T, ocm.ComponentVersionAccess]{
+ state := misc.WalkingState[T, ocm.ComponentVersionAccess]{
Closure: closure,
Context: cv,
}
@@ -28,8 +28,8 @@ func Walk[T any](closure common.NameVersionInfo[T], cv ocm.ComponentVersionAcces
return closure, err
}
-func walk[T any](state common.WalkingState[T, ocm.ComponentVersionAccess], cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver, step WalkingStep[T]) error {
- nv := common.VersionedElementKey(cv)
+func walk[T any](state misc.WalkingState[T, ocm.ComponentVersionAccess], cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver, step WalkingStep[T]) error {
+ nv := misc.VersionedElementKey(cv)
if ok, err := state.Add(ocm.KIND_COMPONENTVERSION, nv); !ok || err != nil {
return err
}
diff --git a/api/ocm/plugin/cache/updater.go b/api/ocm/plugin/cache/updater.go
index 1b30dfc6e5..a4b591e2d1 100644
--- a/api/ocm/plugin/cache/updater.go
+++ b/api/ocm/plugin/cache/updater.go
@@ -24,7 +24,7 @@ import (
"ocm.software/ocm/api/ocm/plugin/descriptor"
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/filelock"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -104,13 +104,13 @@ type PluginUpdater struct {
Constraints []*semver.Constraints
Current string
- Printer common.Printer
+ Printer misc.Printer
}
-func NewPluginUpdater(ctx ocm.ContextProvider, printer common.Printer) *PluginUpdater {
+func NewPluginUpdater(ctx ocm.ContextProvider, printer misc.Printer) *PluginUpdater {
return &PluginUpdater{
Context: ctx.OCMContext(),
- Printer: common.AssurePrinter(printer),
+ Printer: misc.AssurePrinter(printer),
}
}
@@ -233,7 +233,7 @@ func (o *PluginUpdater) downloadLatest(session ocm.Session, comp ocm.ComponentAc
}
func (o *PluginUpdater) download(session ocm.Session, cv ocm.ComponentVersionAccess, name string) (err error) {
- defer errors.PropagateErrorf(&err, nil, "%s", common.VersionedElementKey(cv))
+ defer errors.PropagateErrorf(&err, nil, "%s", misc.VersionedElementKey(cv))
var found ocm.ResourceAccess
var wrong ocm.ResourceAccess
diff --git a/api/ocm/plugin/common/describe.go b/api/ocm/plugin/common/describe.go
index a2421ee540..2c614f876d 100644
--- a/api/ocm/plugin/common/describe.go
+++ b/api/ocm/plugin/common/describe.go
@@ -6,23 +6,25 @@ import (
"strings"
"github.com/Masterminds/semver/v3"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/set"
+ "github.com/mandelsoft/goutils/stringutils"
"ocm.software/ocm/api/datacontext/action/api"
"ocm.software/ocm/api/ocm/extensions/accessmethods/options"
"ocm.software/ocm/api/ocm/plugin/descriptor"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
-func DescribePluginDescriptor(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out common.Printer) {
+func DescribePluginDescriptor(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out misc.Printer) {
out.Printf("Plugin Name: %s\n", d.PluginName)
out.Printf("Plugin Version: %s\n", d.PluginVersion)
DescribePluginDescriptorCapabilities(reg, d, out)
}
-func DescribePluginDescriptorCapabilities(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out common.Printer) {
+func DescribePluginDescriptorCapabilities(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out misc.Printer) {
caps := d.Capabilities()
if len(caps) == 0 {
out.Printf("Capabilities: none\n")
@@ -31,9 +33,9 @@ func DescribePluginDescriptorCapabilities(reg api.ActionTypeRegistry, d *descrip
}
out.Printf("Description: \n")
if d.Long == "" {
- out.Printf("%s\n", utils.IndentLines(d.Short, " "))
+ out.Printf("%s\n", stringutils.IndentLines(d.Short, " "))
} else {
- out.Printf("%s\n", utils.IndentLines(d.Long, " "))
+ out.Printf("%s\n", stringutils.IndentLines(d.Long, " "))
}
if len(d.AccessMethods) > 0 {
out.Printf("\n")
@@ -144,18 +146,18 @@ func GetAccessMethodInfo(methods []descriptor.AccessMethodDescriptor) map[string
return found
}
-func DescribeAccessMethods(d *descriptor.Descriptor, out common.Printer) {
+func DescribeAccessMethods(d *descriptor.Descriptor, out misc.Printer) {
methods := GetAccessMethodInfo(d.AccessMethods)
- for _, n := range utils.StringMapKeys(methods) {
+ for _, n := range maputils.OrderedKeys(methods) {
out.Printf("- Name: %s\n", n)
m := methods[n]
if m.Description != "" {
- out.Printf("%s\n", utils.IndentLines(m.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(m.Description, " "))
}
out := out.AddGap(" ")
out.Printf("Versions:\n")
- for _, vn := range utils.StringMapKeys(m.Versions) {
+ for _, vn := range maputils.OrderedKeys(m.Versions) {
out.Printf("- Version: %s\n", vn)
out := out.AddGap(" ")
v := m.Versions[vn]
@@ -221,21 +223,21 @@ func GetActionInfo(reg api.ActionTypeRegistry, actions []descriptor.ActionDescri
return found
}
-func DescribeActions(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out common.Printer) {
+func DescribeActions(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out misc.Printer) {
actions := GetActionInfo(reg, d.Actions)
- for _, n := range utils.StringMapKeys(actions) {
+ for _, n := range maputils.OrderedKeys(actions) {
a := actions[n]
out.Printf("- Name: %s%s\n", n, a.Error)
if a.Description != "" {
- out.Printf("%s\n", utils.IndentLines(a.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.Description, " "))
}
if a.Usage != "" {
- out.Printf("\n%s\n", utils.IndentLines(a.Usage, " "))
+ out.Printf("\n%s\n", stringutils.IndentLines(a.Usage, " "))
}
if a.ActionDesc != "" {
out.Printf(" Info:\n")
- out.Printf("%s\n", utils.IndentLines(a.ActionDesc, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.ActionDesc, " "))
}
out := out.AddGap(" ")
if a.BestVersion == "" {
@@ -270,28 +272,28 @@ func DescribeActions(reg api.ActionTypeRegistry, d *descriptor.Descriptor, out c
}
}
-func DescribeValueMergeHandlers(d *descriptor.Descriptor, out common.Printer) {
+func DescribeValueMergeHandlers(d *descriptor.Descriptor, out misc.Printer) {
handlers := map[string]descriptor.ValueMergeHandlerDescriptor{}
for _, h := range d.ValueMergeHandlers {
handlers[h.GetName()] = h
}
- for _, n := range utils.StringMapKeys(handlers) {
+ for _, n := range maputils.OrderedKeys(handlers) {
a := handlers[n]
out.Printf("- Name: %s\n", n)
if a.Description != "" {
- out.Printf("%s\n", utils.IndentLines(a.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.Description, " "))
}
}
}
-func DescribeLabelMergeSpecifications(d *descriptor.Descriptor, out common.Printer) {
+func DescribeLabelMergeSpecifications(d *descriptor.Descriptor, out misc.Printer) {
handlers := map[string]descriptor.LabelMergeSpecification{}
for _, h := range d.LabelMergeSpecifications {
handlers[h.GetName()] = h
}
- for _, n := range utils.StringMapKeys(handlers) {
+ for _, n := range maputils.OrderedKeys(handlers) {
a := handlers[n]
out.Printf("- Name: %s\n", n)
if a.Description != "" {
@@ -300,7 +302,7 @@ func DescribeLabelMergeSpecifications(d *descriptor.Descriptor, out common.Print
out.Printf(" Config: %s\n", string(a.Config))
}
if a.Description != "" {
- out.Printf("%s\n", utils.IndentLines(a.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.Description, " "))
}
}
}
@@ -372,19 +374,19 @@ func GetValueSetInfo(valuesets []descriptor.ValueSetDescriptor) map[string]*Valu
return found
}
-func DescribeValueSets(d *descriptor.Descriptor, out common.Printer) {
+func DescribeValueSets(d *descriptor.Descriptor, out misc.Printer) {
valuesets := GetValueSetInfo(d.ValueSets)
- for _, n := range utils.StringMapKeys(valuesets) {
+ for _, n := range maputils.OrderedKeys(valuesets) {
out.Printf("- Name: %s\n", n)
m := valuesets[n]
out.Printf(" Purposes: %s\n", strings.Join(m.Purposes.AsArray(), ", "))
if m.Description != "" {
- out.Printf("%s\n", utils.IndentLines(m.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(m.Description, " "))
}
out := out.AddGap(" ")
out.Printf("Versions:\n")
- for _, vn := range utils.StringMapKeys(m.Versions) {
+ for _, vn := range maputils.OrderedKeys(m.Versions) {
out.Printf("- Version: %s\n", vn)
out := out.AddGap(" ")
v := m.Versions[vn]
@@ -399,13 +401,13 @@ func DescribeValueSets(d *descriptor.Descriptor, out common.Printer) {
}
}
-func DescribeCLIExtensions(d *descriptor.Descriptor, out common.Printer) {
+func DescribeCLIExtensions(d *descriptor.Descriptor, out misc.Printer) {
handlers := map[string]descriptor.CommandDescriptor{}
for _, h := range d.Commands {
handlers[h.GetName()] = h
}
- for _, n := range utils.StringMapKeys(handlers) {
+ for _, n := range maputils.OrderedKeys(handlers) {
a := handlers[n]
s := a.Short
if s != "" {
@@ -441,11 +443,11 @@ func DescribeCLIExtensions(d *descriptor.Descriptor, out common.Printer) {
out.Printf(" Usage: %s\n", usage[1:])
}
if a.Description != "" {
- out.Printf("%s\n", utils.IndentLines(a.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.Description, " "))
}
if a.Example != "" {
out.Printf(" Example:\n")
- out.Printf("%s\n", utils.IndentLines(a.Example, " "))
+ out.Printf("%s\n", stringutils.IndentLines(a.Example, " "))
}
}
}
@@ -495,18 +497,18 @@ func GetTypeInfo(types []descriptor.ConfigTypeDescriptor) map[string]*TypeInfo {
return found
}
-func DescribeConfigTypes(d *descriptor.Descriptor, out common.Printer) {
+func DescribeConfigTypes(d *descriptor.Descriptor, out misc.Printer) {
types := GetTypeInfo(d.ConfigTypes)
- for _, n := range utils.StringMapKeys(types) {
+ for _, n := range maputils.OrderedKeys(types) {
out.Printf("- Name: %s\n", n)
m := types[n]
if m.Description != "" {
- out.Printf("%s\n", utils.IndentLines(m.Description, " "))
+ out.Printf("%s\n", stringutils.IndentLines(m.Description, " "))
}
out := out.AddGap(" ")
out.Printf("Versions:\n")
- for _, vn := range utils.StringMapKeys(m.Versions) {
+ for _, vn := range maputils.OrderedKeys(m.Versions) {
out.Printf("- Version: %s\n", vn)
out := out.AddGap(" ")
v := m.Versions[vn]
@@ -528,7 +530,7 @@ type DescribableElement[C Describable] interface {
}
// ListElements lists describable elements.
-func ListElements[E DescribableElement[C], C Describable](msg string, elems []E, out common.Printer) {
+func ListElements[E DescribableElement[C], C Describable](msg string, elems []E, out misc.Printer) {
keys := map[string]E{}
for _, e := range elems {
keys[e.GetName()] = e
@@ -536,7 +538,7 @@ func ListElements[E DescribableElement[C], C Describable](msg string, elems []E,
if len(keys) > 0 {
out.Printf("%s:\n", msg)
}
- for _, n := range utils.StringMapKeys(keys) {
+ for _, n := range maputils.OrderedKeys(keys) {
m := keys[n]
out.Printf("- Name: %s\n", n)
out := out.AddGap(" ")
@@ -550,7 +552,7 @@ func ListElements[E DescribableElement[C], C Describable](msg string, elems []E,
if len(m.GetConstraints()) > 0 {
out.Printf("Registration Constraints:\n")
for _, c := range m.GetConstraints() {
- out.Printf("- %s\n", utils.IndentLines(c.Describe(), " ", true))
+ out.Printf("- %s\n", stringutils.IndentLines(c.Describe(), " ", true))
}
}
}
diff --git a/api/ocm/plugin/plugins/plugins.go b/api/ocm/plugin/plugins/plugins.go
index 53e20d2f08..f143e5e300 100644
--- a/api/ocm/plugin/plugins/plugins.go
+++ b/api/ocm/plugin/plugins/plugins.go
@@ -4,13 +4,14 @@ import (
"encoding/json"
"sync"
+ "github.com/mandelsoft/goutils/maputils"
+
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/plugin"
"ocm.software/ocm/api/ocm/plugin/cache"
"ocm.software/ocm/api/ocm/plugin/config"
"ocm.software/ocm/api/ocm/plugin/descriptor"
- "ocm.software/ocm/api/utils"
)
type Set = *pluginsImpl
@@ -97,7 +98,7 @@ func (pi *pluginsImpl) PluginNames() []string {
pi.lock.RLock()
defer pi.lock.RUnlock()
- return utils.StringMapKeys(pi.plugins)
+ return maputils.OrderedKeys(pi.plugins)
}
func (pi *pluginsImpl) Get(name string) plugin.Plugin {
diff --git a/api/ocm/plugin/ppi/plugin.go b/api/ocm/plugin/ppi/plugin.go
index 3cd44bdbfe..d0847aa7c4 100644
--- a/api/ocm/plugin/ppi/plugin.go
+++ b/api/ocm/plugin/ppi/plugin.go
@@ -608,7 +608,7 @@ func (p *plugin) GetConfigType(name string) *descriptor.ConfigTypeDescriptor {
return &d
}
if d.Name == name && (def == nil || d.Version == "v1") {
- def = generics.Pointer(d)
+ def = generics.PointerTo(d)
}
}
return def
diff --git a/api/ocm/ref.go b/api/ocm/ref.go
index 72f0b08e84..7384fac20f 100644
--- a/api/ocm/ref.go
+++ b/api/ocm/ref.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/grammar"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// ParseRepo parses a standard ocm repository reference into a internal representation.
@@ -217,11 +217,11 @@ func (r *CompSpec) IsVersion() bool {
return r.Version != nil
}
-func (r *CompSpec) NameVersion() common.NameVersion {
+func (r *CompSpec) NameVersion() misc.NameVersion {
if r.Version != nil {
- return common.NewNameVersion(r.Component, *r.Version)
+ return misc.NewNameVersion(r.Component, *r.Version)
}
- return common.NewNameVersion(r.Component, "-")
+ return misc.NewNameVersion(r.Component, "-")
}
func (r *CompSpec) Reference() string {
diff --git a/api/ocm/ref_test.go b/api/ocm/ref_test.go
index ac35cefa4a..d30a5921aa 100644
--- a/api/ocm/ref_test.go
+++ b/api/ocm/ref_test.go
@@ -5,9 +5,10 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
- "ocm.software/ocm/api/utils"
)
func Type(t string) string {
@@ -73,7 +74,7 @@ func CheckRef(ref, ut, scheme, h, us, c, uv, i string, th ...string) {
Host: h,
SubPath: us,
Info: i,
- TypeHint: utils.Optional(th...),
+ TypeHint: general.Optional(th...),
CreateIfMissing: ref[0] == '+',
},
CompSpec: ocm.CompSpec{
diff --git a/api/ocm/resolvers/resolver.go b/api/ocm/resolvers/resolver.go
index 4c74feda21..876ea3da92 100644
--- a/api/ocm/resolvers/resolver.go
+++ b/api/ocm/resolvers/resolver.go
@@ -8,7 +8,7 @@ import (
"github.com/mandelsoft/goutils/sliceutils"
"ocm.software/ocm/api/ocm/internal"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type DedicatedResolver []ComponentVersionAccess
@@ -111,7 +111,7 @@ func (c *CompoundResolver) LookupComponentVersion(name string, version string) (
return nil, err
}
}
- return nil, errors.ErrNotFound(KIND_OCM_REFERENCE, common.NewNameVersion(name, version).String())
+ return nil, errors.ErrNotFound(KIND_OCM_REFERENCE, misc.NewNameVersion(name, version).String())
}
func (c *CompoundResolver) LookupComponentProviders(name string) []ResolvedComponentProvider {
diff --git a/api/ocm/resourcerefs/resourceref.go b/api/ocm/resourcerefs/resourceref.go
index 67aa27afd5..b1cd2034a7 100644
--- a/api/ocm/resourcerefs/resourceref.go
+++ b/api/ocm/resourcerefs/resourceref.go
@@ -10,7 +10,7 @@ import (
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
ocm "ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/resolvers"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func ResolveReferencePath(cv ocm.ComponentVersionAccess, path []metav1.Identity, resolver ocm.ComponentVersionResolver) (ocm.ComponentVersionAccess, error) {
@@ -29,7 +29,7 @@ func ResolveReferencePath(cv ocm.ComponentVersionAccess, path []metav1.Identity,
final.Close(eff)
cref, err := eff.GetReference(cr)
if err != nil {
- return nil, errors.Wrapf(err, "%s", common.VersionedElementKey(cv))
+ return nil, errors.Wrapf(err, "%s", misc.VersionedElementKey(cv))
}
compoundResolver := resolvers.NewCompoundResolver(eff.Repository(), resolver)
diff --git a/api/ocm/selectors/labelsel/interface.go b/api/ocm/selectors/labelsel/interface.go
index d333562dd1..48062bcb09 100644
--- a/api/ocm/selectors/labelsel/interface.go
+++ b/api/ocm/selectors/labelsel/interface.go
@@ -7,12 +7,12 @@ import (
"reflect"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mikefarah/yq/v4/pkg/yqlib"
"gopkg.in/op/go-logging.v1"
v1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/selectors"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -64,7 +64,7 @@ func (n signed) MatchLabel(l *v1.Label) bool {
}
func Signed(b ...bool) *selectors.LabelSelectorImpl {
- return &selectors.LabelSelectorImpl{signed(utils.OptionalDefaultedBool(true, b...))}
+ return &selectors.LabelSelectorImpl{signed(general.OptionalDefaultedBool(true, b...))}
}
///////////////////////////////////////////////////////////////////////////////
diff --git a/api/ocm/session.go b/api/ocm/session.go
index a5bad06986..c948ccb76b 100644
--- a/api/ocm/session.go
+++ b/api/ocm/session.go
@@ -9,7 +9,7 @@ import (
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/ocm/internal"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -156,7 +156,7 @@ func (s *session) LookupComponentVersion(r ComponentVersionResolver, comp, vers
key := datacontext.ObjectKey{
Object: r,
- Name: common.NewNameVersion(comp, vers).String(),
+ Name: misc.NewNameVersion(comp, vers).String(),
}
s.base.Lock()
defer s.base.Unlock()
diff --git a/api/ocm/tools/signing/digest.go b/api/ocm/tools/signing/digest.go
index 2b6ca54c64..ece0e75e9c 100644
--- a/api/ocm/tools/signing/digest.go
+++ b/api/ocm/tools/signing/digest.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/ocm/cpi/accspeccpi"
"ocm.software/ocm/api/ocm/extensions/accessmethods/none"
"ocm.software/ocm/api/ocm/extensions/attrs/signingattr"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// VerifyResourceDigestByResourceAccess verifies the digest of a resource passed by ResourceAccess.
@@ -68,10 +68,10 @@ func VerifyResourceDigest(cv ocm.ComponentVersionAccess, i int, bacc ocm.DataAcc
if store != nil {
vcd := store.Get(cv)
if vcd == nil {
- return false, fmt.Errorf("component version %s not verified", common.VersionedElementKey(cv))
+ return false, fmt.Errorf("component version %s not verified", misc.VersionedElementKey(cv))
}
if !vcd.Resources[i].Digest.Equal(raw.Digest) {
- return false, fmt.Errorf("component version %s corrupted", common.VersionedElementKey(cv))
+ return false, fmt.Errorf("component version %s corrupted", misc.VersionedElementKey(cv))
}
}
diff --git a/api/ocm/tools/signing/digestctx.go b/api/ocm/tools/signing/digestctx.go
index 3091bcb6b1..023ac5425a 100644
--- a/api/ocm/tools/signing/digestctx.go
+++ b/api/ocm/tools/signing/digestctx.go
@@ -12,19 +12,19 @@ import (
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/signutils"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type RootContextInfo struct {
- CtxKey common.NameVersion
+ CtxKey misc.NameVersion
Sign bool
DigestType ocm.DigesterType
Hasher signing.Hasher
- In map[common.NameVersion]*metav1.NestedComponentDigests
- Out map[common.NameVersion]*metav1.NestedComponentDigests
+ In map[misc.NameVersion]*metav1.NestedComponentDigests
+ Out map[misc.NameVersion]*metav1.NestedComponentDigests
}
-func (dc *RootContextInfo) GetPreset(nv common.NameVersion) *metav1.NestedComponentDigests {
+func (dc *RootContextInfo) GetPreset(nv misc.NameVersion) *metav1.NestedComponentDigests {
if p := dc.Out[nv]; p != nil {
return p
}
@@ -37,27 +37,27 @@ func (dc *RootContextInfo) GetPreset(nv common.NameVersion) *metav1.NestedCompon
type DigestContext struct {
*RootContextInfo
- Key common.NameVersion
+ Key misc.NameVersion
Parent *DigestContext
Descriptor *compdesc.ComponentDescriptor
Digest *metav1.DigestSpec
Signed bool
- Source common.NameVersion
- Refs map[common.NameVersion]*metav1.DigestSpec
+ Source misc.NameVersion
+ Refs map[misc.NameVersion]*metav1.DigestSpec
}
func NewDigestContext(cd *compdesc.ComponentDescriptor, parent *DigestContext) *DigestContext {
var root *RootContextInfo
- key := common.VersionedElementKey(cd)
+ key := misc.VersionedElementKey(cd)
if parent == nil {
root = &RootContextInfo{
CtxKey: key,
- Out: map[common.NameVersion]*metav1.NestedComponentDigests{},
- In: map[common.NameVersion]*metav1.NestedComponentDigests{},
+ Out: map[misc.NameVersion]*metav1.NestedComponentDigests{},
+ In: map[misc.NameVersion]*metav1.NestedComponentDigests{},
}
for _, c := range cd.NestedDigests {
- nv := common.NewNameVersion(c.Name, c.Version)
+ nv := misc.NewNameVersion(c.Name, c.Version)
digs := metav1.NestedComponentDigests{
Name: nv.GetName(),
Version: nv.GetVersion(),
@@ -82,7 +82,7 @@ func NewDigestContext(cd *compdesc.ComponentDescriptor, parent *DigestContext) *
Key: key,
Parent: parent,
Descriptor: cd,
- Refs: map[common.NameVersion]*metav1.DigestSpec{},
+ Refs: map[misc.NameVersion]*metav1.DigestSpec{},
}
}
diff --git a/api/ocm/tools/signing/handle.go b/api/ocm/tools/signing/handle.go
index a768cd3420..09763db4b9 100644
--- a/api/ocm/tools/signing/handle.go
+++ b/api/ocm/tools/signing/handle.go
@@ -22,7 +22,7 @@ import (
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/signutils"
"ocm.software/ocm/api/tech/signing/tsa"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var REALM = logging.NewRealm("signing")
@@ -40,26 +40,26 @@ func ArtefactDigest(r *compdesc.Resource) metav1.ArtefactDigest {
// and provides the digest context used for a dedicated root component
// this component version is digested for (by following component references).
type VersionInfo struct {
- digestingContexts map[common.NameVersion]*DigestContext
+ digestingContexts map[misc.NameVersion]*DigestContext
}
func NewVersionInfo(cd *compdesc.ComponentDescriptor, parent *DigestContext) (*VersionInfo, *DigestContext) {
vi := &VersionInfo{
- digestingContexts: map[common.NameVersion]*DigestContext{},
+ digestingContexts: map[misc.NameVersion]*DigestContext{},
}
return vi, vi.CreateContext(cd, parent)
}
-func (vi *VersionInfo) GetContext(nv common.NameVersion) *DigestContext {
+func (vi *VersionInfo) GetContext(nv misc.NameVersion) *DigestContext {
return vi.digestingContexts[nv]
}
func (vi *VersionInfo) CreateContext(cd *compdesc.ComponentDescriptor, parent *DigestContext) *DigestContext {
- var key common.NameVersion
+ var key misc.NameVersion
if parent != nil {
key = parent.CtxKey
} else {
- key = common.VersionedElementKey(cd)
+ key = misc.VersionedElementKey(cd)
}
nctx := NewDigestContext(cd.Copy(), parent)
@@ -83,14 +83,14 @@ func (vi *VersionInfo) CreateContext(cd *compdesc.ComponentDescriptor, parent *D
}
type WalkingState struct {
- common.WalkingState[*VersionInfo, *DigestContext]
+ misc.WalkingState[*VersionInfo, *DigestContext]
}
func NewWalkingState(lctx ...logging.Context) WalkingState {
- return WalkingState{common.NewWalkingState[*VersionInfo, *DigestContext](nil, lctx...)}
+ return WalkingState{misc.NewWalkingState[*VersionInfo, *DigestContext](nil, lctx...)}
}
-func (s *WalkingState) GetContext(nv common.NameVersion, ctxkey common.NameVersion) *DigestContext {
+func (s *WalkingState) GetContext(nv misc.NameVersion, ctxkey misc.NameVersion) *DigestContext {
vi := s.Get(nv)
if vi == nil {
return nil
@@ -103,7 +103,7 @@ func DefaultWalkingState(octx ocm.ContextProvider) *WalkingState {
return &s
}
-func Apply(printer common.Printer, state *WalkingState, cv ocm.ComponentVersionAccess, opts *Options, closecv ...bool) (*metav1.DigestSpec, error) {
+func Apply(printer misc.Printer, state *WalkingState, cv ocm.ComponentVersionAccess, opts *Options, closecv ...bool) (*metav1.DigestSpec, error) {
if printer != nil {
opts = opts.Dup()
opts.Printer = printer
@@ -114,7 +114,7 @@ func Apply(printer common.Printer, state *WalkingState, cv ocm.ComponentVersionA
func ApplyWithContext(ctx context.Context, state *WalkingState, cv ocm.ComponentVersionAccess, opts *Options, closecv ...bool) (*metav1.DigestSpec, error) {
if opts.Printer == nil {
opts = opts.Dup()
- opts.Printer = common.GetPrinter(ctx)
+ opts.Printer = misc.GetPrinter(ctx)
}
err := opts.Complete(cv.GetContext())
if err != nil {
@@ -136,7 +136,7 @@ func ListComponentDescriptors(cv ocm.ComponentVersionAccess, state *WalkingState
return []*compdesc.ComponentDescriptor{}
}
c := state.WalkingState.Closure
- nv := common.VersionedElementKey(cv)
+ nv := misc.VersionedElementKey(cv)
return maputils.TransformedValues(c, func(in *VersionInfo) *compdesc.ComponentDescriptor {
return in.digestingContexts[nv].Descriptor
})
@@ -156,7 +156,7 @@ func apply(ctx context.Context, state WalkingState, cv ocm.ComponentVersionAcces
return cv.Close()
}
}
- nv := common.VersionedElementKey(cv)
+ nv := misc.VersionedElementKey(cv)
defer errors.PropagateErrorf(&efferr, closer, "%s", state.History.Append(nv))
vi := state.Get(nv)
@@ -175,8 +175,8 @@ func apply(ctx context.Context, state WalkingState, cv ocm.ComponentVersionAcces
return _apply(ctx, state, nv, cv, vi, opts)
}
-func _apply(cctx context.Context, state WalkingState, nv common.NameVersion, cv ocm.ComponentVersionAccess, vi *VersionInfo, opts *Options) (*DigestContext, error) { //nolint: maintidx // yes
- if err := common.IsContextCanceled(cctx); err != nil {
+func _apply(cctx context.Context, state WalkingState, nv misc.NameVersion, cv ocm.ComponentVersionAccess, vi *VersionInfo, opts *Options) (*DigestContext, error) { //nolint: maintidx // yes
+ if err := misc.IsContextCanceled(cctx); err != nil {
opts.Printer.Printf("cancelled by caller\n")
return nil, err
}
@@ -368,7 +368,7 @@ func _apply(cctx context.Context, state WalkingState, nv common.NameVersion, cv
}
signature.Timestamp = &metav1.TimestampSpec{
Value: string(data),
- Time: generics.Pointer(compdesc.NewTimestampFor(t)),
+ Time: generics.PointerTo(compdesc.NewTimestampFor(t)),
}
}
if found >= 0 {
@@ -615,7 +615,7 @@ func calculateReferenceDigests(cctx context.Context, state WalkingState, opts *O
}
cd.References[i].Digest = nctx.Digest
ctx.Refs[nctx.Key] = nctx.Digest
- state.Logger.Debug("reference digest", "index", i, "reference", common.NewNameVersion(reference.ComponentName, reference.Version), "hashalgo", nctx.Digest.HashAlgorithm, "normalgo", nctx.Digest.NormalisationAlgorithm, "digest", nctx.Digest.Value)
+ state.Logger.Debug("reference digest", "index", i, "reference", misc.NewNameVersion(reference.ComponentName, reference.Version), "hashalgo", nctx.Digest.HashAlgorithm, "normalgo", nctx.Digest.NormalisationAlgorithm, "digest", nctx.Digest.Value)
opts.Printer.Printf(" reference %d: %s:%s: digest %s\n", i, reference.ComponentName, reference.Version, nctx.Digest)
if err := loop.Finalize(); err != nil {
@@ -632,7 +632,7 @@ func calculateResourceDigests(cctx context.Context, state WalkingState, cv ocm.C
octx := cv.GetContext()
blobdigesters := octx.BlobDigesters()
for i, res := range cv.GetResources() {
- if err := common.IsContextCanceled(cctx); err != nil {
+ if err := misc.IsContextCanceled(cctx); err != nil {
opts.Printer.Printf("cancelled by caller\n")
return err
}
@@ -752,14 +752,14 @@ func GetDigestMode(cd *compdesc.ComponentDescriptor, def ...string) string {
func addVerified(state WalkingState, cd *compdesc.ComponentDescriptor, opts *Options, signatures ...string) {
if opts.VerifiedStore != nil {
- _addVerified(state, common.VersionedElementKey(cd), cd, opts, signatures...)
+ _addVerified(state, misc.VersionedElementKey(cd), cd, opts, signatures...)
}
}
-func _addVerified(state WalkingState, ctx common.NameVersion, cd *compdesc.ComponentDescriptor, opts *Options, signatures ...string) {
+func _addVerified(state WalkingState, ctx misc.NameVersion, cd *compdesc.ComponentDescriptor, opts *Options, signatures ...string) {
opts.VerifiedStore.Add(cd, signatures...)
for _, ref := range cd.References {
- nv := common.NewNameVersion(ref.ComponentName, ref.Version)
+ nv := misc.NewNameVersion(ref.ComponentName, ref.Version)
s := state.Get(nv)
rs := s.GetContext(ctx)
if rs != nil {
diff --git a/api/ocm/tools/signing/handler_test.go b/api/ocm/tools/signing/handler_test.go
index 9b743da18f..4d39a181ff 100644
--- a/api/ocm/tools/signing/handler_test.go
+++ b/api/ocm/tools/signing/handler_test.go
@@ -18,7 +18,7 @@ import (
"ocm.software/ocm/api/tech/signing/signutils"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("Simple signing handlers", func() {
@@ -40,7 +40,7 @@ var _ = Describe("Simple signing handlers", func() {
It("cancelled", func() {
var opts signing.Options
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
opts.Printer = p
opts.Eval(
diff --git a/api/ocm/tools/signing/options.go b/api/ocm/tools/signing/options.go
index c5acd2917d..5e99788dc2 100644
--- a/api/ocm/tools/signing/options.go
+++ b/api/ocm/tools/signing/options.go
@@ -8,6 +8,7 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/generics"
+ "github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/datacontext/attrs/rootcertsattr"
"ocm.software/ocm/api/ocm"
@@ -17,8 +18,7 @@ import (
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/hasher/sha256"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option interface {
@@ -28,12 +28,12 @@ type Option interface {
////////////////////////////////////////////////////////////////////////////////
type printer struct {
- printer common.Printer
+ printer misc.Printer
}
// Printer provides an option configuring a printer for a signing/verification
// operation.
-func Printer(p common.Printer) Option {
+func Printer(p misc.Printer) Option {
return &printer{p}
}
@@ -74,7 +74,7 @@ type recursive struct {
// operation. If enabled the operation will be done for all component versions
// in the reference graph.
func Recursive(flags ...bool) Option {
- return &recursive{utils.GetOptionFlag(flags...)}
+ return &recursive{optionutils.GetOptionFlag(flags...)}
}
func (o *recursive) ApplySigningOption(opts *Options) {
@@ -90,7 +90,7 @@ type update struct {
// Update provides an option configuring the update mode for a signing/verification
// operation. Only if enabled, state changes will be persisted.
func Update(flags ...bool) Option {
- return &update{utils.GetOptionFlag(flags...)}
+ return &update{optionutils.GetOptionFlag(flags...)}
}
func (o *update) ApplySigningOption(opts *Options) {
@@ -106,7 +106,7 @@ type verify struct {
// VerifyDigests provides an option requesting signature verification for a
// signing/verification operation.
func VerifyDigests(flags ...bool) Option {
- return &verify{utils.GetOptionFlag(flags...)}
+ return &verify{optionutils.GetOptionFlag(flags...)}
}
func (o *verify) ApplySigningOption(opts *Options) {
@@ -283,7 +283,7 @@ type signame struct {
// SignatureName provides an option requesting to use dedicated signature names
// for a signing/verification operation.
func SignatureName(name string, reset ...bool) Option {
- return &signame{name, utils.Optional(reset...)}
+ return &signame{name, general.Optional(reset...)}
}
func (o *signame) ApplySigningOption(opts *Options) {
@@ -336,9 +336,9 @@ func (o *issuer) ApplySigningOption(opts *Options) {
if opts.Keys == nil {
opts.Keys = signing.NewKeyRegistry()
}
- opts.Keys.RegisterIssuer(o.name, generics.Pointer(o.issuer))
+ opts.Keys.RegisterIssuer(o.name, generics.PointerTo(o.issuer))
} else {
- opts.Issuer = generics.Pointer(o.issuer)
+ opts.Issuer = generics.PointerTo(o.issuer)
}
}
@@ -413,7 +413,7 @@ type tsaOpt struct {
// UseTSA enables the usage of a timestamp server authority.
func UseTSA(flag ...bool) Option {
- return &tsaOpt{use: utils.BoolP(utils.GetOptionFlag(flag...))}
+ return &tsaOpt{use: optionutils.BoolP(optionutils.GetOptionFlag(flag...))}
}
// TSAUrl selects the TSA server URL to use, if TSA mode is enabled.
@@ -449,7 +449,7 @@ func (o *verifyedstore) ApplySigningOption(opts *Options) {
////////////////////////////////////////////////////////////////////////////////
type Options struct {
- Printer common.Printer
+ Printer misc.Printer
Update bool
Recursively bool
DigestMode string
@@ -566,7 +566,7 @@ func (o *Options) Complete(ctx interface{}) error {
return fmt.Errorf("context argument (%T) is invalid", ctx)
}
- o.Printer = common.AssurePrinter(o.Printer)
+ o.Printer = misc.AssurePrinter(o.Printer)
if o.Registry == nil {
o.Registry = reg
diff --git a/api/ocm/tools/signing/signing_test.go b/api/ocm/tools/signing/signing_test.go
index a1f9b74f91..ed489b7345 100644
--- a/api/ocm/tools/signing/signing_test.go
+++ b/api/ocm/tools/signing/signing_test.go
@@ -36,7 +36,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var DefaultContext = ocm.New()
@@ -145,7 +145,7 @@ var _ = Describe("access method", func() {
digest := "123d48879559d16965a54eba9a3e845709770f4f0be984ec8db2f507aa78f338"
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
// key taken from signing attr
dig := Must(SignComponentVersion(cv, SIGNATURE, SignerByAlgo(SIGN_ALGO), Resolver(resolver), DigestMode(mode), Printer(pr)))
Expect(closer.Close()).To(Succeed())
@@ -240,7 +240,7 @@ applying to version "github.com/mandelsoft/test:v1"[github.com/mandelsoft/test:v
)
Expect(opts.Complete(env)).To(Succeed())
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
dig, err := Apply(pr, nil, cv, opts)
Expect(err).To(Succeed())
Expect(closer.Close()).To(Succeed())
@@ -371,7 +371,7 @@ applying to version "github.com/mandelsoft/test:v1"[github.com/mandelsoft/test:v
)
Expect(opts.Complete(env)).To(Succeed())
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
dig, err := Apply(pr, nil, cv, opts)
Expect(err).To(Succeed())
closer.Close()
@@ -1080,7 +1080,7 @@ github.com/mandelsoft/test:v1: SHA-256:${D_COMPA}[jsonNormalisation/v1]
MustBeSuccessful(opts.Complete(env))
digestC := "1e81ac0fe69614e6fd73ab7a1c809dd31fcbcb810f0036be7a296d226e4bd64b"
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
dig := Must(Apply(pr, nil, cv, opts))
Expect(dig.Value).To(StringEqualWithContext(digestC))
@@ -1268,7 +1268,7 @@ applying to version "github.com/mandelsoft/test:v1"[github.com/mandelsoft/test:v
)
MustBeSuccessful(opts.Complete(env))
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
Must(Apply(pr, nil, cv, opts))
Expect(buf.String()).To(StringEqualTrimmedWithContext(`
@@ -1282,8 +1282,8 @@ applying to version "github.com/mandelsoft/ref2:v1"[github.com/mandelsoft/ref2:v
`))
CheckStore(store, cv)
- CheckStore(store, common.NewNameVersion(COMPONENTB, VERSION))
- CheckStore(store, common.NewNameVersion(COMPONENTA, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTB, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTA, VERSION))
})
})
@@ -1374,7 +1374,7 @@ version: v2
digest := "70c1b7f5e2260a283e24788c81ea7f8f6e9a70a8544dbf62d6f3a27285f6b633"
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
// key taken from signing attr
dig := Must(SignComponentVersion(cv, SIGNATURE, SignerByAlgo(SIGN_ALGO), Printer(pr)))
Expect(closer.Close()).To(Succeed())
@@ -1441,10 +1441,10 @@ applying to version "github.com/mandelsoft/test:v1"[github.com/mandelsoft/test:v
})
})
-func CheckStore(store VerifiedStore, ve common.VersionedElement) {
+func CheckStore(store VerifiedStore, ve misc.VersionedElement) {
e := store.Get(ve)
ExpectWithOffset(1, e).NotTo(BeNil())
- ExpectWithOffset(1, common.VersionedElementKey(e)).To(Equal(common.VersionedElementKey(ve)))
+ ExpectWithOffset(1, misc.VersionedElementKey(e)).To(Equal(misc.VersionedElementKey(ve)))
}
func HashComponent(resolver ocm.ComponentVersionResolver, name string, digest string, other ...Option) string {
@@ -1459,7 +1459,7 @@ func HashComponent(resolver ocm.ComponentVersionResolver, name string, digest st
opts.Eval(other...)
ExpectWithOffset(1, opts.Complete(signingattr.Get(DefaultContext))).To(Succeed())
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
dig, err := Apply(pr, nil, cv, opts)
ExpectWithOffset(1, err).To(Succeed())
ExpectWithOffset(1, dig.Value).To(StringEqualWithContext(digest))
@@ -1494,7 +1494,7 @@ func SignComponent(resolver ocm.ComponentVersionResolver, signame, name string,
opts.Eval(other...)
ExpectWithOffset(1, opts.Complete(cv.GetContext())).To(Succeed())
- pr, buf := common.NewBufferedPrinter()
+ pr, buf := misc.NewBufferedPrinter()
dig, err := Apply(pr, nil, cv, opts)
ExpectWithOffset(1, err).To(Succeed())
ExpectWithOffset(1, dig.Value).To(StringEqualWithContext(digest))
diff --git a/api/ocm/tools/signing/store.go b/api/ocm/tools/signing/store.go
index fddad7cb39..d65582fd6a 100644
--- a/api/ocm/tools/signing/store.go
+++ b/api/ocm/tools/signing/store.go
@@ -7,13 +7,14 @@ import (
"github.com/mandelsoft/filepath/pkg/filepath"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
"github.com/mandelsoft/goutils/sliceutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -30,14 +31,14 @@ import (
// component versions (see NewVerifiedStore).
type VerifiedStore interface {
Add(cd *compdesc.ComponentDescriptor, signatures ...string)
- Remove(n common.VersionedElement)
- Get(n common.VersionedElement) *compdesc.ComponentDescriptor
- GetEntry(n common.VersionedElement) *StorageEntry
+ Remove(n misc.VersionedElement)
+ Get(n misc.VersionedElement) *compdesc.ComponentDescriptor
+ GetEntry(n misc.VersionedElement) *StorageEntry
- GetResourceDigest(n common.VersionedElement, id metav1.Identity) *metav1.DigestSpec
- GetResourceDigestByIndex(n common.VersionedElement, idx int) *metav1.DigestSpec
+ GetResourceDigest(n misc.VersionedElement, id metav1.Identity) *metav1.DigestSpec
+ GetResourceDigestByIndex(n misc.VersionedElement, idx int) *metav1.DigestSpec
- Entries() []common.NameVersion
+ Entries() []misc.NameVersion
Load() error
Save() error
@@ -59,7 +60,7 @@ func NewLocalVerifiedStore() VerifiedStore {
// NewVerifiedStore loads or creates a new filesystem based VerifiedStore.
func NewVerifiedStore(path string, fss ...vfs.FileSystem) (VerifiedStore, error) {
- eff, err := utils.ResolvePath(path)
+ eff, err := ioutils.ResolvePath(path)
if err != nil {
return nil, err
}
@@ -134,13 +135,13 @@ func (v *verifiedStore) Save() error {
return nil
}
-func (v *verifiedStore) Entries() []common.NameVersion {
+func (v *verifiedStore) Entries() []misc.NameVersion {
v.lock.Lock()
defer v.lock.Unlock()
- entries := make([]common.NameVersion, 0, len(v.storage.ComponentVersions))
+ entries := make([]misc.NameVersion, 0, len(v.storage.ComponentVersions))
for _, entry := range v.storage.ComponentVersions {
- entries = append(entries, common.VersionedElementKey(entry.Descriptor))
+ entries = append(entries, misc.VersionedElementKey(entry.Descriptor))
}
return entries
}
@@ -155,7 +156,7 @@ func (v *verifiedStore) Add(cd *compdesc.ComponentDescriptor, signatures ...stri
if v.storage.ComponentVersions == nil {
v.storage.ComponentVersions = map[string]*StorageEntry{}
}
- key := common.VersionedElementKey(cd).String()
+ key := misc.VersionedElementKey(cd).String()
old := v.storage.ComponentVersions[key]
if old == nil || !old.Descriptor.Descriptor().Equal(cd) {
old = &StorageEntry{
@@ -168,32 +169,32 @@ func (v *verifiedStore) Add(cd *compdesc.ComponentDescriptor, signatures ...stri
v.storage.ComponentVersions[key] = old
}
-func (v *verifiedStore) Remove(n common.VersionedElement) {
+func (v *verifiedStore) Remove(n misc.VersionedElement) {
v.lock.Lock()
defer v.lock.Unlock()
- delete(v.storage.ComponentVersions, common.VersionedElementKey(n).String())
+ delete(v.storage.ComponentVersions, misc.VersionedElementKey(n).String())
}
-func (v *verifiedStore) GetEntry(n common.VersionedElement) *StorageEntry {
+func (v *verifiedStore) GetEntry(n misc.VersionedElement) *StorageEntry {
v.lock.Lock()
defer v.lock.Unlock()
- return v.storage.ComponentVersions[common.VersionedElementKey(n).String()]
+ return v.storage.ComponentVersions[misc.VersionedElementKey(n).String()]
}
-func (v *verifiedStore) Get(n common.VersionedElement) *compdesc.ComponentDescriptor {
+func (v *verifiedStore) Get(n misc.VersionedElement) *compdesc.ComponentDescriptor {
v.lock.Lock()
defer v.lock.Unlock()
- entry := v.storage.ComponentVersions[common.VersionedElementKey(n).String()]
+ entry := v.storage.ComponentVersions[misc.VersionedElementKey(n).String()]
if entry == nil {
return nil
}
return entry.Descriptor.Descriptor()
}
-func (v *verifiedStore) GetResourceDigest(n common.VersionedElement, id metav1.Identity) *metav1.DigestSpec {
+func (v *verifiedStore) GetResourceDigest(n misc.VersionedElement, id metav1.Identity) *metav1.DigestSpec {
cd := v.Get(n)
if cd == nil {
return nil
@@ -205,7 +206,7 @@ func (v *verifiedStore) GetResourceDigest(n common.VersionedElement, id metav1.I
return r.Digest
}
-func (v *verifiedStore) GetResourceDigestByIndex(n common.VersionedElement, idx int) *metav1.DigestSpec {
+func (v *verifiedStore) GetResourceDigestByIndex(n misc.VersionedElement, idx int) *metav1.DigestSpec {
cd := v.Get(n)
if cd == nil {
return nil
diff --git a/api/ocm/tools/signing/store_test.go b/api/ocm/tools/signing/store_test.go
index c9a44164de..b760350266 100644
--- a/api/ocm/tools/signing/store_test.go
+++ b/api/ocm/tools/signing/store_test.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm/compdesc/versions/ocm.software/v3alpha1"
v2 "ocm.software/ocm/api/ocm/compdesc/versions/v2"
"ocm.software/ocm/api/ocm/tools/signing"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -62,11 +62,11 @@ var _ = Describe("Store", func() {
desc := signing.StorageDescriptor{
ComponentVersions: map[string]*signing.StorageEntry{
- common.VersionedElementKey(cd1).String(): {
+ misc.VersionedElementKey(cd1).String(): {
Signatures: []string{"a"},
Descriptor: (*compdesc.GenericComponentDescriptor)(cd1),
},
- common.VersionedElementKey(cd2).String(): {
+ misc.VersionedElementKey(cd2).String(): {
Signatures: []string{"b", "c"},
Descriptor: (*compdesc.GenericComponentDescriptor)(cd2),
},
diff --git a/api/ocm/tools/signing/transport_test.go b/api/ocm/tools/signing/transport_test.go
index c5294e2d1d..0c4f5606d0 100644
--- a/api/ocm/tools/signing/transport_test.go
+++ b/api/ocm/tools/signing/transport_test.go
@@ -25,7 +25,7 @@ import (
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -154,7 +154,7 @@ var _ = Describe("transport and signing", func() {
desc := cv.GetDescriptor().Copy()
- printer, buf := common.NewBufferedPrinter()
+ printer, buf := misc.NewBufferedPrinter()
// transport
handler := Must(standard.New(standard.ResourcesByValue()))
MustBeSuccessful(transfer.TransferVersion(printer, nil, cv, target, handler))
@@ -301,7 +301,7 @@ func sourceSignature(cv, tcv ocm.ComponentVersionAccess, merged *compdesc.Compon
signing.Sign(signingattr.Get(cv.GetContext()).GetSigner(SIGN_ALGO), SIGNATURE2),
signing.Update(), signing.VerifyDigests(),
)
- spec, err := signing.Apply(common.NewPrinter(nil), nil, cv, sopts)
+ spec, err := signing.Apply(misc.NewPrinter(nil), nil, cv, sopts)
ExpectWithOffset(1, err).To(Succeed())
signatures := []compdesc.Signature{
diff --git a/api/ocm/tools/toi/drivers/mock/driver.go b/api/ocm/tools/toi/drivers/mock/driver.go
index 034bee5cb9..c7cb3ba801 100644
--- a/api/ocm/tools/toi/drivers/mock/driver.go
+++ b/api/ocm/tools/toi/drivers/mock/driver.go
@@ -1,8 +1,9 @@
package mock
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/ocm/tools/toi/install"
- "ocm.software/ocm/api/utils"
)
type Driver struct {
@@ -12,7 +13,7 @@ type Driver struct {
var _ install.Driver = (*Driver)(nil)
func New(handler ...func(*install.Operation) (*install.OperationResult, error)) install.Driver {
- return &Driver{utils.Optional(handler...)}
+ return &Driver{general.Optional(handler...)}
}
func (d *Driver) SetConfig(props map[string]string) error {
diff --git a/api/ocm/tools/toi/install/action.go b/api/ocm/tools/toi/install/action.go
index ef7f9f6d31..e32a820324 100644
--- a/api/ocm/tools/toi/install/action.go
+++ b/api/ocm/tools/toi/install/action.go
@@ -9,6 +9,7 @@ import (
"github.com/ghodss/yaml"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/xeipuuv/gojsonschema"
@@ -26,12 +27,11 @@ import (
"ocm.software/ocm/api/ocm/tools/toi"
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/spiff"
)
@@ -285,7 +285,7 @@ func ProcessConfig(name string, octx ocm.Context, cv ocm.ComponentVersionAccess,
}
// ExecuteAction prepared the execution options and executes the action.
-func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpecification, creds *Credentials, params []byte, octxp ocm.ContextProvider, cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver) (*OperationResult, error) {
+func ExecuteAction(p misc.Printer, d Driver, name string, spec *toi.PackageSpecification, creds *Credentials, params []byte, octxp ocm.ContextProvider, cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver) (*OperationResult, error) {
var err error
var finalize Finalizer
@@ -349,7 +349,7 @@ func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpe
if econfig == nil {
p.Printf("no executor config found\n")
} else {
- p.Printf("using executor config:\n%s\n", utils.IndentLines(string(econfig), " "))
+ p.Printf("using executor config:\n%s\n", stringutils.IndentLines(string(econfig), " "))
}
// handle credentials
credreqs, credmapping, err := CheckCredentialRequests(executor, spec, &espec.Spec)
@@ -388,7 +388,7 @@ func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpe
}
{
data, _ := yaml.Marshal(ccfg)
- p.Printf("using ocm config:\n%s\n", utils.IndentLines(string(data), " "))
+ p.Printf("using ocm config:\n%s\n", stringutils.IndentLines(string(data), " "))
}
// prepare user config
@@ -399,7 +399,7 @@ func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpe
if params == nil {
p.Printf("no parameter config found\n")
} else {
- p.Printf("using package parameters:\n:%s\n", utils.IndentLines(string(params), " "))
+ p.Printf("using package parameters:\n:%s\n", stringutils.IndentLines(string(params), " "))
}
if executor.ParameterMapping != nil {
@@ -411,7 +411,7 @@ func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpe
if err == nil {
if !bytes.Equal(orig, params) {
- p.Printf("using executor parameters:\n%s\n", utils.IndentLines(string(params), " "))
+ p.Printf("using executor parameters:\n%s\n", stringutils.IndentLines(string(params), " "))
}
}
}
@@ -453,7 +453,7 @@ func ExecuteAction(p common.Printer, d Driver, name string, spec *toi.PackageSpe
op.Outputs = executor.Outputs
- op.ComponentVersion = common.VersionedElementKey(cv).String()
+ op.ComponentVersion = misc.VersionedElementKey(cv).String()
return d.Exec(op)
}
diff --git a/api/ocm/tools/toi/install/action_test.go b/api/ocm/tools/toi/install/action_test.go
index 417e3148f8..34f7158e52 100644
--- a/api/ocm/tools/toi/install/action_test.go
+++ b/api/ocm/tools/toi/install/action_test.go
@@ -19,7 +19,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -46,7 +46,7 @@ var _ = Describe("Transfer handler", func() {
var driver *Driver
cid1 := credentials.NewConsumerIdentity("test", hostpath.ID_HOSTNAME, "test.de")
- creds1 := credentials.NewCredentials(common.Properties{"user": "test", "password": "pw"})
+ creds1 := credentials.NewCredentials(misc.Properties{"user": "test", "password": "pw"})
BeforeEach(func() {
env = NewBuilder(FileSystem(memoryfs.New(), ""))
@@ -73,7 +73,7 @@ var _ = Describe("Transfer handler", func() {
It("executes with credential substitution", func() {
env.CredentialsContext().SetCredentialsForConsumer(cid1, creds1)
- p, _ := common.NewBufferedPrinter()
+ p, _ := misc.NewBufferedPrinter()
mapping := `
testparam: (( merge ))
@@ -131,7 +131,7 @@ testparam: value
It("executes with credential property substitution", func() {
env.CredentialsContext().SetCredentialsForConsumer(cid1, creds1)
- p, _ := common.NewBufferedPrinter()
+ p, _ := misc.NewBufferedPrinter()
mapping := `
testparam: (( merge ))
@@ -185,11 +185,11 @@ testparam: value
})
It("executes with single credential property substitution", func() {
- creds1 := credentials.NewCredentials(common.Properties{"user": "test"})
+ creds1 := credentials.NewCredentials(misc.Properties{"user": "test"})
env.CredentialsContext().SetCredentialsForConsumer(cid1, creds1)
- p, _ := common.NewBufferedPrinter()
+ p, _ := misc.NewBufferedPrinter()
mapping := `
testparam: (( merge ))
@@ -245,7 +245,7 @@ testparam: value
It("executes with optional credential substitution without credentials", func() {
env.CredentialsContext().SetCredentialsForConsumer(cid1, creds1)
- p, _ := common.NewBufferedPrinter()
+ p, _ := misc.NewBufferedPrinter()
mapping := `
testparam: (( merge ))
diff --git a/api/ocm/tools/toi/install/credentials.go b/api/ocm/tools/toi/install/credentials.go
index 78988a9174..1ee7a56d0c 100644
--- a/api/ocm/tools/toi/install/credentials.go
+++ b/api/ocm/tools/toi/install/credentials.go
@@ -2,6 +2,7 @@ package install
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/spiff/features"
"github.com/mandelsoft/spiff/spiffing"
@@ -12,8 +13,7 @@ import (
"ocm.software/ocm/api/credentials/extensions/repositories/memory"
memorycfg "ocm.software/ocm/api/credentials/extensions/repositories/memory/config"
"ocm.software/ocm/api/ocm/tools/toi"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -24,7 +24,7 @@ type (
CredentialsRequestSpec = toi.CredentialsRequestSpec
)
-type CredentialValues map[string]common.Properties
+type CredentialValues map[string]misc.Properties
func ParseCredentialSpecification(data []byte, desc string) (*Credentials, error) {
spiff := spiffing.New().WithFeatures(features.CONTROL, features.INTERPOLATION)
@@ -69,7 +69,7 @@ func GetCredentials(ctx credentials.Context, spec *Credentials, req map[string]C
credvalues := CredentialValues{}
var sub *errors.ErrorList
- for _, n := range utils.StringMapKeys(req) {
+ for _, n := range maputils.OrderedKeys(req) {
r := req[n]
list.Add(sub.Result())
sub = errors.ErrListf("credential request %q", n)
@@ -143,9 +143,9 @@ func GetCredentials(ctx credentials.Context, spec *Credentials, req map[string]C
return main, credvalues, list.Result()
}
-func evaluate(ctx credentials.Context, spec *CredentialSpec) (common.Properties, credentials.ConsumerIdentity, error) {
+func evaluate(ctx credentials.Context, spec *CredentialSpec) (misc.Properties, credentials.ConsumerIdentity, error) {
var err error
- var props common.Properties
+ var props misc.Properties
var src credentials.CredentialsSource
cnt := 0
if len(spec.Credentials) > 0 {
diff --git a/api/ocm/tools/toi/install/credentials_test.go b/api/ocm/tools/toi/install/credentials_test.go
index ed1fe1c451..8b0dd64e0c 100644
--- a/api/ocm/tools/toi/install/credentials_test.go
+++ b/api/ocm/tools/toi/install/credentials_test.go
@@ -12,13 +12,13 @@ import (
"ocm.software/ocm/api/credentials/identity/hostpath"
"ocm.software/ocm/api/ocm/tools/toi/install"
"ocm.software/ocm/api/tech/oci/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
var _ = Describe("credential mapping", func() {
consumerid := credentials.NewConsumerIdentity("CT", identity.ID_HOSTNAME, "github.com", identity.ID_PATHPREFIX, "open-component-model")
- ccreds := common.Properties{
+ ccreds := misc.Properties{
"user": "open-component-model",
"pass": "mypass",
}
diff --git a/api/ocm/tools/toi/install/execute.go b/api/ocm/tools/toi/install/execute.go
index 25b466400a..b85e86d396 100644
--- a/api/ocm/tools/toi/install/execute.go
+++ b/api/ocm/tools/toi/install/execute.go
@@ -8,10 +8,10 @@ import (
"ocm.software/ocm/api/ocm/resourcerefs"
"ocm.software/ocm/api/ocm/tools/toi"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func Execute(p common.Printer, d Driver, name string, rid metav1.Identity, credsrc blobaccess.DataSource, paramsrc blobaccess.DataSource, octx ocm.Context, cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver) (*OperationResult, error) {
+func Execute(p misc.Printer, d Driver, name string, rid metav1.Identity, credsrc blobaccess.DataSource, paramsrc blobaccess.DataSource, octx ocm.Context, cv ocm.ComponentVersionAccess, resolver ocm.ComponentVersionResolver) (*OperationResult, error) {
var creds *Credentials
var params []byte
var err error
@@ -35,7 +35,7 @@ func Execute(p common.Printer, d Driver, name string, rid metav1.Identity, creds
ires, _, err := resourcerefs.MatchResourceReference(cv, toi.TypeTOIPackage, metav1.NewResourceRef(rid), nil)
if err != nil {
- return nil, errors.Wrapf(err, "package resource in %s", common.VersionedElementKey(cv).String())
+ return nil, errors.Wrapf(err, "package resource in %s", misc.VersionedElementKey(cv).String())
}
var spec toi.PackageSpecification
diff --git a/api/ocm/tools/toi/spec.go b/api/ocm/tools/toi/spec.go
index f4c30b1eef..d8b1afe3e8 100644
--- a/api/ocm/tools/toi/spec.go
+++ b/api/ocm/tools/toi/spec.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/credentials/cpi"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -109,7 +109,7 @@ type CredentialsRequestSpec struct {
Description string `json:"description"`
// Properties describes the meaning of the used properties for this
// credential set.
- Properties common.Properties `json:"properties"`
+ Properties misc.Properties `json:"properties"`
// Optional set to true make the request optional
Optional bool `json:"optional,omitempty"`
}
@@ -151,7 +151,7 @@ type CredentialSpec struct {
// Reference refers to credentials store in some other repo
Reference *cpi.GenericCredentialsSpec `json:"reference,omitempty"`
// Credentials are direct credentials (one of Reference or Credentials must be set)
- Credentials common.Properties `json:"credentials,omitempty"`
+ Credentials misc.Properties `json:"credentials,omitempty"`
// TargetConsumerId specifies the consumer id to feed with these credentials
TargetConsumerId credentials.ConsumerIdentity `json:"targetConsumerId,omitempty"`
diff --git a/api/ocm/tools/toi/support/app.go b/api/ocm/tools/toi/support/app.go
index cdefa9a447..69b0d32d6c 100644
--- a/api/ocm/tools/toi/support/app.go
+++ b/api/ocm/tools/toi/support/app.go
@@ -20,7 +20,7 @@ import (
"ocm.software/ocm/api/utils/clisupport"
"ocm.software/ocm/api/utils/cobrautils"
"ocm.software/ocm/api/utils/cobrautils/logopts"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/version"
)
@@ -97,7 +97,7 @@ func (o *BootstrapperCLIOptions) Complete() error {
}
id := credentials.ConsumerIdentity{}
- attrs := common.Properties{}
+ attrs := misc.Properties{}
for _, s := range o.CredentialSettings {
i := strings.Index(s, "=")
@@ -112,7 +112,7 @@ func (o *BootstrapperCLIOptions) Complete() error {
if len(attrs) != 0 {
o.Context.CredentialsContext().SetCredentialsForConsumer(id, credentials.NewCredentials(attrs))
id = credentials.ConsumerIdentity{}
- attrs = common.Properties{}
+ attrs = misc.Properties{}
}
name = name[1:]
id[name] = value
diff --git a/api/ocm/tools/toi/support/support.go b/api/ocm/tools/toi/support/support.go
index 5eeb8ffc00..7303f737ea 100644
--- a/api/ocm/tools/toi/support/support.go
+++ b/api/ocm/tools/toi/support/support.go
@@ -5,6 +5,8 @@ import (
"io"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/logging"
"github.com/mandelsoft/vfs/pkg/vfs"
@@ -13,12 +15,11 @@ import (
"ocm.software/ocm/api/datacontext/attrs/vfsattr"
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/extensions/repositories/ctf"
- ocmutils "ocm.software/ocm/api/ocm/ocmutils"
+ "ocm.software/ocm/api/ocm/ocmutils"
"ocm.software/ocm/api/ocm/tools/toi/install"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
)
@@ -51,7 +52,7 @@ func (o *ExecutorOptions) Complete() error {
if o.ComponentVersionName == "" {
return fmt.Errorf("component version required")
}
- compvers, err := common.ParseNameVersion(o.ComponentVersionName)
+ compvers, err := misc.ParseNameVersion(o.ComponentVersionName)
if err != nil {
return fmt.Errorf("unable to parse component name and version: %w", err)
}
@@ -88,14 +89,14 @@ func (o *ExecutorOptions) Complete() error {
}
if o.Config != "" && o.ConfigData == nil {
- o.ConfigData, err = utils.ReadFile(o.Config, o.FileSystem())
+ o.ConfigData, err = optionutils.ReadFile(o.Config, o.FileSystem())
if err != nil {
return errors.Wrapf(err, "cannot read config %q", o.Config)
}
}
if o.OCMConfig == "" {
- cfg, err := utils.ResolvePath(o.Inputs + "/" + install.InputOCMConfig)
+ cfg, err := ioutils.ResolvePath(o.Inputs + "/" + install.InputOCMConfig)
if err != nil {
return errors.Wrapf(err, "cannot resolve OCM config %q", o.Inputs)
}
@@ -110,7 +111,7 @@ func (o *ExecutorOptions) Complete() error {
}
if o.Parameters == "" {
- p, err := utils.ResolvePath(o.Inputs + "/" + install.InputParameters)
+ p, err := ioutils.ResolvePath(o.Inputs + "/" + install.InputParameters)
if err != nil {
return errors.Wrapf(err, "cannot resolve path %q", o.Inputs)
}
@@ -120,7 +121,7 @@ func (o *ExecutorOptions) Complete() error {
}
if o.Parameters != "" && o.ParameterData == nil {
- o.ParameterData, err = utils.ReadFile(o.Parameters, o.FileSystem())
+ o.ParameterData, err = optionutils.ReadFile(o.Parameters, o.FileSystem())
if err != nil {
return errors.Wrapf(err, "cannot read parameters %q", o.Config)
}
diff --git a/api/ocm/tools/transfer/convenience.go b/api/ocm/tools/transfer/convenience.go
index e9eb1cf9d2..4f126631a0 100644
--- a/api/ocm/tools/transfer/convenience.go
+++ b/api/ocm/tools/transfer/convenience.go
@@ -4,14 +4,14 @@ import (
"context"
"ocm.software/ocm/api/ocm"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// TransferWithHandler uses the specified transfer handler to control
// the transfer process.
-func TransferWithHandler(pr common.Printer, cv ocm.ComponentVersionAccess, tgt ocm.Repository, handler TransferHandler) error {
+func TransferWithHandler(pr misc.Printer, cv ocm.ComponentVersionAccess, tgt ocm.Repository, handler TransferHandler) error {
return TransferVersion(pr, nil, cv, tgt, handler)
}
@@ -27,7 +27,7 @@ func Transfer(cv ocm.ComponentVersionAccess, tgt ocm.Repository, optlist ...Tran
if err != nil {
return err
}
- return TransferVersionWithContext(common.WithPrinter(context.Background(), local.printer), nil, cv, tgt, h)
+ return TransferVersionWithContext(misc.WithPrinter(context.Background(), local.printer), nil, cv, tgt, h)
}
// TransferWithContext uses the transfer handler based on the given options to control
@@ -43,7 +43,7 @@ func TransferWithContext(ctx context.Context, cv ocm.ComponentVersionAccess, tgt
return err
}
if local.printer != nil {
- ctx = common.WithPrinter(ctx, local.printer)
+ ctx = misc.WithPrinter(ctx, local.printer)
}
return TransferVersionWithContext(ctx, nil, cv, tgt, h)
}
diff --git a/api/ocm/tools/transfer/options.go b/api/ocm/tools/transfer/options.go
index 74675d4793..fa32ad9935 100644
--- a/api/ocm/tools/transfer/options.go
+++ b/api/ocm/tools/transfer/options.go
@@ -2,7 +2,7 @@ package transfer
import (
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type (
@@ -36,7 +36,7 @@ type (
// To distinguish them from transferhandler options, they do NOT implement
// the transferhandler.TransferOptionsCreator interface.
type localOptions struct {
- printer common.Printer
+ printer misc.Printer
}
func (opts *localOptions) Eval(optlist ...transferhandler.TransferOption) error {
@@ -53,7 +53,7 @@ func (opts *localOptions) Eval(optlist ...transferhandler.TransferOption) error
// WithPrinter provides a explicit printer object. By default,
// a non-printing printer will be used.
-func WithPrinter(p common.Printer) transferhandler.TransferOption {
+func WithPrinter(p misc.Printer) transferhandler.TransferOption {
return &localOptions{
printer: p,
}
diff --git a/api/ocm/tools/transfer/transfer.go b/api/ocm/tools/transfer/transfer.go
index d6b49092fd..c1e11876c4 100644
--- a/api/ocm/tools/transfer/transfer.go
+++ b/api/ocm/tools/transfer/transfer.go
@@ -15,16 +15,16 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer/internal"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
"ocm.software/ocm/api/utils/errkind"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
-type WalkingState = common.WalkingState[*struct{}, interface{}]
+type WalkingState = misc.WalkingState[*struct{}, interface{}]
-type TransportClosure = common.NameVersionInfo[*struct{}]
+type TransportClosure = misc.NameVersionInfo[*struct{}]
-func TransferVersion(printer common.Printer, closure TransportClosure, src ocmcpi.ComponentVersionAccess, tgt ocmcpi.Repository, handler TransferHandler) error {
- return TransferVersionWithContext(common.WithPrinter(context.Background(), common.AssurePrinter(printer)), closure, src, tgt, handler)
+func TransferVersion(printer misc.Printer, closure TransportClosure, src ocmcpi.ComponentVersionAccess, tgt ocmcpi.Repository, handler TransferHandler) error {
+ return TransferVersionWithContext(misc.WithPrinter(context.Background(), misc.AssurePrinter(printer)), closure, src, tgt, handler)
}
func TransferVersionWithContext(ctx context.Context, closure TransportClosure, src ocmcpi.ComponentVersionAccess, tgt ocmcpi.Repository, handler TransferHandler) error {
@@ -36,12 +36,12 @@ func TransferVersionWithContext(ctx context.Context, closure TransportClosure, s
}
func transferVersion(ctx context.Context, log logging.Logger, state WalkingState, src ocmcpi.ComponentVersionAccess, tgt ocmcpi.Repository, handler TransferHandler) (rerr error) {
- printer := common.GetPrinter(ctx)
- if err := common.IsContextCanceled(ctx); err != nil {
+ printer := misc.GetPrinter(ctx)
+ if err := misc.IsContextCanceled(ctx); err != nil {
printer.Printf("transfer cancelled by caller\n")
return err
}
- nv := common.VersionedElementKey(src)
+ nv := misc.VersionedElementKey(src)
log = log.WithValues("history", state.History.String(), "version", nv)
if ok, err := state.Add(ocm.KIND_COMPONENTVERSION, nv); !ok {
return err
@@ -173,7 +173,7 @@ func transferVersion(ctx context.Context, log logging.Logger, state WalkingState
return errors.Wrapf(err, "%s: nested component %s[%s:%s]", state.History, r.GetName(), r.ComponentName, r.GetVersion())
}
if cv != nil {
- list.Add(transferVersion(common.AddPrinterGap(ctx, " "), log.WithValues("ref", r.Name), state, cv, tgt, shdlr))
+ list.Add(transferVersion(misc.AddPrinterGap(ctx, " "), log.WithValues("ref", r.Name), state, cv, tgt, shdlr))
list.Addf(nil, cv.Close(), "closing reference %s", r.Name)
}
}
@@ -220,16 +220,16 @@ func transferVersion(ctx context.Context, log logging.Logger, state WalkingState
return list.Result()
}
-func CopyVersion(printer common.Printer, log logging.Logger, hist common.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, handler TransferHandler) (rerr error) {
- return copyVersion(context.Background(), common.AssurePrinter(printer), log, hist, src, t, src.GetDescriptor().Copy(), handler)
+func CopyVersion(printer misc.Printer, log logging.Logger, hist misc.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, handler TransferHandler) (rerr error) {
+ return copyVersion(context.Background(), misc.AssurePrinter(printer), log, hist, src, t, src.GetDescriptor().Copy(), handler)
}
-func CopyVersionWithContext(cctx context.Context, log logging.Logger, hist common.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, handler TransferHandler) (rerr error) {
- return copyVersion(cctx, common.GetPrinter(cctx), log, hist, src, t, src.GetDescriptor().Copy(), handler)
+func CopyVersionWithContext(cctx context.Context, log logging.Logger, hist misc.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, handler TransferHandler) (rerr error) {
+ return copyVersion(cctx, misc.GetPrinter(cctx), log, hist, src, t, src.GetDescriptor().Copy(), handler)
}
// copyVersion (purely internal) expects an already prepared target comp desc for t given as prep.
-func copyVersion(cctx context.Context, printer common.Printer, log logging.Logger, hist common.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, prep *compdesc.ComponentDescriptor, handler TransferHandler) (rerr error) {
+func copyVersion(cctx context.Context, printer misc.Printer, log logging.Logger, hist misc.History, src ocm.ComponentVersionAccess, t ocm.ComponentVersionAccess, prep *compdesc.ComponentDescriptor, handler TransferHandler) (rerr error) {
var finalize finalizer.Finalizer
defer errors.PropagateError(&rerr, finalize.Finalize)
@@ -245,7 +245,7 @@ func copyVersion(cctx context.Context, printer common.Printer, log logging.Logge
for i, r := range src.GetResources() {
var m ocmcpi.AccessMethod
- if err := common.IsContextCanceled(cctx); err != nil {
+ if err := misc.IsContextCanceled(cctx); err != nil {
printer.Printf("cancelled by caller\n")
return err
}
@@ -313,7 +313,7 @@ func copyVersion(cctx context.Context, printer common.Printer, log logging.Logge
for i, r := range src.GetSources() {
var m ocmcpi.AccessMethod
- if err := common.IsContextCanceled(cctx); err != nil {
+ if err := misc.IsContextCanceled(cctx); err != nil {
printer.Printf("cancelled by caller\n")
return err
}
@@ -350,7 +350,7 @@ func copyVersion(cctx context.Context, printer common.Printer, log logging.Logge
return nil
}
-func notifyArtifactInfo(printer common.Printer, log logging.Logger, kind string, index int, meta compdesc.ArtifactMetaAccess, hint string, msgs ...interface{}) {
+func notifyArtifactInfo(printer misc.Printer, log logging.Logger, kind string, index int, meta compdesc.ArtifactMetaAccess, hint string, msgs ...interface{}) {
msg := "copying"
cmsg := "..."
if len(msgs) > 0 {
diff --git a/api/ocm/tools/transfer/transferhandler/spiff/options.go b/api/ocm/tools/transfer/transferhandler/spiff/options.go
index 68ba1c2aa4..9efbaed377 100644
--- a/api/ocm/tools/transfer/transferhandler/spiff/options.go
+++ b/api/ocm/tools/transfer/transferhandler/spiff/options.go
@@ -2,6 +2,7 @@ package spiff
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
"github.com/mandelsoft/spiff/spiffing"
"github.com/mandelsoft/vfs/pkg/vfs"
@@ -114,7 +115,7 @@ func Script(data []byte) transferhandler.TransferOption {
}
func ScriptByFile(path string, fss ...vfs.FileSystem) transferhandler.TransferOption {
- path, _ = utils.ResolvePath(path)
+ path, _ = ioutils.ResolvePath(path)
return &scriptOption{
source: path,
script: func() ([]byte, error) { return vfs.ReadFile(utils.FileSystem(fss...), path) },
diff --git a/api/ocm/tools/transfer/transferhandler/standard/compat_test.go b/api/ocm/tools/transfer/transferhandler/standard/compat_test.go
index 5e0db6b981..9f6b09222b 100644
--- a/api/ocm/tools/transfer/transferhandler/standard/compat_test.go
+++ b/api/ocm/tools/transfer/transferhandler/standard/compat_test.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -35,7 +35,7 @@ var _ = Describe("Transfer Test Environment", func() {
tgt := Must(ctf.Create(env.OCMContext(), accessobj.ACC_WRITABLE|accessobj.ACC_CREATE, OUT, 0o700, accessio.FormatDirectory, env))
defer Close(tgt, "target")
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
MustBeSuccessful(transfer.Transfer(cv, tgt, transfer.WithPrinter(p)))
Expect(env.DirExists(OUT)).To(BeTrue())
diff --git a/api/ocm/tools/transfer/transferhandler/standard/handler_test.go b/api/ocm/tools/transfer/transferhandler/standard/handler_test.go
index 82e9bfac38..1069113341 100644
--- a/api/ocm/tools/transfer/transferhandler/standard/handler_test.go
+++ b/api/ocm/tools/transfer/transferhandler/standard/handler_test.go
@@ -36,7 +36,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -119,11 +119,11 @@ var _ = Describe("Transfer handler", func() {
defer Close(tgt, "target")
// handler, err := standard.New(standard.ResourcesByValue())
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
opts := []transferhandler.TransferOption{standard.ResourcesByValue(), &optionsChecker{}}
ctx, cancel := context.WithCancel(context.Background())
- ctx = common.WithPrinter(ctx, p)
+ ctx = misc.WithPrinter(ctx, p)
cancel()
ExpectError(transfer.TransferWithContext(ctx, cv, tgt, opts...)).To(MatchError(context.Canceled))
@@ -164,7 +164,7 @@ var _ = Describe("Transfer handler", func() {
defer Close(tgt, "target")
// handler, err := standard.New(standard.ResourcesByValue())
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
opts := append(topts, standard.ResourcesByValue(), transfer.WithPrinter(p), &optionsChecker{})
MustBeSuccessful(transfer.Transfer(cv, tgt, opts...))
Expect(env.DirExists(OUT)).To(BeTrue())
@@ -203,7 +203,7 @@ transferring version "github.com/mandelsoft/test:v1"...
defer Close(tgt, "target")
// handler, err := standard.New(standard.ResourcesByValue())
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
opts := append(topts, standard.ResourcesByValue(), transfer.WithPrinter(p), &optionsChecker{})
MustBeSuccessful(transfer.Transfer(cv, tgt, opts...))
Expect(env.DirExists(OUT)).To(BeTrue())
@@ -316,7 +316,7 @@ warning: version "github.com/mandelsoft/test:v1" already present, but differs
defer Close(tgt, "target")
// transfer by reference, first
- p, buf := common.NewBufferedPrinter()
+ p, buf := misc.NewBufferedPrinter()
opts := append(topts, transfer.WithPrinter(p), &optionsChecker{})
MustBeSuccessful(transfer.Transfer(cv, tgt, opts...))
Expect(env.DirExists(OUT)).To(BeTrue())
diff --git a/api/ocm/tools/transfer/transferhandler/standard/utils_test.go b/api/ocm/tools/transfer/transferhandler/standard/utils_test.go
index 09bcd8552a..40c67f741b 100644
--- a/api/ocm/tools/transfer/transferhandler/standard/utils_test.go
+++ b/api/ocm/tools/transfer/transferhandler/standard/utils_test.go
@@ -46,7 +46,7 @@ var _ = Describe("utils", func() {
me.HandleOption[Flag](v, t)
Expect(t.flag).To(BeNil())
- v = generics.Pointer(false)
+ v = generics.PointerTo(false)
me.HandleOption[Flag](v, t)
Expect(t.flag).NotTo(BeNil())
Expect(*t.flag).To(BeFalse())
diff --git a/api/ocm/tools/transfer/transferrepo.go b/api/ocm/tools/transfer/transferrepo.go
index 3fd202e43d..4383aa42b0 100644
--- a/api/ocm/tools/transfer/transferrepo.go
+++ b/api/ocm/tools/transfer/transferrepo.go
@@ -6,10 +6,10 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func TransferComponents(printer common.Printer, closure TransportClosure, repo ocm.Repository, prefix string, all bool, tgt ocm.Repository, handler TransferHandler) error {
+func TransferComponents(printer misc.Printer, closure TransportClosure, repo ocm.Repository, prefix string, all bool, tgt ocm.Repository, handler TransferHandler) error {
if closure == nil {
closure = TransportClosure{}
}
@@ -27,12 +27,12 @@ func TransferComponents(printer common.Printer, closure TransportClosure, repo o
}
list := errors.ErrListf("component transport")
for _, c := range comps {
- transferVersions(common.AssurePrinter(printer), closure, list, handler, repo, c, tgt)
+ transferVersions(misc.AssurePrinter(printer), closure, list, handler, repo, c, tgt)
}
return list.Result()
}
-func transferVersions(printer common.Printer, closure TransportClosure, list *errors.ErrorList, handler TransferHandler, repo ocm.Repository, c string, tgt ocm.Repository) {
+func transferVersions(printer misc.Printer, closure TransportClosure, list *errors.ErrorList, handler TransferHandler, repo ocm.Repository, c string, tgt ocm.Repository) {
comp, err := repo.LookupComponent(c)
if list.Addf(printer, err, "component %s", c) == nil {
defer comp.Close()
diff --git a/api/ocm/utils.go b/api/ocm/utils.go
index 33ade07071..df1c2f009a 100644
--- a/api/ocm/utils.go
+++ b/api/ocm/utils.go
@@ -14,7 +14,7 @@ import (
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -84,8 +84,8 @@ func IsIntermediate(spec RepositorySpec) bool {
return false
}
-func ComponentRefKey(ref *compdesc.Reference) common.NameVersion {
- return common.NewNameVersion(ref.GetComponentName(), ref.GetVersion())
+func ComponentRefKey(ref *compdesc.Reference) misc.NameVersion {
+ return misc.NewNameVersion(ref.GetComponentName(), ref.GetVersion())
}
func IsUnknownRepositorySpec(s RepositorySpec) bool {
diff --git a/api/ocm/valuemergehandler/handlers/maplistmerge/config.go b/api/ocm/valuemergehandler/handlers/maplistmerge/config.go
index a58f9922fd..d74245ee28 100644
--- a/api/ocm/valuemergehandler/handlers/maplistmerge/config.go
+++ b/api/ocm/valuemergehandler/handlers/maplistmerge/config.go
@@ -1,9 +1,10 @@
package maplistmerge
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/ocm/valuemergehandler/handlers/defaultmerge"
"ocm.software/ocm/api/ocm/valuemergehandler/hpi"
- "ocm.software/ocm/api/utils"
)
type Mode = defaultmerge.Mode
@@ -19,7 +20,7 @@ func NewConfig(field string, overwrite Mode, entries ...*hpi.Specification) *Con
return &Config{
KeyField: field,
Config: *defaultmerge.NewConfig(overwrite),
- Entries: utils.Optional(entries...),
+ Entries: general.Optional(entries...),
}
}
diff --git a/api/ocm/valuemergehandler/handlers/simplemapmerge/config.go b/api/ocm/valuemergehandler/handlers/simplemapmerge/config.go
index 111724c7ec..7fe17af2ab 100644
--- a/api/ocm/valuemergehandler/handlers/simplemapmerge/config.go
+++ b/api/ocm/valuemergehandler/handlers/simplemapmerge/config.go
@@ -1,9 +1,10 @@
package simplemapmerge
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/ocm/valuemergehandler/handlers/defaultmerge"
"ocm.software/ocm/api/ocm/valuemergehandler/hpi"
- "ocm.software/ocm/api/utils"
)
type Mode = defaultmerge.Mode
@@ -18,7 +19,7 @@ const (
func NewConfig(overwrite Mode, entries ...*hpi.Specification) *Config {
return &Config{
Config: *defaultmerge.NewConfig(overwrite),
- Entries: utils.Optional(entries...),
+ Entries: general.Optional(entries...),
}
}
diff --git a/api/ocm/valuemergehandler/hpi/interface.go b/api/ocm/valuemergehandler/hpi/interface.go
index 9a0250322a..03a5ca1945 100644
--- a/api/ocm/valuemergehandler/hpi/interface.go
+++ b/api/ocm/valuemergehandler/hpi/interface.go
@@ -3,11 +3,12 @@
package hpi
import (
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/datacontext"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/valuemergehandler/internal"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -43,7 +44,7 @@ func Assign(hint Hint, spec *Specification) {
}
func NewSpecification(algo string, cfg ...Config) (*Specification, error) {
- raw, err := runtime.AsRawMessage(utils.Optional(cfg...))
+ raw, err := runtime.AsRawMessage(general.Optional(cfg...))
if err != nil {
return nil, err
}
@@ -59,7 +60,7 @@ func NewRegistry(base ...Registry) Registry {
func LabelHint(name string, optversion ...string) Hint {
hint := "label:" + name
- v := utils.Optional(optversion...)
+ v := general.Optional(optversion...)
if v != "" {
hint += "@" + v
}
diff --git a/api/ocm/valuemergehandler/internal/valuemergehandler.go b/api/ocm/valuemergehandler/internal/valuemergehandler.go
index 036452a202..60957b9b40 100644
--- a/api/ocm/valuemergehandler/internal/valuemergehandler.go
+++ b/api/ocm/valuemergehandler/internal/valuemergehandler.go
@@ -4,7 +4,8 @@ import (
"maps"
"sync"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/utils/runtime"
)
@@ -45,7 +46,7 @@ var _ Registry = (*registry)(nil)
func NewRegistry(base ...Registry) Registry {
return ®istry{
- base: utils.Optional(base...),
+ base: general.Optional(base...),
handlerTypes: Handlers{},
assignments: MergeHandlerAssignments{},
}
diff --git a/api/tech/git/identity/identity_test.go b/api/tech/git/identity/identity_test.go
index 879f373f44..394925907f 100644
--- a/api/tech/git/identity/identity_test.go
+++ b/api/tech/git/identity/identity_test.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/oci"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("consumer id handling", func() {
@@ -92,7 +92,7 @@ var _ = Describe("consumer id handling", func() {
)
creds := testutils.Must(GetCredentials(ctx, repo))
- Expect(creds).To(BeEquivalentTo(common.Properties{
+ Expect(creds).To(BeEquivalentTo(misc.Properties{
ATTR_USERNAME: user,
ATTR_PASSWORD: pass,
}))
@@ -108,7 +108,7 @@ var _ = Describe("consumer id handling", func() {
)
creds := testutils.Must(GetCredentials(ctx, repo))
- Expect(creds).To(BeEquivalentTo(common.Properties{
+ Expect(creds).To(BeEquivalentTo(misc.Properties{
ATTR_TOKEN: token,
}))
})
@@ -124,7 +124,7 @@ var _ = Describe("consumer id handling", func() {
)
creds := testutils.Must(GetCredentials(ctx, repo))
- Expect(creds).To(BeEquivalentTo(common.Properties{
+ Expect(creds).To(BeEquivalentTo(misc.Properties{
ATTR_USERNAME: user,
ATTR_PRIVATE_KEY: key,
}))
diff --git a/api/tech/helm/downloader.go b/api/tech/helm/downloader.go
index ca352b9a8d..1aaf016aa4 100644
--- a/api/tech/helm/downloader.go
+++ b/api/tech/helm/downloader.go
@@ -19,18 +19,18 @@ import (
"ocm.software/ocm/api/oci"
ocihelm "ocm.software/ocm/api/ocm/extensions/download/handlers/helm"
"ocm.software/ocm/api/tech/helm/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
type chartDownloader struct {
*downloader.ChartDownloader
*chartAccess
- creds common.Properties
+ creds misc.Properties
keyring []byte
}
-func DownloadChart(out common.Printer, ctx oci.ContextProvider, ref, version, repourl string, opts ...Option) (ChartAccess, error) {
+func DownloadChart(out misc.Printer, ctx oci.ContextProvider, ref, version, repourl string, opts ...Option) (ChartAccess, error) {
if version == "" {
return nil, fmt.Errorf("version required")
}
@@ -112,7 +112,7 @@ func (d *chartDownloader) complete(ctx oci.ContextProvider, ref, repourl string)
}
creds := d.creds
if creds == nil {
- creds = common.Properties{}
+ creds = misc.Properties{}
}
config := vfs.Join(d.fs, d.root, ".config")
diff --git a/api/tech/helm/identity/identity.go b/api/tech/helm/identity/identity.go
index 9ecf59e166..cd91ee72e2 100644
--- a/api/tech/helm/identity/identity.go
+++ b/api/tech/helm/identity/identity.go
@@ -9,7 +9,7 @@ import (
"ocm.software/ocm/api/credentials/identity/hostpath"
ociidentity "ocm.software/ocm/api/tech/oci/identity"
"ocm.software/ocm/api/utils/listformat"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
// CONSUMER_TYPE is the Helm chart repository type.
@@ -90,7 +90,7 @@ func GetConsumerId(repourl string, chartname string) cpi.ConsumerIdentity {
}
}
-func GetCredentials(ctx cpi.ContextProvider, repourl string, chartname string) common.Properties {
+func GetCredentials(ctx cpi.ContextProvider, repourl string, chartname string) misc.Properties {
id := GetConsumerId(repourl, chartname)
if id == nil {
return nil
diff --git a/api/tech/helm/identity/identity_test.go b/api/tech/helm/identity/identity_test.go
index ffe3002641..ed1308fd09 100644
--- a/api/tech/helm/identity/identity_test.go
+++ b/api/tech/helm/identity/identity_test.go
@@ -9,7 +9,7 @@ import (
"ocm.software/ocm/api/datacontext"
"ocm.software/ocm/api/oci"
ociidentity "ocm.software/ocm/api/tech/oci/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("consumer id handling", func() {
@@ -52,7 +52,7 @@ var _ = Describe("consumer id handling", func() {
)
creds := GetCredentials(ctx, "https://acme.org/charts", "demo:v1")
- Expect(creds).To(Equal(common.Properties{
+ Expect(creds).To(Equal(misc.Properties{
ATTR_USERNAME: "helm",
ATTR_PASSWORD: "helmpass",
}))
@@ -68,7 +68,7 @@ var _ = Describe("consumer id handling", func() {
)
creds := GetCredentials(ctx, "oci://acme.org/charts", "demo:v1")
- Expect(creds).To(Equal(common.Properties{
+ Expect(creds).To(Equal(misc.Properties{
ATTR_USERNAME: "oci",
ATTR_PASSWORD: "ocipass",
}))
diff --git a/api/tech/helm/options.go b/api/tech/helm/options.go
index 054c14e39b..6e8b4ef93a 100644
--- a/api/tech/helm/options.go
+++ b/api/tech/helm/options.go
@@ -2,7 +2,7 @@ package helm
import (
"ocm.software/ocm/api/tech/helm/identity"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option interface {
@@ -12,7 +12,7 @@ type Option interface {
////////////////////////////////////////////////////////////////////////////////
type credOption struct {
- creds common.Properties
+ creds misc.Properties
}
func (c *credOption) apply(dl *chartDownloader) error {
@@ -22,7 +22,7 @@ func (c *credOption) apply(dl *chartDownloader) error {
return nil
}
-func WithCredentials(creds common.Properties) Option {
+func WithCredentials(creds misc.Properties) Option {
return &credOption{creds}
}
@@ -34,7 +34,7 @@ type authOption struct {
func (c *authOption) apply(dl *chartDownloader) error {
if dl.creds == nil {
- dl.creds = common.Properties{}
+ dl.creds = misc.Properties{}
}
dl.creds[identity.ATTR_USERNAME] = c.user
dl.creds[identity.ATTR_PASSWORD] = c.password
@@ -55,7 +55,7 @@ type certOption struct {
func (c *certOption) apply(dl *chartDownloader) error {
if len(c.privkey) != 0 {
if dl.creds == nil {
- dl.creds = common.Properties{}
+ dl.creds = misc.Properties{}
}
dl.creds[identity.ATTR_CERTIFICATE] = string(c.cert)
dl.creds[identity.ATTR_PRIVATE_KEY] = string(c.privkey)
@@ -76,7 +76,7 @@ type cacertOption struct {
func (c *cacertOption) apply(dl *chartDownloader) error {
if len(c.data) > 0 {
if dl.creds == nil {
- dl.creds = common.Properties{}
+ dl.creds = misc.Properties{}
}
dl.creds[identity.ATTR_CERTIFICATE_AUTHORITY] = string(c.data)
}
diff --git a/api/tech/maven/access_test.go b/api/tech/maven/access_test.go
index 4f86359356..2461ed6e89 100644
--- a/api/tech/maven/access_test.go
+++ b/api/tech/maven/access_test.go
@@ -9,7 +9,7 @@ import (
. "github.com/onsi/gomega"
. "ocm.software/ocm/api/helper/builder"
- "github.com/mandelsoft/goutils/optionutils"
+ "github.com/mandelsoft/goutils/generics"
me "ocm.software/ocm/api/tech/maven"
"ocm.software/ocm/api/tech/maven/maventest"
@@ -76,21 +76,21 @@ sdk-modules-bom-5.7.0.pom: 3
Expect(coords.FilterFileMap(files)).To(Equal(files))
})
It("filter by empty classifier", func() {
- coords.Classifier = optionutils.PointerTo("")
+ coords.Classifier = generics.PointerTo("")
Expect(coords.FilterFileMap(files)).To(YAMLEqual(`
sdk-modules-bom-5.7.0.jar: 3
sdk-modules-bom-5.7.0.pom: 3
`))
})
It("filter by non-empty classifier", func() {
- coords.Classifier = optionutils.PointerTo("random-content")
+ coords.Classifier = generics.PointerTo("random-content")
Expect(coords.FilterFileMap(files)).To(YAMLEqual(`
sdk-modules-bom-5.7.0-random-content.json: 3
sdk-modules-bom-5.7.0-random-content.txt: 3
`))
})
It("filter by extension", func() {
- coords.Extension = optionutils.PointerTo("jar")
+ coords.Extension = generics.PointerTo("jar")
Expect(coords.FilterFileMap(files)).To(YAMLEqual(`
sdk-modules-bom-5.7.0-sources.jar: 3
sdk-modules-bom-5.7.0.jar: 3
@@ -98,16 +98,16 @@ sdk-modules-bom-5.7.0.jar: 3
})
It("filter by empty classifier and extension", func() {
- coords.Classifier = optionutils.PointerTo("")
- coords.Extension = optionutils.PointerTo("jar")
+ coords.Classifier = generics.PointerTo("")
+ coords.Extension = generics.PointerTo("jar")
Expect(coords.FilterFileMap(files)).To(YAMLEqual(`
sdk-modules-bom-5.7.0.jar: 3
`))
})
It("filter by non-empty classifier and extension", func() {
- coords.Classifier = optionutils.PointerTo("sources")
- coords.Extension = optionutils.PointerTo("jar")
+ coords.Classifier = generics.PointerTo("sources")
+ coords.Extension = generics.PointerTo("jar")
Expect(coords.FilterFileMap(files)).To(YAMLEqual(`
sdk-modules-bom-5.7.0-sources.jar: 3
`))
diff --git a/api/tech/maven/coordinates.go b/api/tech/maven/coordinates.go
index 87f4fc5595..1f30b0ffa9 100644
--- a/api/tech/maven/coordinates.go
+++ b/api/tech/maven/coordinates.go
@@ -28,7 +28,7 @@ func WithOptionalClassifier(c *string) CoordinateOption {
}
func (o WithClassifier) ApplyTo(c *Coordinates) {
- c.Classifier = optionutils.PointerTo(string(o))
+ c.Classifier = generics.PointerTo(string(o))
}
type WithExtension string
@@ -41,7 +41,7 @@ func WithOptionalExtension(e *string) CoordinateOption {
}
func (o WithExtension) ApplyTo(c *Coordinates) {
- c.Extension = optionutils.PointerTo(string(o))
+ c.Extension = generics.PointerTo(string(o))
}
type WithMediaType string
@@ -54,7 +54,7 @@ func WithOptionalMediaType(mt *string) CoordinateOption {
}
func (o WithMediaType) ApplyTo(c *Coordinates) {
- c.MediaType = optionutils.PointerTo(string(o))
+ c.MediaType = generics.PointerTo(string(o))
}
type FileCoordinates struct {
@@ -196,18 +196,18 @@ func (c *Coordinates) SetClassifierExtensionBy(filename string) error {
if i < 0 {
return fmt.Errorf("no extension after classifier found in filename: %s", filename)
}
- c.Classifier = optionutils.PointerTo(s[:i])
+ c.Classifier = generics.PointerTo(s[:i])
s = strings.TrimPrefix(s, optionutils.AsValue(c.Classifier))
} else {
- c.Classifier = optionutils.PointerTo("")
+ c.Classifier = generics.PointerTo("")
}
- c.Extension = optionutils.PointerTo(strings.TrimPrefix(s, "."))
+ c.Extension = generics.PointerTo(strings.TrimPrefix(s, "."))
return nil
}
// Copy creates a new Coordinates with the same values.
func (c *Coordinates) Copy() *Coordinates {
- return generics.Pointer(*c)
+ return generics.PointerTo(*c)
}
func (c *Coordinates) FilterFileMap(fileMap map[string]crypto.Hash) map[string]crypto.Hash {
@@ -243,10 +243,10 @@ func Parse(serializedArtifact string) (*Coordinates, error) {
}
coords := NewCoordinates(parts[0], parts[1], parts[2])
if len(parts) >= 4 {
- coords.Classifier = optionutils.PointerTo(parts[3])
+ coords.Classifier = generics.PointerTo(parts[3])
}
if len(parts) >= 5 {
- coords.Extension = optionutils.PointerTo(parts[4])
+ coords.Extension = generics.PointerTo(parts[4])
}
return coords, nil
}
diff --git a/api/tech/signing/handlers/rsa/certhelper.go b/api/tech/signing/handlers/rsa/certhelper.go
index d856b16742..3b6c867566 100644
--- a/api/tech/signing/handlers/rsa/certhelper.go
+++ b/api/tech/signing/handlers/rsa/certhelper.go
@@ -5,8 +5,9 @@ import (
"crypto/x509/pkix"
"time"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
)
func CreateRootCertificate(sub *pkix.Name, validity time.Duration) (*x509.Certificate, *PrivateKey, error) {
@@ -33,7 +34,7 @@ func CreateSigningCertificate(sub *pkix.Name, intermediate signutils.GenericCert
return nil, nil, nil, err
}
spec := &signutils.Specification{
- IsCA: utils.Optional(isCA...),
+ IsCA: general.Optional(isCA...),
Subject: *sub,
Validity: validity,
RootCAs: roots,
diff --git a/api/tech/signing/norm/entry/norm.go b/api/tech/signing/norm/entry/norm.go
index 53968a0d92..ef168500a7 100644
--- a/api/tech/signing/norm/entry/norm.go
+++ b/api/tech/signing/norm/entry/norm.go
@@ -7,8 +7,9 @@ import (
"sort"
"strconv"
+ "github.com/mandelsoft/goutils/general"
+
"ocm.software/ocm/api/tech/signing"
- "ocm.software/ocm/api/utils"
)
var Type = normalization{}
@@ -76,11 +77,11 @@ func (n *normalized) ToString(gap string) string {
}
func (l *normalized) String() string {
- return string(utils.Must(json.Marshal(l.value)))
+ return string(general.Must(json.Marshal(l.value)))
}
func (l *normalized) Formatted() string {
- return string(utils.Must(json.MarshalIndent(l.value, "", " ")))
+ return string(general.Must(json.MarshalIndent(l.value, "", " ")))
}
func (n *normalized) Marshal(gap string) ([]byte, error) {
@@ -141,11 +142,11 @@ func (l *Entries) Add(key string, value interface{}) {
}
func (l Entries) String() string {
- return string(utils.Must(json.Marshal(l)))
+ return string(general.Must(json.Marshal(l)))
}
func (l Entries) Formatted() string {
- return string(utils.Must(json.MarshalIndent(l, "", " ")))
+ return string(general.Must(json.MarshalIndent(l, "", " ")))
}
func (l Entries) ToString(gap string) string {
diff --git a/api/tech/signing/signutils/certs.go b/api/tech/signing/signutils/certs.go
index 4f14e7161d..4fcc599ed0 100644
--- a/api/tech/signing/signutils/certs.go
+++ b/api/tech/signing/signutils/certs.go
@@ -13,9 +13,8 @@ import (
"time"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/modern-go/reflect2"
-
- "ocm.software/ocm/api/utils"
)
type Usages []interface{}
@@ -221,7 +220,7 @@ func VerifyCertificate(cert *x509.Certificate, intermediates GenericCertificateC
return err
}
timestamp := cert.NotBefore
- if ts := utils.Optional(ts...); ts != nil && !ts.IsZero() {
+ if ts := general.Optional(ts...); ts != nil && !ts.IsZero() {
timestamp = *ts
}
opts := x509.VerifyOptions{
diff --git a/api/tech/signing/signutils/utils.go b/api/tech/signing/signutils/utils.go
index 7cb08759a4..331ea2e664 100644
--- a/api/tech/signing/signutils/utils.go
+++ b/api/tech/signing/signutils/utils.go
@@ -16,6 +16,7 @@ import (
"time"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/modern-go/reflect2"
@@ -252,7 +253,7 @@ func SystemCertPool() (*x509.CertPool, error) {
func RootPoolFromFile(pemfile string, useOS bool, fss ...vfs.FileSystem) (*x509.CertPool, error) {
fs := utils.FileSystem(fss...)
- pemdata, err := utils.ReadFile(pemfile, fs)
+ pemdata, err := optionutils.ReadFile(pemfile, fs)
if err != nil {
return nil, errors.Wrapf(err, "cannot read cert pem file %q", pemfile)
}
diff --git a/api/tech/signing/tsa/tsa.go b/api/tech/signing/tsa/tsa.go
index f01475dbc1..172b42213f 100644
--- a/api/tech/signing/tsa/tsa.go
+++ b/api/tech/signing/tsa/tsa.go
@@ -11,9 +11,9 @@ import (
tsa "github.com/InfiniteLoopSpace/go_S-MIME/timestamp"
"github.com/go-test/deep"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
)
// NewMessageImprint creates a new MessageImprint using hash and digest.
@@ -88,7 +88,7 @@ func Verify(mi *tsa.MessageImprint, sd *TimeStamp, now bool, rootpool ...signuti
if !now {
opts.CurrentTime = info.GenTime
}
- opts.Roots, err = signutils.GetCertPool(utils.Optional(rootpool...), false)
+ opts.Roots, err = signutils.GetCertPool(general.Optional(rootpool...), false)
if err != nil {
return nil, errors.Wrapf(err, "root cert pool")
}
diff --git a/api/tech/signing/x509_certificate.go b/api/tech/signing/x509_certificate.go
index 2b4ad76282..1b46b0fa3e 100644
--- a/api/tech/signing/x509_certificate.go
+++ b/api/tech/signing/x509_certificate.go
@@ -7,7 +7,7 @@ import (
"errors"
"fmt"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/optionutils"
)
// CreateAndVerifyX509CertificateFromFiles creates and verifies a x509 certificate from certificate files.
@@ -17,7 +17,7 @@ func CreateAndVerifyX509CertificateFromFiles(certPath, intermediateCAsCertsPath,
var rootCACert []byte
if rootCACertPath != "" {
- rootCACert, err = utils.ReadFile(rootCACertPath)
+ rootCACert, err = optionutils.ReadFile(rootCACertPath)
if err != nil {
return nil, fmt.Errorf("unable to read root CA certificate file: %w", err)
}
@@ -25,13 +25,13 @@ func CreateAndVerifyX509CertificateFromFiles(certPath, intermediateCAsCertsPath,
var intermediateCAsCerts []byte
if intermediateCAsCertsPath != "" {
- intermediateCAsCerts, err = utils.ReadFile(intermediateCAsCertsPath)
+ intermediateCAsCerts, err = optionutils.ReadFile(intermediateCAsCertsPath)
if err != nil {
return nil, fmt.Errorf("unable to read intermediate CAs certificates file: %w", err)
}
}
- cert, err := utils.ReadFile(certPath)
+ cert, err := optionutils.ReadFile(certPath)
if err != nil {
return nil, fmt.Errorf("unable to read certificate file: %w", err)
}
diff --git a/api/utils/accessio/cache.go b/api/utils/accessio/cache.go
index e68e868ff9..6f1237f5e8 100644
--- a/api/utils/accessio/cache.go
+++ b/api/utils/accessio/cache.go
@@ -19,7 +19,7 @@ import (
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/blobaccess/file"
"ocm.software/ocm/api/utils/iotools"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/refmgmt"
)
@@ -48,7 +48,7 @@ type CleanupCache interface {
// - handled entries (cnt, size)
// - not handled entries (ncnt, nsize)
// - failing entries (fcnt, fsize)
- Cleanup(p common.Printer, before *time.Time, dryrun bool) (cnt int, ncnt int, fcnt int, size int64, nsize int64, fsize int64, err error)
+ Cleanup(p misc.Printer, before *time.Time, dryrun bool) (cnt int, ncnt int, fcnt int, size int64, nsize int64, fsize int64, err error)
}
type BlobCache interface {
@@ -115,12 +115,12 @@ func (c *blobCache) Unlock() {
c.lock.Unlock()
}
-func (c *blobCache) Cleanup(p common.Printer, before *time.Time, dryrun bool) (cnt int, ncnt int, fcnt int, size int64, nsize int64, fsize int64, err error) {
+func (c *blobCache) Cleanup(p misc.Printer, before *time.Time, dryrun bool) (cnt int, ncnt int, fcnt int, size int64, nsize int64, fsize int64, err error) {
c.Lock()
defer c.Unlock()
if p == nil {
- p = common.NewPrinter(nil)
+ p = misc.NewPrinter(nil)
}
path, fs := c.Root()
@@ -181,7 +181,7 @@ func (c *blobCache) GetBlobData(digest digest.Digest) (int64, blobaccess.DataAcc
c.lock.RLock()
defer c.lock.RUnlock()
- path := common.DigestToFileName(digest)
+ path := misc.DigestToFileName(digest)
fi, err := c.cache.Stat(path)
if err == nil {
vfs.WriteFile(c.cache, path+ACCESS_SUFFIX, []byte{}, 0o600)
@@ -207,7 +207,7 @@ func (c *blobCache) AddBlob(blob blobaccess.BlobAccess) (int64, digest.Digest, e
if blob.DigestKnown() {
c.lock.RLock()
- path := common.DigestToFileName(blob.Digest())
+ path := misc.DigestToFileName(blob.Digest())
if ok, err := vfs.Exists(c.cache, path); ok || err != nil {
c.lock.RUnlock()
return blob.Size(), blob.Digest(), err
@@ -247,7 +247,7 @@ func (c *blobCache) AddBlob(blob blobaccess.BlobAccess) (int64, digest.Digest, e
} else {
digest = blob.Digest()
}
- target := common.DigestToFileName(digest)
+ target := misc.DigestToFileName(digest)
c.lock.Lock()
defer c.lock.Unlock()
diff --git a/api/utils/accessio/cache_test.go b/api/utils/accessio/cache_test.go
index 3f5b7e6c68..ef35546851 100644
--- a/api/utils/accessio/cache_test.go
+++ b/api/utils/accessio/cache_test.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
var _ = Describe("cache management", func() {
@@ -47,11 +47,11 @@ var _ = Describe("cache management", func() {
})
It("blob copied to cache", func() {
- Expect(vfs.FileExists(tempfs, common.DigestToFileName(td1_digest))).To(BeFalse())
+ Expect(vfs.FileExists(tempfs, misc.DigestToFileName(td1_digest))).To(BeFalse())
_, data, err := cache.GetBlobData(td1_digest)
Expect(err).To(Succeed())
- Expect(vfs.FileExists(tempfs, common.DigestToFileName(td1_digest))).To(BeFalse())
+ Expect(vfs.FileExists(tempfs, misc.DigestToFileName(td1_digest))).To(BeFalse())
Expect(data.Get()).To(Equal([]byte("testdata")))
- Expect(vfs.FileExists(tempfs, common.DigestToFileName(td1_digest))).To(BeTrue())
+ Expect(vfs.FileExists(tempfs, misc.DigestToFileName(td1_digest))).To(BeTrue())
})
})
diff --git a/api/utils/accessobj/filesystemaccess.go b/api/utils/accessobj/filesystemaccess.go
index a15f37b05b..f03d080d02 100644
--- a/api/utils/accessobj/filesystemaccess.go
+++ b/api/utils/accessobj/filesystemaccess.go
@@ -13,7 +13,7 @@ import (
"ocm.software/ocm/api/utils/blobaccess/blobaccess"
"ocm.software/ocm/api/utils/blobaccess/file"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
)
@@ -62,7 +62,7 @@ func (a *FileSystemBlobAccess) GetState() State {
// DigestPath returns the path to the blob for a given name.
func (a *FileSystemBlobAccess) DigestPath(digest digest.Digest) string {
- return a.BlobPath(common.DigestToFileName(digest))
+ return a.BlobPath(misc.DigestToFileName(digest))
}
// BlobPath returns the path to the blob for a given name.
diff --git a/api/utils/blobaccess/dirtree/access.go b/api/utils/blobaccess/dirtree/access.go
index 989baf036a..12757b1972 100644
--- a/api/utils/blobaccess/dirtree/access.go
+++ b/api/utils/blobaccess/dirtree/access.go
@@ -38,8 +38,8 @@ func BlobAccess(path string, opts ...Option) (_ bpi.BlobAccess, rerr error) {
taropts := tarutils.TarFileSystemOptions{
IncludeFiles: eff.IncludeFiles,
ExcludeFiles: eff.ExcludeFiles,
- PreserveDir: utils.AsBool(eff.PreserveDir),
- FollowSymlinks: utils.AsBool(eff.FollowSymlinks),
+ PreserveDir: optionutils.AsBool(eff.PreserveDir),
+ FollowSymlinks: optionutils.AsBool(eff.FollowSymlinks),
}
temp, err := file.NewTempFile(fs.FSTempDir(), "resourceblob*.tgz", fs)
@@ -48,7 +48,7 @@ func BlobAccess(path string, opts ...Option) (_ bpi.BlobAccess, rerr error) {
}
defer errors.PropagateError(&rerr, temp.Close)
- if utils.AsBool(eff.CompressWithGzip) {
+ if optionutils.AsBool(eff.CompressWithGzip) {
if eff.MimeType == "" {
eff.MimeType = mime.MIME_TGZ
}
diff --git a/api/utils/blobaccess/dirtree/options.go b/api/utils/blobaccess/dirtree/options.go
index 6ba0477101..916f9aeab6 100644
--- a/api/utils/blobaccess/dirtree/options.go
+++ b/api/utils/blobaccess/dirtree/options.go
@@ -3,10 +3,9 @@ package dirtree
import (
"slices"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
-
- "ocm.software/ocm/api/utils"
)
type Option = optionutils.Option[*Options]
@@ -42,10 +41,10 @@ func (o *Options) ApplyTo(opts *Options) {
opts.MimeType = o.MimeType
}
if o.CompressWithGzip != nil {
- opts.CompressWithGzip = utils.BoolP(*o.CompressWithGzip)
+ opts.CompressWithGzip = optionutils.BoolP(*o.CompressWithGzip)
}
if o.PreserveDir != nil {
- opts.PreserveDir = utils.BoolP(*o.PreserveDir)
+ opts.PreserveDir = optionutils.BoolP(*o.PreserveDir)
}
if len(o.IncludeFiles) != 0 {
opts.IncludeFiles = slices.Clone(o.IncludeFiles)
@@ -54,7 +53,7 @@ func (o *Options) ApplyTo(opts *Options) {
opts.ExcludeFiles = slices.Clone(o.ExcludeFiles)
}
if o.FollowSymlinks != nil {
- opts.FollowSymlinks = utils.BoolP(*o.FollowSymlinks)
+ opts.FollowSymlinks = optionutils.BoolP(*o.FollowSymlinks)
}
}
@@ -87,21 +86,21 @@ func WithMimeType(mime string) Option {
type compressWithGzip bool
func (o compressWithGzip) ApplyTo(opts *Options) {
- opts.CompressWithGzip = utils.BoolP(o)
+ opts.CompressWithGzip = optionutils.BoolP(o)
}
func WithCompressWithGzip(b ...bool) Option {
- return compressWithGzip(utils.OptionalDefaultedBool(true, b...))
+ return compressWithGzip(general.OptionalDefaultedBool(true, b...))
}
type preserveDir bool
func (o preserveDir) ApplyTo(opts *Options) {
- opts.PreserveDir = utils.BoolP(o)
+ opts.PreserveDir = optionutils.BoolP(o)
}
func WithPreserveDir(b ...bool) Option {
- return preserveDir(utils.OptionalDefaultedBool(true, b...))
+ return preserveDir(general.OptionalDefaultedBool(true, b...))
}
type includeFiles []string
@@ -127,9 +126,9 @@ func WithExcludeFiles(files []string) Option {
type followSymlinks bool
func (o followSymlinks) ApplyTo(opts *Options) {
- opts.FollowSymlinks = utils.BoolP(o)
+ opts.FollowSymlinks = optionutils.BoolP(o)
}
func WithFollowSymlinks(b ...bool) Option {
- return followSymlinks(utils.OptionalDefaultedBool(true, b...))
+ return followSymlinks(general.OptionalDefaultedBool(true, b...))
}
diff --git a/api/utils/blobaccess/dockerdaemon/options.go b/api/utils/blobaccess/dockerdaemon/options.go
index 0cdaf95464..2e6eaf980f 100644
--- a/api/utils/blobaccess/dockerdaemon/options.go
+++ b/api/utils/blobaccess/dockerdaemon/options.go
@@ -1,11 +1,11 @@
package dockerdaemon
import (
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/optionutils"
cpi "ocm.software/ocm/api/oci/types"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -15,7 +15,7 @@ type Options struct {
Name string
Version string
OverrideVersion *bool
- Origin *common.NameVersion
+ Origin *misc.NameVersion
}
func (o *Options) ApplyTo(opts *Options) {
@@ -85,26 +85,26 @@ type override struct {
}
func (o *override) ApplyTo(opts *Options) {
- opts.OverrideVersion = utils.BoolP(o.flag)
+ opts.OverrideVersion = optionutils.BoolP(o.flag)
opts.Version = o.version
}
func WithVersionOverride(v string, flag ...bool) Option {
return &override{
version: v,
- flag: utils.OptionalDefaultedBool(true, flag...),
+ flag: general.OptionalDefaultedBool(true, flag...),
}
}
////////////////////////////////////////////////////////////////////////////////
-type compvers common.NameVersion
+type compvers misc.NameVersion
func (o compvers) ApplyTo(opts *Options) {
- n := common.NameVersion(o)
+ n := misc.NameVersion(o)
opts.Origin = &n
}
-func WithOrigin(o common.NameVersion) Option {
+func WithOrigin(o misc.NameVersion) Option {
return compvers(o)
}
diff --git a/api/utils/blobaccess/dockermulti/options.go b/api/utils/blobaccess/dockermulti/options.go
index b1bc5bd84e..328237b113 100644
--- a/api/utils/blobaccess/dockermulti/options.go
+++ b/api/utils/blobaccess/dockermulti/options.go
@@ -6,7 +6,7 @@ import (
"github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/oci"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -15,8 +15,8 @@ type Options struct {
Context oci.Context
Version string
Variants []string
- Origin *common.NameVersion
- Printer common.Printer
+ Origin *misc.NameVersion
+ Printer misc.Printer
}
func (o *Options) ApplyTo(opts *Options) {
@@ -68,14 +68,14 @@ func WithVersion(v string) Option {
////////////////////////////////////////////////////////////////////////////////
-type compvers common.NameVersion
+type compvers misc.NameVersion
func (o compvers) ApplyTo(opts *Options) {
- n := common.NameVersion(o)
+ n := misc.NameVersion(o)
opts.Origin = &n
}
-func WithOrigin(o common.NameVersion) Option {
+func WithOrigin(o misc.NameVersion) Option {
return compvers(o)
}
@@ -94,13 +94,13 @@ func WithVariants(v ...string) Option {
////////////////////////////////////////////////////////////////////////////////
type printer struct {
- common.Printer
+ misc.Printer
}
func (o printer) ApplyTo(opts *Options) {
opts.Printer = o
}
-func WithPrinter(p common.Printer) Option {
+func WithPrinter(p misc.Printer) Option {
return printer{p}
}
diff --git a/api/utils/blobaccess/file/options.go b/api/utils/blobaccess/file/options.go
index 656b7dc02e..e19333bfa7 100644
--- a/api/utils/blobaccess/file/options.go
+++ b/api/utils/blobaccess/file/options.go
@@ -58,7 +58,7 @@ func WithFileSystem(fss ...vfs.FileSystem) Option {
type size int64
func (o size) ApplyTo(opts *Options) {
- opts.Size = generics.Pointer(int64(o))
+ opts.Size = generics.PointerTo(int64(o))
}
func WithSize(s int64) Option {
diff --git a/api/utils/blobaccess/helm/access.go b/api/utils/blobaccess/helm/access.go
index 3bf53ff769..324ab30a83 100644
--- a/api/utils/blobaccess/helm/access.go
+++ b/api/utils/blobaccess/helm/access.go
@@ -13,7 +13,7 @@ import (
"ocm.software/ocm/api/tech/helm/loader"
"ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess/bpi"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
func BlobAccess(path string, opts ...Option) (blob bpi.BlobAccess, name, version string, err error) {
@@ -22,7 +22,7 @@ func BlobAccess(path string, opts ...Option) (blob bpi.BlobAccess, name, version
fs := utils.FileSystem(eff.FileSystem)
printer := eff.Printer
if printer == nil {
- printer = common.NewPrinter(nil)
+ printer = misc.NewPrinter(nil)
}
var chartLoader loader.Loader
diff --git a/api/utils/blobaccess/helm/options.go b/api/utils/blobaccess/helm/options.go
index 88bd1ba1de..66f4aec8a7 100644
--- a/api/utils/blobaccess/helm/options.go
+++ b/api/utils/blobaccess/helm/options.go
@@ -1,12 +1,12 @@
package helm
import (
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"ocm.software/ocm/api/oci"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -20,7 +20,7 @@ type Options struct {
CACert string
CACertFile string
- Printer common.Printer
+ Printer misc.Printer
}
func (o *Options) ApplyTo(opts *Options) {
@@ -108,14 +108,14 @@ type override struct {
}
func (o *override) ApplyTo(opts *Options) {
- opts.OverrideVersion = utils.BoolP(o.flag)
+ opts.OverrideVersion = optionutils.BoolP(o.flag)
opts.Version = o.version
}
func WithVersionOverride(v string, flag ...bool) Option {
return &override{
version: v,
- flag: utils.OptionalDefaultedBool(true, flag...),
+ flag: general.OptionalDefaultedBool(true, flag...),
}
}
@@ -159,13 +159,13 @@ func WithCACertFile(v string) Option {
////////////////////////////////////////////////////////////////////////////////
type printer struct {
- common.Printer
+ misc.Printer
}
func (o printer) ApplyTo(opts *Options) {
opts.Printer = o
}
-func WithPrinter(p common.Printer) Option {
+func WithPrinter(p misc.Printer) Option {
return printer{p}
}
diff --git a/api/utils/blobaccess/ociartifact/options.go b/api/utils/blobaccess/ociartifact/options.go
index 1420ddfc2f..05703931f1 100644
--- a/api/utils/blobaccess/ociartifact/options.go
+++ b/api/utils/blobaccess/ociartifact/options.go
@@ -5,7 +5,7 @@ import (
"ocm.software/ocm/api/oci"
"ocm.software/ocm/api/oci/tools/transfer/filters"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Option = optionutils.Option[*Options]
@@ -16,7 +16,7 @@ type Options struct {
Context oci.Context
Version string
Filter Filter
- Printer common.Printer
+ Printer misc.Printer
}
func (o *Options) OCIContext() oci.Context {
@@ -26,9 +26,9 @@ func (o *Options) OCIContext() oci.Context {
return o.Context
}
-func (o *Options) GetPrinter() common.Printer {
+func (o *Options) GetPrinter() misc.Printer {
if o.Printer == nil {
- return common.NewPrinter(nil)
+ return misc.NewPrinter(nil)
}
return o.Printer
}
@@ -86,14 +86,14 @@ func WithVersion(v string) Option {
////////////////////////////////////////////////////////////////////////////////
type printer struct {
- common.Printer
+ misc.Printer
}
func (o printer) ApplyTo(opts *Options) {
opts.Printer = o
}
-func WithPrinter(p common.Printer) Option {
+func WithPrinter(p misc.Printer) Option {
return printer{p}
}
diff --git a/api/utils/blobaccess/ocm/ref.go b/api/utils/blobaccess/ocm/ref.go
index e037e1c800..9cf618d264 100644
--- a/api/utils/blobaccess/ocm/ref.go
+++ b/api/utils/blobaccess/ocm/ref.go
@@ -2,12 +2,12 @@ package ocm
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/resourcerefs"
"ocm.software/ocm/api/ocm/selectors/rscsel"
- "ocm.software/ocm/api/utils"
)
// ResourceProvider selects a resource from a component version.
@@ -57,7 +57,7 @@ func ByResourcePath(id metav1.Identity, path ...metav1.Identity) ResourceProvide
}
func ByResourceRef(ref metav1.ResourceReference, res ...cpi.ComponentVersionResolver) ResourceProvider {
- return &byref{utils.Optional(res...), ref}
+ return &byref{general.Optional(res...), ref}
}
func (r *byref) GetResource(cv cpi.ComponentVersionAccess) (cpi.ResourceAccess, cpi.ComponentVersionAccess, error) {
diff --git a/api/utils/blobaccess/wget/options.go b/api/utils/blobaccess/wget/options.go
index 62edef6dec..47650e1657 100644
--- a/api/utils/blobaccess/wget/options.go
+++ b/api/utils/blobaccess/wget/options.go
@@ -4,12 +4,12 @@ import (
"io"
"net/http"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/logging"
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/tech/wget/identity"
- "ocm.software/ocm/api/utils"
ocmlog "ocm.software/ocm/api/utils/logging"
)
@@ -180,9 +180,9 @@ func WithBody(v io.Reader) Option {
type noredirect bool
func (o noredirect) ApplyTo(opts *Options) {
- opts.NoRedirect = utils.BoolP(o)
+ opts.NoRedirect = optionutils.BoolP(o)
}
func WithNoRedirect(r ...bool) Option {
- return noredirect(utils.OptionalDefaultedBool(true, r...))
+ return noredirect(general.OptionalDefaultedBool(true, r...))
}
diff --git a/api/utils/clisupport/labels.go b/api/utils/clisupport/labels.go
index 8fae0340da..7fddc4d557 100644
--- a/api/utils/clisupport/labels.go
+++ b/api/utils/clisupport/labels.go
@@ -5,12 +5,12 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
"sigs.k8s.io/yaml"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- "ocm.software/ocm/api/utils"
)
func gkind(kind ...string) string {
@@ -34,7 +34,7 @@ func ParseLabel(fs vfs.FileSystem, a string, kind ...string) (*metav1.Label, err
}
label := a[:i]
- data, err := utils.ResolveData(a[i+1:], fs)
+ data, err := optionutils.ResolveData(a[i+1:], fs)
if err != nil {
return nil, err
}
diff --git a/api/utils/cobrautils/flagsets/configoptionset.go b/api/utils/cobrautils/flagsets/configoptionset.go
index ae846beb2f..c5430fe956 100644
--- a/api/utils/cobrautils/flagsets/configoptionset.go
+++ b/api/utils/cobrautils/flagsets/configoptionset.go
@@ -5,8 +5,7 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
-
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/maputils"
)
type ConfigOptionType interface {
@@ -133,7 +132,7 @@ func (s *configOptionTypeSet) OptionTypeNames() []string {
s.lock.RLock()
defer s.lock.RUnlock()
- return utils.StringMapKeys(s.options)
+ return maputils.OrderedKeys(s.options)
}
func (s *configOptionTypeSet) SharedOptionTypes() []ConfigOptionType {
diff --git a/api/utils/cobrautils/flagsets/flagsetscheme/scheme.go b/api/utils/cobrautils/flagsets/flagsetscheme/scheme.go
index f0ed2ea6c3..2457e45de2 100644
--- a/api/utils/cobrautils/flagsets/flagsetscheme/scheme.go
+++ b/api/utils/cobrautils/flagsets/flagsetscheme/scheme.go
@@ -1,7 +1,9 @@
package flagsetscheme
import (
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/stringutils"
+
"ocm.software/ocm/api/utils/cobrautils/flagsets"
"ocm.software/ocm/api/utils/logging"
"ocm.software/ocm/api/utils/runtime"
@@ -71,7 +73,7 @@ type typeScheme[T runtime.VersionedTypedObject, R VersionTypedObjectType[T], S T
func flagExtender[T runtime.VersionedTypedObject, R VersionTypedObjectType[T]](ty R) string {
if h := ty.ConfigOptionTypeSetHandler(); h != nil {
- return utils.IndentLines(flagsets.FormatConfigOptions(h), " ")
+ return stringutils.IndentLines(flagsets.FormatConfigOptions(h), " ")
}
return ""
}
@@ -79,7 +81,7 @@ func flagExtender[T runtime.VersionedTypedObject, R VersionTypedObjectType[T]](t
// NewTypeScheme provides an TypeScheme implementation based on the interfaces
// and the default runtime.TypeScheme implementation.
func NewTypeScheme[T runtime.VersionedTypedObject, R VersionTypedObjectType[T], S TypeScheme[T, R]](kindname string, cfgname, typeOption, desc, group string, unknown runtime.Unstructured, acceptUnknown bool, base ...S) TypeScheme[T, R] {
- scheme := descriptivetype.NewTypeScheme[T, R](kindname, flagExtender[T, R], unknown, acceptUnknown, utils.Optional(base...))
+ scheme := descriptivetype.NewTypeScheme[T, R](kindname, flagExtender[T, R], unknown, acceptUnknown, general.Optional(base...))
return &typeScheme[T, R, S]{
cfgname: cfgname,
description: desc,
diff --git a/api/utils/cobrautils/flagsets/provider.go b/api/utils/cobrautils/flagsets/provider.go
index 2a9a7b677f..d1f5315e6d 100644
--- a/api/utils/cobrautils/flagsets/provider.go
+++ b/api/utils/cobrautils/flagsets/provider.go
@@ -5,8 +5,8 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -78,7 +78,7 @@ var _ ConfigTypeOptionSetConfigProvider = (*typedConfigProvider)(nil)
func NewTypedConfigProvider(name string, desc, typeOption string, acceptUnknown ...bool) ConfigTypeOptionSetConfigProvider {
typeOpt := NewStringOptionType(name+"Type", "type of "+desc)
- return &typedConfigProvider{NewTypedConfigProviderBase(name, desc, TypeNameProviderFromOptions(typeOption), utils.Optional(acceptUnknown...), typeOpt), typeOpt}
+ return &typedConfigProvider{NewTypedConfigProviderBase(name, desc, TypeNameProviderFromOptions(typeOption), general.Optional(acceptUnknown...), typeOpt), typeOpt}
}
func (p *typedConfigProvider) GetTypeOptionType() ConfigOptionType {
@@ -116,7 +116,7 @@ var _ ConfigTypeOptionSetConfigProvider = (*typedConfigProvider)(nil)
func NewExplicitlyTypedConfigProvider(name string, desc string, acceptUnknown ...bool) ExplicitlyTypedConfigTypeOptionSetConfigProvider {
p := &explicitlyTypedConfigProvider{}
- p._ConfigTypeOptionSetConfigProvider = NewTypedConfigProviderBase(name, desc, p.getTypeName, utils.Optional(acceptUnknown...))
+ p._ConfigTypeOptionSetConfigProvider = NewTypedConfigProviderBase(name, desc, p.getTypeName, general.Optional(acceptUnknown...))
return p
}
diff --git a/api/utils/cobrautils/groups/flagusages.go b/api/utils/cobrautils/groups/flagusages.go
index 1b3150e24b..30c1801629 100644
--- a/api/utils/cobrautils/groups/flagusages.go
+++ b/api/utils/cobrautils/groups/flagusages.go
@@ -5,9 +5,8 @@ import (
"fmt"
"strings"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/spf13/pflag"
-
- "ocm.software/ocm/api/utils"
)
const FlagGroupAnnotation = "flag-group-annotation"
@@ -21,7 +20,7 @@ func FlagUsagesWrapped(f *pflag.FlagSet, cols int) string {
sep := ""
buf := new(bytes.Buffer)
- for _, g := range utils.StringMapKeys(lines) {
+ for _, g := range maputils.OrderedKeys(lines) {
if g != "" {
fmt.Fprintln(buf, sep+" "+g+":")
}
@@ -43,7 +42,7 @@ func GroupedFlagUsagesWrapped(f *pflag.FlagSet, cols int) []UsageGroup {
lines := DetermineGroups(f, cols)
var groups []UsageGroup
- for _, g := range utils.StringMapKeys(lines) {
+ for _, g := range maputils.OrderedKeys(lines) {
buf := new(bytes.Buffer)
for _, line := range lines[g] {
fmt.Fprintln(buf, line)
diff --git a/api/utils/cobrautils/logopts/config.go b/api/utils/cobrautils/logopts/config.go
index 149ad3d0d8..63634a7ebe 100644
--- a/api/utils/cobrautils/logopts/config.go
+++ b/api/utils/cobrautils/logopts/config.go
@@ -4,6 +4,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/logging"
"github.com/mandelsoft/logging/config"
"github.com/mandelsoft/logging/logrusl/adapter"
@@ -48,7 +49,7 @@ func (c *ConfigFragment) GetLogConfig(fss ...vfs.FileSystem) (*config.Config, er
if c.LogConfig != "" {
var data []byte
if strings.HasPrefix(c.LogConfig, "@") {
- data, err = utils.ReadFile(c.LogConfig[1:], utils.FileSystem(fss...))
+ data, err = optionutils.ReadFile(c.LogConfig[1:], utils.FileSystem(fss...))
if err != nil {
return nil, errors.Wrapf(err, "cannot read logging config file %q", c.LogConfig[1:])
}
diff --git a/api/utils/deprecated.go b/api/utils/deprecated.go
new file mode 100644
index 0000000000..255900e353
--- /dev/null
+++ b/api/utils/deprecated.go
@@ -0,0 +1,96 @@
+package utils
+
+import (
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/ioutils"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/optionutils"
+ "github.com/mandelsoft/goutils/stringutils"
+ "github.com/mandelsoft/vfs/pkg/vfs"
+ "github.com/modern-go/reflect2"
+)
+
+// Deprecated: use maputils.OrderedKeys.
+func StringMapKeys[K ~string, E any](m map[K]E) []K {
+ return maputils.OrderedKeys(m)
+}
+
+// Optional returns the first optional non-zero element given as variadic argument,
+// if given, or the zero element as default.
+// Deprecated: use general.Optional or general.OptionalNonZero.
+func Optional[T any](list ...T) T {
+ return general.Optional(list...)
+}
+
+// OptionalDefaulted returns the first optional non-nil element given as variadic
+// argument, or the given default element. For value types a given zero
+// argument is excepted, also.
+// Deprecated: use general.OptionalNonZeroDefaulted or general.OptionaDefaulted.
+func OptionalDefaulted[T any](def T, list ...T) T {
+ return general.OptionalDefaulted(def, list...)
+}
+
+// OptionalDefaultedBool checks all args for true. If arg is given
+// the given default is returned.
+// Deprecated: use general.OptionalDefaultedBool.
+func OptionalDefaultedBool(def bool, list ...bool) bool {
+ return general.OptionalDefaultedBool(def, list...)
+}
+
+// Deprecated: use optionutils.BoolP.
+func BoolP[T ~bool](b T) *bool {
+ return optionutils.BoolP(b)
+}
+
+// Deprecated: use optionutils.AsBool.
+func AsBool(b *bool, def ...bool) bool {
+ if b == nil && len(def) > 0 {
+ return Optional(def...)
+ }
+ return b != nil && *b
+}
+
+// GetOptionFlag returns the flag value used to set a bool option
+// based on optionally specified explicit value(s).
+// The default value is to enable the option (true).
+// Deprecated: use optionutils.GetOptionFlag.
+func GetOptionFlag(list ...bool) bool {
+ return optionutils.GetOptionFlag(list...)
+}
+
+// Deprecated: use reflect2.IsNil.
+func IsNil(o interface{}) bool {
+ return reflect2.IsNil(o)
+}
+
+// Must expect a result to be provided without error.
+// Deprecated: use general.Must
+func Must[T any](o T, err error) T {
+ return general.Must[T](o, err)
+}
+
+// Deprecated: use stringutils.IndentLines.
+func IndentLines(orig string, gap string, skipfirst ...bool) string {
+ return stringutils.IndentLines(orig, gap, skipfirst...)
+}
+
+// Deprecated: use stringutils.JoinIndentLines.
+func JoinIndentLines(orig []string, gap string, skipfirst ...bool) string {
+ return stringutils.JoinIndentLines(orig, gap, skipfirst...)
+}
+
+// ResolvePath handles the ~ notation for the home directory.
+// Deprecated: use ioutils.ResolvePath.
+func ResolvePath(path string) (string, error) {
+ return ioutils.ResolvePath(path)
+}
+
+// Deprecated: use optionutils.ResolveData.
+func ResolveData(in string, fss ...vfs.FileSystem) ([]byte, error) {
+ return optionutils.ResolveData(in, fss...)
+}
+
+// Deprecated: use optionutils.ReadFile.
+func ReadFile(in string, fss ...vfs.FileSystem) ([]byte, error) {
+ return optionutils.ReadFile(in, fss...)
+}
diff --git a/api/utils/dirtree/context.go b/api/utils/dirtree/context.go
index 17047ce2d0..288ec477f8 100644
--- a/api/utils/dirtree/context.go
+++ b/api/utils/dirtree/context.go
@@ -6,10 +6,9 @@ import (
"hash"
"io"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
"github.com/mandelsoft/vfs/pkg/vfs"
-
- "ocm.software/ocm/api/utils"
)
type Context interface {
@@ -24,7 +23,7 @@ type Context interface {
// DefaultContext provides a default directory tree hashing context.
// It is based on the Git tree hash mechanism.
func DefaultContext(ctx ...logging.Context) Context {
- return &defaultContext{utils.OptionalDefaulted(LogContext, ctx...)}
+ return &defaultContext{general.OptionalDefaulted(LogContext, ctx...)}
}
type defaultContext struct {
diff --git a/api/utils/keyinfo.go b/api/utils/keyinfo.go
index 32e2e1e738..5c5849bd4c 100644
--- a/api/utils/keyinfo.go
+++ b/api/utils/keyinfo.go
@@ -4,6 +4,8 @@ import (
"fmt"
"sort"
"strings"
+
+ "github.com/mandelsoft/goutils/maputils"
)
type DescriptionProvider interface {
@@ -32,7 +34,7 @@ func FormatList(def string, elems ...KeyInfo) string {
}
func FormatMap[T DescriptionProvider](def string, elems map[string]T) string {
- keys := StringMapKeys(elems)
+ keys := maputils.OrderedKeys(elems)
sort.Strings(keys)
names := ""
for _, k := range keys {
diff --git a/api/utils/listformat/listhelp.go b/api/utils/listformat/listhelp.go
index e99e99a6f3..247849857c 100644
--- a/api/utils/listformat/listhelp.go
+++ b/api/utils/listformat/listhelp.go
@@ -6,7 +6,8 @@ import (
"sort"
"strings"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/stringutils"
)
type StringElementDescriptionList []string
@@ -39,7 +40,7 @@ func FormatMapElements[K ~string, E any](def string, m map[K]E, desc ...func(E)
if len(desc) == 0 || desc[0] == nil {
desc = []func(E) string{StringDescription[E]}
}
- keys := utils.StringMapKeys(m)
+ keys := maputils.OrderedKeys(m)
return FormatListElements(def, &maplist[K, E]{
desc: desc[0],
keys: keys,
@@ -83,7 +84,7 @@ func FormatListElements(def string, elems ListElements) string {
}
desc := elems.Description(i)
if desc != "" {
- names += ": " + utils.IndentLines(desc, " ", true)
+ names += ": " + stringutils.IndentLines(desc, " ", true)
if strings.Contains(desc, "\n") {
names += "\n"
}
@@ -100,7 +101,7 @@ func FormatDescriptionList(def string, elems ...string) string {
out := ""
for _, l := range list {
if l != "" {
- out += " - " + utils.IndentLines(l, " ", true)
+ out += " - " + stringutils.IndentLines(l, " ", true)
if strings.Contains(l, "\n") {
out += "\n"
}
diff --git a/api/utils/misc/history_test.go b/api/utils/misc/history_test.go
index 3dcd81dcd1..d313a21609 100644
--- a/api/utils/misc/history_test.go
+++ b/api/utils/misc/history_test.go
@@ -4,30 +4,30 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
type Elem struct {
- history common.History
- key common.NameVersion
+ history misc.History
+ key misc.NameVersion
}
-var _ common.HistoryElement = (*Elem)(nil)
+var _ misc.HistoryElement = (*Elem)(nil)
-func (e *Elem) GetHistory() common.History {
+func (e *Elem) GetHistory() misc.History {
return e.history
}
-func (e *Elem) GetKey() common.NameVersion {
+func (e *Elem) GetKey() misc.NameVersion {
return e.key
}
func New(n string, hist ...string) *Elem {
e := &Elem{
- key: common.NewNameVersion(n, ""),
+ key: misc.NewNameVersion(n, ""),
}
for _, h := range hist {
- e.history.Add("test", common.NewNameVersion(h, ""))
+ e.history.Add("test", misc.NewNameVersion(h, ""))
}
return e
}
@@ -35,27 +35,27 @@ func New(n string, hist ...string) *Elem {
var _ = Describe("processing buffer", func() {
Context("history", func() {
It("compare", func() {
- Expect(common.CompareHistoryElement(New("a"), New("b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("b"), New("a")) > 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a"), New("a")) == 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a"), New("b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("b"), New("a")) > 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a"), New("a")) == 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("b", "a")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("b", "a"), New("a", "a")) > 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("a", "a")) == 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("b", "a")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("b", "a"), New("a", "a")) > 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("a", "a")) == 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("a", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("b", "a"), New("a", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("b", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("a", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("b", "a"), New("a", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("b", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("a", "a", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("b", "a"), New("a", "a", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("b", "a", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("a", "a", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("b", "a"), New("a", "a", "b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("b", "a", "b")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a"), New("a", "a")) < 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("b"), New("a", "a")) > 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a"), New("a", "a")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("b"), New("a", "a")) > 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("a")) > 0).To(BeTrue())
- Expect(common.CompareHistoryElement(New("a", "a"), New("b")) < 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("a")) > 0).To(BeTrue())
+ Expect(misc.CompareHistoryElement(New("a", "a"), New("b")) < 0).To(BeTrue())
})
It("sort", func() {
s := []*Elem{
@@ -71,7 +71,7 @@ var _ = Describe("processing buffer", func() {
New("b", "a", "c"),
New("b", "a", "c", "d"),
}
- common.SortHistoryElements(s)
+ misc.SortHistoryElements(s)
r := []*Elem{
New("a"),
New("a", "a"),
diff --git a/api/utils/misc/printer.go b/api/utils/misc/printer.go
index bebf336ab6..77ae974079 100644
--- a/api/utils/misc/printer.go
+++ b/api/utils/misc/printer.go
@@ -7,9 +7,8 @@ import (
"os"
"strings"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
-
- "ocm.software/ocm/api/utils"
)
type Flusher interface {
@@ -56,7 +55,7 @@ func NewPrinter(writer io.Writer) Printer {
}
func AssurePrinter(p Printer) Printer {
- return utils.OptionalDefaulted(NonePrinter, p)
+ return general.OptionalDefaulted(NonePrinter, p)
}
func NewBufferedPrinter() (Printer, *bytes.Buffer) {
diff --git a/api/utils/misc/walk.go b/api/utils/misc/walk.go
index a0588fce0b..1c38901acc 100644
--- a/api/utils/misc/walk.go
+++ b/api/utils/misc/walk.go
@@ -1,9 +1,9 @@
package misc
import (
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/logging"
- "ocm.software/ocm/api/utils"
ocmlog "ocm.software/ocm/api/utils/logging"
)
@@ -11,7 +11,7 @@ type NameVersionInfo[T any] map[NameVersion]T
func (s NameVersionInfo[T]) Add(nv NameVersion, data ...T) bool {
if _, ok := s[nv]; !ok {
- s[nv] = utils.Optional(data...)
+ s[nv] = general.Optional(data...)
return true
}
return false
@@ -31,7 +31,7 @@ type WalkingState[T any, C any] struct {
}
func NewWalkingState[T any, C any](ctx C, lctx ...logging.Context) WalkingState[T, C] {
- logctx := utils.OptionalDefaulted[logging.Context](ocmlog.Context(), lctx...)
+ logctx := general.OptionalDefaulted[logging.Context](ocmlog.Context(), lctx...)
return WalkingState[T, C]{Context: ctx, Closure: NameVersionInfo[T]{}, LogCtx: logctx, Logger: logctx.Logger()}
}
diff --git a/api/utils/path.go b/api/utils/path.go
index 7732931763..b6d5db50a2 100644
--- a/api/utils/path.go
+++ b/api/utils/path.go
@@ -1,61 +1,11 @@
package utils
import (
- "encoding/base64"
- "fmt"
- "os"
- "strings"
-
- "github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
)
-// ResolvePath handles the ~ notation for the home directory.
-func ResolvePath(path string) (string, error) {
- if strings.HasPrefix(path, "~"+string(os.PathSeparator)) {
- home, err := os.UserHomeDir()
- if home == "" || err != nil {
- return path, fmt.Errorf("HOME not set")
- }
- path = home + path[1:]
- }
- return path, nil
-}
-
-func ResolveData(in string, fss ...vfs.FileSystem) ([]byte, error) {
- return handlePrefix(func(in string, fs vfs.FileSystem) ([]byte, error) { return []byte(in), nil }, in, fss...)
-}
-
-func ReadFile(in string, fss ...vfs.FileSystem) ([]byte, error) {
- return handlePrefix(readFile, in, fss...)
-}
-
-func handlePrefix(def func(string, vfs.FileSystem) ([]byte, error), in string, fss ...vfs.FileSystem) ([]byte, error) {
- if strings.HasPrefix(in, "=") {
- return []byte(in[1:]), nil
- }
- if strings.HasPrefix(in, "!") {
- return base64.StdEncoding.DecodeString(in[1:])
- }
- if strings.HasPrefix(in, "@") {
- return readFile(in[1:], FileSystem(fss...))
- }
- return def(in, FileSystem(fss...))
-}
-
-func readFile(path string, fs vfs.FileSystem) ([]byte, error) {
- path, err := ResolvePath(path)
- if err != nil {
- return nil, err
- }
- data, err := vfs.ReadFile(fs, path)
- if err != nil {
- return nil, errors.Wrapf(err, "cannot read file %q", path)
- }
- return data, nil
-}
-
var _osfs = osfs.New()
func FileSystem(fss ...vfs.FileSystem) vfs.FileSystem {
@@ -63,5 +13,5 @@ func FileSystem(fss ...vfs.FileSystem) vfs.FileSystem {
}
func DefaultedFileSystem(def vfs.FileSystem, fss ...vfs.FileSystem) vfs.FileSystem {
- return OptionalDefaulted(def, fss...)
+ return general.OptionalDefaulted(def, fss...)
}
diff --git a/api/utils/registrations/registrations.go b/api/utils/registrations/registrations.go
index 1aaa5a2cdd..8332629b35 100644
--- a/api/utils/registrations/registrations.go
+++ b/api/utils/registrations/registrations.go
@@ -14,8 +14,6 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/general"
"github.com/mandelsoft/goutils/set"
-
- "ocm.software/ocm/api/utils"
)
type HandlerConfig interface{}
@@ -116,7 +114,7 @@ type handlerRegistrationRegistry[T any, O any] struct {
}
func NewHandlerRegistrationRegistry[T any, O any](base ...HandlerRegistrationRegistry[T, O]) HandlerRegistrationRegistry[T, O] {
- return &handlerRegistrationRegistry[T, O]{base: utils.Optional(base...)}
+ return &handlerRegistrationRegistry[T, O]{base: general.Optional(base...)}
}
func (c *handlerRegistrationRegistry[T, O]) GetAllRegistrationHandlers() []*RegistrationHandlerInfo[T, O] {
diff --git a/api/utils/registrations/registrations_test.go b/api/utils/registrations/registrations_test.go
index 31aff80cf4..2220920398 100644
--- a/api/utils/registrations/registrations_test.go
+++ b/api/utils/registrations/registrations_test.go
@@ -5,7 +5,8 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/maputils"
+
"ocm.software/ocm/api/utils/registrations"
)
@@ -61,7 +62,7 @@ func (t *TestRegistrationHandler) RegisterByName(handler string, target Target,
func (t *TestRegistrationHandler) GetHandlers(target Target) registrations.HandlerInfos {
infos := registrations.HandlerInfos{}
- for _, n := range utils.StringMapKeys(t.registered) {
+ for _, n := range maputils.OrderedKeys(t.registered) {
infos = append(infos, registrations.NewLeafHandlerInfo(n, "")...)
}
return infos
diff --git a/api/utils/registrations/utils.go b/api/utils/registrations/utils.go
index a1e3ddd7c4..214432e267 100644
--- a/api/utils/registrations/utils.go
+++ b/api/utils/registrations/utils.go
@@ -4,8 +4,8 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -53,7 +53,7 @@ func DecodeConfig[T any](config interface{}, d ...Decoder) (*T, error) {
}
func decodeConfig[T any](data []byte, dec ...Decoder) (*T, error) {
- if d := utils.Optional(dec...); d != nil {
+ if d := general.Optional(dec...); d != nil {
r, err := d(data, runtime.DefaultYAMLEncoding)
if err != nil {
return nil, err
diff --git a/api/utils/runtime/descriptivetype/type.go b/api/utils/runtime/descriptivetype/type.go
index 6a5ad78eef..6f9c6bee80 100644
--- a/api/utils/runtime/descriptivetype/type.go
+++ b/api/utils/runtime/descriptivetype/type.go
@@ -4,7 +4,10 @@ import (
"fmt"
"strings"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/stringutils"
+
"ocm.software/ocm/api/utils/runtime"
)
@@ -45,7 +48,7 @@ type typeScheme[T runtime.VersionedTypedObject, R TypedObjectType[T], S TypeSche
}
func MustNewDefaultTypeScheme[T runtime.VersionedTypedObject, R TypedObjectType[T], S TypeScheme[T, R]](name string, extender DescriptionExtender[R], unknown runtime.Unstructured, acceptUnknown bool, defaultdecoder runtime.TypedObjectDecoder[T], base ...TypeScheme[T, R]) TypeScheme[T, R] {
- scheme := runtime.MustNewDefaultTypeScheme[T, R](unknown, acceptUnknown, defaultdecoder, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[T, R](unknown, acceptUnknown, defaultdecoder, general.Optional(base...))
return &typeScheme[T, R, S]{
name: name,
extender: extender,
@@ -56,7 +59,7 @@ func MustNewDefaultTypeScheme[T runtime.VersionedTypedObject, R TypedObjectType[
// NewTypeScheme provides an TypeScheme implementation based on the interfaces
// and the default runtime.TypeScheme implementation.
func NewTypeScheme[T runtime.VersionedTypedObject, R TypedObjectType[T], S TypeScheme[T, R]](name string, extender DescriptionExtender[R], unknown runtime.Unstructured, acceptUnknown bool, base ...S) TypeScheme[T, R] {
- scheme := runtime.MustNewDefaultTypeScheme[T, R](unknown, acceptUnknown, nil, utils.Optional(base...))
+ scheme := runtime.MustNewDefaultTypeScheme[T, R](unknown, acceptUnknown, nil, general.Optional(base...))
return &typeScheme[T, R, S]{
name: name,
extender: extender,
@@ -116,21 +119,21 @@ func (t *typeScheme[T, R, S]) Describe() string {
}
}
- for _, tn := range utils.StringMapKeys(descs) {
+ for _, tn := range maputils.OrderedKeys(descs) {
info := descs[tn]
desc := strings.Trim(info.desc, "\n")
if desc != "" {
- s = fmt.Sprintf("%s\n- %s %s
\n\n%s\n\n", s, t.name, tn, utils.IndentLines(desc, " "))
+ s = fmt.Sprintf("%s\n- %s %s
\n\n%s\n\n", s, t.name, tn, stringutils.IndentLines(desc, " "))
format := ""
- for _, f := range utils.StringMapKeys(info.versions) {
+ for _, f := range maputils.OrderedKeys(info.versions) {
desc = strings.Trim(info.versions[f], "\n")
if desc != "" {
- format = fmt.Sprintf("%s\n- Version %s
\n\n%s\n", format, f, utils.IndentLines(desc, " "))
+ format = fmt.Sprintf("%s\n- Version %s
\n\n%s\n", format, f, stringutils.IndentLines(desc, " "))
}
}
if format != "" {
- s += fmt.Sprintf(" The following versions are supported:\n%s\n", strings.Trim(utils.IndentLines(format, " "), "\n"))
+ s += fmt.Sprintf(" The following versions are supported:\n%s\n", strings.Trim(stringutils.IndentLines(format, " "), "\n"))
}
}
s += info.more
diff --git a/api/utils/runtime/multi.go b/api/utils/runtime/multi.go
index 2caed54bdb..9b740bdc32 100644
--- a/api/utils/runtime/multi.go
+++ b/api/utils/runtime/multi.go
@@ -6,9 +6,9 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/set"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/errkind"
)
@@ -47,7 +47,7 @@ func NewMultiFormatVersion[T VersionedTypedObject](kind string, formats FormatVe
for k := range found {
aliases.Delete(k)
}
- return nil, errors.Newf("missing base formats %s", utils.StringMapKeys(aliases))
+ return nil, errors.Newf("missing base formats %s", maputils.OrderedKeys(aliases))
}
return &multiFormatVersion[T]{kind, formats}, nil
}
diff --git a/api/utils/runtime/scheme.go b/api/utils/runtime/scheme.go
index 61ebf4d682..f72a13d9fe 100644
--- a/api/utils/runtime/scheme.go
+++ b/api/utils/runtime/scheme.go
@@ -12,7 +12,6 @@ import (
"github.com/mandelsoft/goutils/generics"
"github.com/modern-go/reflect2"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/errkind"
)
@@ -174,7 +173,7 @@ type defaultScheme[T TypedObject, R TypedObjectDecoder[T]] struct {
var _ Scheme[VersionedTypedObject, TypedObjectDecoder[VersionedTypedObject]] = (*defaultScheme[VersionedTypedObject, TypedObjectDecoder[VersionedTypedObject]])(nil)
func MustNewDefaultScheme[T TypedObject, R TypedObjectDecoder[T]](protoUnstr Unstructured, acceptUnknown bool, defaultdecoder TypedObjectDecoder[T], base ...Scheme[T, R]) Scheme[T, R] {
- return utils.Must(NewDefaultScheme[T](protoUnstr, acceptUnknown, defaultdecoder, base...))
+ return general.Must(NewDefaultScheme[T](protoUnstr, acceptUnknown, defaultdecoder, base...))
}
func NewScheme[T TypedObject, R TypedObjectDecoder[T]](base ...Scheme[T, R]) Scheme[T, R] {
@@ -206,7 +205,7 @@ func NewDefaultScheme[T TypedObject, R TypedObjectDecoder[T]](protoUnstr Unstruc
}
return &defaultScheme[T, R]{
- base: utils.Optional(base...),
+ base: general.Optional(base...),
instance: it,
unstructured: ut,
defaultdecoder: defaultdecoder,
@@ -444,7 +443,7 @@ type defaultTypeScheme[T TypedObject, R TypedObjectType[T]] struct {
}
func MustNewDefaultTypeScheme[T TypedObject, R TypedObjectType[T]](protoUnstr Unstructured, acceptUnknown bool, defaultdecoder TypedObjectDecoder[T], base ...TypeScheme[T, R]) TypeScheme[T, R] {
- return utils.Must(NewDefaultTypeScheme[T, R](protoUnstr, acceptUnknown, defaultdecoder, base...))
+ return general.Must(NewDefaultTypeScheme[T, R](protoUnstr, acceptUnknown, defaultdecoder, base...))
}
func NewTypeScheme[T TypedObject, R TypedObjectType[T]](base ...TypeScheme[T, R]) TypeScheme[T, R] {
diff --git a/api/utils/runtime/scheme_test.go b/api/utils/runtime/scheme_test.go
index 2f55fb9559..7666e28a99 100644
--- a/api/utils/runtime/scheme_test.go
+++ b/api/utils/runtime/scheme_test.go
@@ -5,7 +5,8 @@ import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/maputils"
+
"ocm.software/ocm/api/utils/runtime"
)
@@ -55,7 +56,7 @@ var _ = Describe("scheme", func() {
It("decodes object", func() {
Expect(Must(scheme.Decode(t1data, nil))).To(Equal(t1))
Expect(scheme.KnownTypeNames()).To(Equal([]string{"t1"}))
- Expect(utils.StringMapKeys(scheme.KnownTypes())).To(Equal([]string{"t1"}))
+ Expect(maputils.OrderedKeys(scheme.KnownTypes())).To(Equal([]string{"t1"}))
})
It("handles derived scheme", func() {
@@ -71,7 +72,7 @@ var _ = Describe("scheme", func() {
Expect(scheme.KnownTypeNames()).To(Equal([]string{"t1"}))
Expect(derived.KnownTypeNames()).To(Equal([]string{"t1", "t2"}))
- Expect(utils.StringMapKeys(scheme.KnownTypes())).To(Equal([]string{"t1"}))
- Expect(utils.StringMapKeys(derived.KnownTypes())).To(Equal([]string{"t1", "t2"}))
+ Expect(maputils.OrderedKeys(scheme.KnownTypes())).To(Equal([]string{"t1"}))
+ Expect(maputils.OrderedKeys(derived.KnownTypes())).To(Equal([]string{"t1", "t2"}))
})
})
diff --git a/api/utils/runtime/versionedtype.go b/api/utils/runtime/versionedtype.go
index 7e69bab5ec..2a76928fcc 100644
--- a/api/utils/runtime/versionedtype.go
+++ b/api/utils/runtime/versionedtype.go
@@ -5,8 +5,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
-
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/general"
)
const VersionSeparator = "/"
@@ -81,7 +80,7 @@ func MarshalVersionedTypedObject[T VersionedTypedObject](obj T, toe ...TypedObje
if e := GetEncoder(obj); e != nil {
return e.encode(obj)
}
- if e := utils.Optional(toe...); e != nil {
+ if e := general.Optional(toe...); e != nil {
return e.Encode(obj, DefaultJSONEncoding)
}
return nil, errors.ErrUnknown("object type", obj.GetType())
diff --git a/api/utils/subst/subst.go b/api/utils/subst/subst.go
index d96b221194..a170d63154 100644
--- a/api/utils/subst/subst.go
+++ b/api/utils/subst/subst.go
@@ -7,6 +7,7 @@ import (
"sync"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
mlog "github.com/mandelsoft/logging"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/mikefarah/yq/v4/pkg/yqlib"
@@ -28,7 +29,7 @@ type SubstitutionTarget interface {
func ParseFile(file string, fss ...vfs.FileSystem) (SubstitutionTarget, error) {
fs := utils.FileSystem(fss...)
- data, err := utils.ReadFile(file, fs)
+ data, err := optionutils.ReadFile(file, fs)
if err != nil {
return nil, errors.Wrapf(err, "cannot read file %q", file)
}
diff --git a/api/utils/tarutils/extract.go b/api/utils/tarutils/extract.go
index b266f205c0..37b6ea26fc 100644
--- a/api/utils/tarutils/extract.go
+++ b/api/utils/tarutils/extract.go
@@ -16,7 +16,7 @@ import (
// ExtractArchiveToFs wunpacks an archive to a filesystem.
func ExtractArchiveToFs(fs vfs.FileSystem, path string, fss ...vfs.FileSystem) error {
- sfs := utils.OptionalDefaulted(osfs.New(), fss...)
+ sfs := utils.FileSystem(fss...)
f, err := sfs.Open(path)
if err != nil {
@@ -32,7 +32,7 @@ func ExtractArchiveToFs(fs vfs.FileSystem, path string, fss ...vfs.FileSystem) e
// ExtractArchiveToFsWithInfo unpacks an archive to a filesystem.
func ExtractArchiveToFsWithInfo(fs vfs.FileSystem, path string, fss ...vfs.FileSystem) (int64, int64, error) {
- sfs := utils.OptionalDefaulted(osfs.New(), fss...)
+ sfs := utils.FileSystem(fss...)
f, err := sfs.Open(path)
if err != nil {
diff --git a/api/utils/tarutils/list.go b/api/utils/tarutils/list.go
index e028114565..eb6104c548 100644
--- a/api/utils/tarutils/list.go
+++ b/api/utils/tarutils/list.go
@@ -5,7 +5,6 @@ import (
"io"
"github.com/mandelsoft/goutils/errors"
- "github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
"ocm.software/ocm/api/utils"
@@ -13,7 +12,7 @@ import (
)
func ListArchiveContent(path string, fss ...vfs.FileSystem) ([]string, error) {
- sfs := utils.OptionalDefaulted(osfs.New(), fss...)
+ sfs := utils.FileSystem(fss...)
f, err := sfs.Open(path)
if err != nil {
diff --git a/api/utils/tarutils/pack.go b/api/utils/tarutils/pack.go
index c65ce25a78..ebc0bdead7 100644
--- a/api/utils/tarutils/pack.go
+++ b/api/utils/tarutils/pack.go
@@ -13,16 +13,16 @@ import (
"github.com/mandelsoft/filepath/pkg/filepath"
"github.com/mandelsoft/goutils/finalizer"
- "github.com/mandelsoft/goutils/general"
- "github.com/mandelsoft/vfs/pkg/osfs"
"github.com/mandelsoft/vfs/pkg/vfs"
+
+ "ocm.software/ocm/api/utils"
)
func CreateTarFromFs(fs vfs.FileSystem, path string, compress func(w io.Writer) io.WriteCloser, fss ...vfs.FileSystem) (err error) {
var finalize finalizer.Finalizer
defer finalize.FinalizeWithErrorPropagation(&err)
- tfs := general.OptionalDefaulted(osfs.New(), fss...)
+ tfs := utils.FileSystem(fss...)
f, err := tfs.OpenFile(path, vfs.O_CREATE|vfs.O_TRUNC|vfs.O_WRONLY, 0o600)
if err != nil {
diff --git a/api/utils/template/registry.go b/api/utils/template/registry.go
index db14434f1f..0c71db4261 100644
--- a/api/utils/template/registry.go
+++ b/api/utils/template/registry.go
@@ -7,9 +7,9 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/mandelsoft/vfs/pkg/vfs"
-
- "ocm.software/ocm/api/utils"
)
const KIND_TEMPLATER = "templater"
@@ -85,7 +85,7 @@ func (r *registry) KnownTypeNames() []string {
r.lock.RLock()
defer r.lock.RUnlock()
- return utils.StringMapKeys(r.templaters)
+ return maputils.OrderedKeys(r.templaters)
}
func Usage(scheme Registry) string {
@@ -104,7 +104,7 @@ There are several templaters that can be selected by the --templater
%s %s\n\n", s, t, title)
} else {
- s = fmt.Sprintf("%s- %s
%s\n\n%s", s, t, title, utils.IndentLines(desc, " "))
+ s = fmt.Sprintf("%s- %s
%s\n\n%s", s, t, title, stringutils.IndentLines(desc, " "))
}
if !strings.HasSuffix(s, "\n") {
s += "\n"
diff --git a/api/utils/template/template.go b/api/utils/template/template.go
index a1223c0cf1..2ca800b583 100644
--- a/api/utils/template/template.go
+++ b/api/utils/template/template.go
@@ -9,11 +9,11 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/pflag"
"gopkg.in/yaml.v3"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -131,7 +131,7 @@ func (o *Options) Execute(data string) (string, error) {
func ReadYAMLSettings(fs vfs.FileSystem, path string) (Values, error) {
result := Values{}
- data, err := utils.ReadFile(path, fs)
+ data, err := optionutils.ReadFile(path, fs)
if err != nil {
return nil, err
}
diff --git a/api/utils/utils.go b/api/utils/utils.go
index 10a5984e9d..1691ace31f 100644
--- a/api/utils/utils.go
+++ b/api/utils/utils.go
@@ -9,19 +9,15 @@ import (
"errors"
"fmt"
"io"
- "maps"
"math/big"
"math/rand"
"net/http"
"os"
- "reflect"
- "slices"
"sort"
"strings"
"time"
"github.com/mandelsoft/vfs/pkg/vfs"
- "github.com/modern-go/reflect2"
"github.com/spf13/cobra"
"sigs.k8s.io/yaml"
@@ -217,35 +213,6 @@ func WriteFileToTARArchive(filename string, contentReader io.Reader, archiveWrit
return nil
}
-func IndentLines(orig string, gap string, skipfirst ...bool) string {
- return JoinIndentLines(strings.Split(strings.TrimPrefix(orig, "\n"), "\n"), gap, skipfirst...)
-}
-
-func JoinIndentLines(orig []string, gap string, skipfirst ...bool) string {
- if len(orig) == 0 {
- return ""
- }
- skip := false
- for _, b := range skipfirst {
- skip = skip || b
- }
-
- s := ""
- if !skip {
- s = gap
- }
- return s + strings.Join(orig, "\n"+gap)
-}
-
-func StringMapKeys[K ~string, E any](m map[K]E) []K {
- if m == nil {
- return nil
- }
- keys := slices.Collect(maps.Keys(m))
- slices.Sort(keys)
- return keys
-}
-
type Comparable[K any] interface {
Compare(o K) int
}
@@ -272,74 +239,5 @@ func SortedMapKeys[K ComparableMapKey[K], E any](m map[K]E) []K {
return keys
}
-// Optional returns the first optional non-zero element given as variadic argument,
-// if given, or the zero element as default.
-func Optional[T any](list ...T) T {
- var zero T
- for _, e := range list {
- if !reflect.DeepEqual(e, zero) {
- return e
- }
- }
- return zero
-}
-
-// OptionalDefaulted returns the first optional non-nil element given as variadic
-// argument, or the given default element. For value types a given zero
-// argument is excepted, also.
-func OptionalDefaulted[T any](def T, list ...T) T {
- for _, e := range list {
- if !reflect2.IsNil(e) {
- return e
- }
- }
- return def
-}
-
-// OptionalDefaultedBool checks all args for true. If arg is given
-// the given default is returned.
-func OptionalDefaultedBool(def bool, list ...bool) bool {
- if len(list) == 0 {
- return def
- }
- for _, e := range list {
- if e {
- return e
- }
- }
- return false
-}
-
-// GetOptionFlag returns the flag value used to set a bool option
-// based on optionally specified explicit value(s).
-// The default value is to enable the option (true).
-func GetOptionFlag(list ...bool) bool {
- return OptionalDefaultedBool(true, list...)
-}
-
-func IsNil(o interface{}) bool {
- return reflect2.IsNil(o)
-}
-
-// Must expect a result to be provided without error.
-func Must[T any](o T, err error) T {
- if err != nil {
- panic(fmt.Errorf("expected a %T, but got error %w", o, err))
- }
- return o
-}
-
func IgnoreError(_ error) {
}
-
-func BoolP[T ~bool](b T) *bool {
- v := bool(b)
- return &v
-}
-
-func AsBool(b *bool, def ...bool) bool {
- if b == nil && len(def) > 0 {
- return Optional(def...)
- }
- return b != nil && *b
-}
diff --git a/cmds/demoplugin/uploaders/writer.go b/cmds/demoplugin/uploaders/writer.go
index 1d08ea9ec9..026cc549a7 100644
--- a/cmds/demoplugin/uploaders/writer.go
+++ b/cmds/demoplugin/uploaders/writer.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm/plugin/ppi"
"ocm.software/ocm/api/utils/iotools"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/cmds/demoplugin/accessmethods"
)
@@ -43,7 +43,7 @@ func (w *Writer) Close() error {
if err == nil {
n := w.path
if w.rename {
- n = filepath.Join(os.TempDir(), n, common.DigestToFileName(w.writer.Digest()))
+ n = filepath.Join(os.TempDir(), n, misc.DigestToFileName(w.writer.Digest()))
err := os.Rename(w.file.Name(), n)
if err != nil {
return errors.Wrapf(err, "cannot rename %q to %q", w.file.Name(), n)
diff --git a/cmds/demoplugin/valuesets/check.go b/cmds/demoplugin/valuesets/check.go
index 0e75372aff..13a84ad56e 100644
--- a/cmds/demoplugin/valuesets/check.go
+++ b/cmds/demoplugin/valuesets/check.go
@@ -5,12 +5,12 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/set"
"ocm.software/ocm/api/ocm/extensions/accessmethods/options"
"ocm.software/ocm/api/ocm/plugin/descriptor"
"ocm.software/ocm/api/ocm/plugin/ppi"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flagsets"
"ocm.software/ocm/api/utils/runtime"
)
@@ -36,7 +36,7 @@ const (
var status = set.New[string](STATUS_PASSED, STATUS_FAILED, STATUS_SKIPPED)
var (
- StatusOption = options.NewStringMapOptionType("checkStatus", out.Sprintf("status value for check (%s)", strings.Join(utils.StringMapKeys(status), ", ")))
+ StatusOption = options.NewStringMapOptionType("checkStatus", out.Sprintf("status value for check (%s)", strings.Join(maputils.OrderedKeys(status), ", ")))
MessageOption = options.NewStringMapOptionType("checkMessage", "message for check")
)
@@ -74,7 +74,7 @@ func (v ValueSet) ValidateSpecification(_ ppi.Plugin, spec runtime.TypedObject)
return nil, out.Errorf("status not specified")
}
if !status.Contains(v.Status) {
- return nil, out.Errorf("invalid status (%s), expected %s", v.Status, strings.Join(utils.StringMapKeys(status), ", "))
+ return nil, out.Errorf("invalid status (%s), expected %s", v.Status, strings.Join(maputils.OrderedKeys(status), ", "))
}
if len(desc) > 0 {
diff --git a/cmds/helminstaller/app/execute.go b/cmds/helminstaller/app/execute.go
index 322198aca0..2643d821f1 100644
--- a/cmds/helminstaller/app/execute.go
+++ b/cmds/helminstaller/app/execute.go
@@ -21,7 +21,7 @@ import (
"ocm.software/ocm/api/ocm/tools/toi/support"
"ocm.software/ocm/api/tech/helm/loader"
"ocm.software/ocm/api/utils/compression"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/api/utils/tarutils"
@@ -99,7 +99,7 @@ func (e *Execution) addSubCharts(finalize *Finalizer, subCharts map[string]v1.Re
Mustf(e.fs.Mkdir(charts, 0o700), "cannot mkdir %q", charts)
e.outf("Loading %d sub charts into %s...\n", len(subCharts), charts)
for n, r := range subCharts {
- e.outf(" Loading sub chart %q from resource %s@%s\n", n, r, common.VersionedElementKey(e.ComponentVersion))
+ e.outf(" Loading sub chart %q from resource %s@%s\n", n, r, misc.VersionedElementKey(e.ComponentVersion))
acc, rcv := Must2f(R2(resourcerefs.ResolveResourceReference(e.ComponentVersion, r, nil)), "chart reference", r.String())
loop.Close(rcv)
@@ -107,7 +107,7 @@ func (e *Execution) addSubCharts(finalize *Finalizer, subCharts map[string]v1.Re
Throw(errors.Newf("%s: resource type %q required, but found %q", r, resourcetypes.HELM_CHART, acc.Meta().Type))
}
- _, subpath := Must2f(R2(download.For(e.Context).Download(common.NewPrinter(e.OutputContext.StdOut()), acc, filepath.Join(charts, n), e.fs)), "downloading helm chart %s", r)
+ _, subpath := Must2f(R2(download.For(e.Context).Download(misc.NewPrinter(e.OutputContext.StdOut()), acc, filepath.Join(charts, n), e.fs)), "downloading helm chart %s", r)
chartObj := Must1f(R1(loader.Load(subpath, e.fs)), "cannot load subchart %q", subpath)
found := false
@@ -158,7 +158,7 @@ func (e *Execution) Execute(cfg *Config, values map[string]interface{}, kubeconf
values = Merge(Must1(cfg.GetValues()), values)
- e.outf("Loading helm chart from resource %s@%s\n", cfg.Chart, common.VersionedElementKey(e.ComponentVersion))
+ e.outf("Loading helm chart from resource %s@%s\n", cfg.Chart, misc.VersionedElementKey(e.ComponentVersion))
acc, rcv := Must2f(R2(resourcerefs.ResolveResourceReference(e.ComponentVersion, cfg.Chart, nil)), "chart reference", cfg.Chart.String())
finalize.Close(rcv)
@@ -179,7 +179,7 @@ func (e *Execution) Execute(cfg *Config, values map[string]interface{}, kubeconf
}
e.Logger.Info("starting download", "path", path, "access", string(data))
- _, e.path = Must2f(R2(download.For(e.Context).Download(common.NewPrinter(e.OutputContext.StdOut()), acc, path, e.fs)), "downloading helm chart")
+ _, e.path = Must2f(R2(download.For(e.Context).Download(misc.NewPrinter(e.OutputContext.StdOut()), acc, path, e.fs)), "downloading helm chart")
finalize.With(Calling1(e.fs.Remove, e.path))
diff --git a/cmds/ocm/clippi/config/type.go b/cmds/ocm/clippi/config/type.go
index ac31b7dce5..d76b2d4151 100644
--- a/cmds/ocm/clippi/config/type.go
+++ b/cmds/ocm/clippi/config/type.go
@@ -22,7 +22,7 @@ import (
"ocm.software/ocm/api/utils/cobrautils/logopts"
logdata "ocm.software/ocm/api/utils/cobrautils/logopts/logging"
"ocm.software/ocm/api/utils/logging"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/cmds/ocm/commands/common/options/keyoption"
)
@@ -133,7 +133,7 @@ func (c *Config) Evaluate(ctx ocm.Context, main bool) (*EvaluatedOptions, error)
}
id := credentials.ConsumerIdentity{}
- attrs := common.Properties{}
+ attrs := misc.Properties{}
for _, s := range c.Credentials {
i := strings.Index(s, "=")
if i < 0 {
@@ -145,7 +145,7 @@ func (c *Config) Evaluate(ctx ocm.Context, main bool) (*EvaluatedOptions, error)
if len(attrs) != 0 {
ctx.CredentialsContext().SetCredentialsForConsumer(id, credentials.NewCredentials(attrs))
id = credentials.ConsumerIdentity{}
- attrs = common.Properties{}
+ attrs = misc.Properties{}
}
name = name[1:]
id[name] = value
diff --git a/cmds/ocm/commands/cachecmds/clean/cmd.go b/cmds/ocm/commands/cachecmds/clean/cmd.go
index ab6bad8459..c79fdc05ab 100644
--- a/cmds/ocm/commands/cachecmds/clean/cmd.go
+++ b/cmds/ocm/commands/cachecmds/clean/cmd.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/oci/extensions/attrs/cacheattr"
utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/cachecmds/names"
"ocm.software/ocm/cmds/ocm/commands/verbs"
@@ -92,7 +92,7 @@ func (o *Command) Complete(args []string) error {
}
func (o *Command) Run() error {
- cnt, ncnt, fcnt, size, nsize, fsize, err := o.cache.Cleanup(common.NewPrinter(o.Context.StdErr()), &o.before, o.dryrun)
+ cnt, ncnt, fcnt, size, nsize, fsize, err := o.cache.Cleanup(misc.NewPrinter(o.Context.StdErr()), &o.before, o.dryrun)
if err != nil {
return err
}
diff --git a/cmds/ocm/commands/common/options/closureoption/option.go b/cmds/ocm/commands/common/options/closureoption/option.go
index 9b6f23a06c..b5af7254a8 100644
--- a/cmds/ocm/commands/common/options/closureoption/option.go
+++ b/cmds/ocm/commands/common/options/closureoption/option.go
@@ -3,14 +3,14 @@ package closureoption
import (
"fmt"
+ "github.com/mandelsoft/goutils/general"
"github.com/modern-go/reflect2"
"github.com/spf13/pflag"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flag"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/options"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/processing"
@@ -129,7 +129,7 @@ func (o *Option) Mapper(opts options.OptionSetProvider, path func(interface{}) s
}
func History(e interface{}) string {
- if o, ok := e.(common.HistorySource); ok {
+ if o, ok := e.(misc.HistorySource); ok {
if h := o.GetHistory(); h != nil {
return h.String()
}
@@ -175,7 +175,7 @@ func AddChain(opts *output.Options, chain, add processing.ProcessChain) processi
}
func TableOutput(in *output.TableOutput, closure ...ClosureFunction) *output.TableOutput {
- cf := utils.Optional(closure...)
+ cf := general.Optional(closure...)
chain := processing.Append(in.Chain, processing.Explode(cf.Exploder(in.Options)))
copts := From(in.Options)
return &output.TableOutput{
diff --git a/cmds/ocm/commands/common/options/keyoption/config.go b/cmds/ocm/commands/common/options/keyoption/config.go
index 7b1d584b5c..9390cf14b3 100644
--- a/cmds/ocm/commands/common/options/keyoption/config.go
+++ b/cmds/ocm/commands/common/options/keyoption/config.go
@@ -7,6 +7,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/pflag"
"ocm.software/ocm/api/datacontext"
@@ -14,7 +15,6 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/signutils"
- "ocm.software/ocm/api/utils"
)
type ConfigFragment struct {
@@ -71,7 +71,7 @@ func (c *ConfigFragment) Evaluate(ctx ocm.Context, keys signing.KeyRegistry) (*E
if len(c.RootCAs) > 0 {
var list []*x509.Certificate
for _, r := range c.RootCAs {
- data, err := utils.ReadFile(r, vfsattr.Get(ctx))
+ data, err := optionutils.ReadFile(r, vfsattr.Get(ctx))
if err != nil {
return nil, errors.Wrapf(err, "root CA")
}
@@ -103,9 +103,9 @@ func (c *ConfigFragment) HandleKeys(ctx datacontext.Context, desc string, keys [
var err error
switch file[0] {
case '=', '!', '@':
- data, err = utils.ResolveData(file, fs)
+ data, err = optionutils.ResolveData(file, fs)
default:
- data, err = utils.ReadFile(file, fs)
+ data, err = optionutils.ReadFile(file, fs)
}
if err != nil {
return errors.Wrapf(err, "cannot read %s file %q", desc, file)
diff --git a/cmds/ocm/commands/misccmds/action/execute/cmd.go b/cmds/ocm/commands/misccmds/action/execute/cmd.go
index a781ed6511..7724b73aac 100644
--- a/cmds/ocm/commands/misccmds/action/execute/cmd.go
+++ b/cmds/ocm/commands/misccmds/action/execute/cmd.go
@@ -5,6 +5,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
@@ -12,8 +13,7 @@ import (
"ocm.software/ocm/api/credentials"
"ocm.software/ocm/api/datacontext/action"
"ocm.software/ocm/api/datacontext/action/api"
- utils2 "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/runtime"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/names"
@@ -80,7 +80,7 @@ func (o *Command) Complete(args []string) error {
data := []byte(args[0])
if strings.HasPrefix(args[0], "@") {
- data, err = utils2.ResolveData(args[0][1:], o.FileSystem())
+ data, err = optionutils.ResolveData(args[0][1:], o.FileSystem())
if err != nil {
return err
}
@@ -142,7 +142,7 @@ func (o *Command) Complete(args []string) error {
}
func (o *Command) Run() error {
- var creds common.Properties
+ var creds misc.Properties
if len(o.Consumer) > 0 {
c, err := credentials.RequiredCredentialsForConsumer(o.CredentialsContext(), o.Consumer, o.Matcher)
diff --git a/cmds/ocm/commands/misccmds/hash/sign/cmd.go b/cmds/ocm/commands/misccmds/hash/sign/cmd.go
index db6cf1d299..62cf2a2ef5 100644
--- a/cmds/ocm/commands/misccmds/hash/sign/cmd.go
+++ b/cmds/ocm/commands/misccmds/hash/sign/cmd.go
@@ -7,6 +7,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
@@ -16,7 +17,6 @@ import (
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/tech/signing/signutils"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/misccmds/names"
"ocm.software/ocm/cmds/ocm/commands/verbs"
@@ -92,14 +92,14 @@ func (o *Command) Complete(args []string) error {
}
if o.pubFile != "" {
- o.pub, err = utils2.ReadFile(o.pubFile, o.FileSystem())
+ o.pub, err = optionutils.ReadFile(o.pubFile, o.FileSystem())
if err != nil {
return err
}
}
if o.rootFile != "" {
- roots, err := utils2.ReadFile(o.rootFile, o.FileSystem())
+ roots, err := optionutils.ReadFile(o.rootFile, o.FileSystem())
if err != nil {
return err
}
@@ -112,7 +112,7 @@ func (o *Command) Complete(args []string) error {
if len(o.rootCAs) > 0 {
var list []*x509.Certificate
for _, r := range o.rootCAs {
- data, err := utils2.ReadFile(r, o.FileSystem())
+ data, err := optionutils.ReadFile(r, o.FileSystem())
if err != nil {
return errors.Wrapf(err, "root CA")
}
@@ -131,7 +131,7 @@ func (o *Command) Complete(args []string) error {
}
}
- o.priv, err = utils2.ReadFile(args[0], o.FileSystem())
+ o.priv, err = optionutils.ReadFile(args[0], o.FileSystem())
if err != nil {
return err
}
diff --git a/cmds/ocm/commands/misccmds/rsakeypair/cmd.go b/cmds/ocm/commands/misccmds/rsakeypair/cmd.go
index 579d956d67..d1e886a30e 100644
--- a/cmds/ocm/commands/misccmds/rsakeypair/cmd.go
+++ b/cmds/ocm/commands/misccmds/rsakeypair/cmd.go
@@ -9,6 +9,7 @@ import (
"time"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
parse "github.com/mandelsoft/spiff/dynaml/x509"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/cobra"
@@ -20,7 +21,6 @@ import (
"ocm.software/ocm/api/tech/signing"
"ocm.software/ocm/api/tech/signing/handlers/rsa"
"ocm.software/ocm/api/tech/signing/signutils"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flag"
"ocm.software/ocm/api/utils/encrypt"
"ocm.software/ocm/api/utils/out"
@@ -137,7 +137,7 @@ func (o *Command) Complete(args []string) error {
if o.rootcerts != "" {
pool, err := signutils.GetCertPool(o.rootcerts, false)
if err != nil {
- path, err := utils2.ResolvePath(o.rootcerts)
+ path, err := ioutils.ResolvePath(o.rootcerts)
if err != nil {
return errors.Wrapf(err, "failed to resolve root certificates")
}
@@ -190,7 +190,7 @@ func (o *Command) Complete(args []string) error {
raw := []byte(o.cacert)
cert, pool, err := signutils.GetCertificate(o.cacert, false)
if err != nil {
- path, err := utils2.ResolvePath(o.cacert)
+ path, err := ioutils.ResolvePath(o.cacert)
if err != nil {
return errors.Wrapf(err, "failed to resolve cacert file %q", o.cacert)
}
@@ -225,7 +225,7 @@ func (o *Command) Complete(args []string) error {
if o.cakey != "" {
key, err := parse.ParsePrivateKey(o.cakey)
if err != nil {
- path, err := utils2.ResolvePath(o.cakey)
+ path, err := ioutils.ResolvePath(o.cakey)
if err != nil {
return errors.Wrapf(err, "failed to resolve ca key file %q", o.cakey)
}
diff --git a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/attached.go b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/attached.go
index 4597bfdf01..2fd9e3edda 100644
--- a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/attached.go
+++ b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/attached.go
@@ -7,7 +7,7 @@ import (
"github.com/mandelsoft/logging"
"github.com/opencontainers/go-digest"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/processing"
)
@@ -31,7 +31,7 @@ func explodeAttached(o interface{}) []interface{} {
dig := blob.Digest()
prefix := Attachment(dig, "")
list, err := obj.Namespace.ListTags()
- hist := sliceutils.CopyAppend(obj.History, common.NewNameVersion("", dig.String()))
+ hist := sliceutils.CopyAppend(obj.History, misc.NewNameVersion("", dig.String()))
if err == nil {
for _, l := range list {
if strings.HasPrefix(l, prefix) {
diff --git a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/clean.go b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/clean.go
index 1d10cafc52..d784abe67f 100644
--- a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/clean.go
+++ b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/clean.go
@@ -3,7 +3,7 @@ package artifacthdlr
import (
"github.com/opencontainers/go-digest"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/data"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/processing"
@@ -55,7 +55,7 @@ func clean(iterable data.Iterable) data.Iterable {
d := depth[dig]
if l == 0 && l < d && (e.Spec.Tag == nil || *e.Spec.Tag == tags[dig]) {
j := i + 1
- prefix := e.History.Append(common.NewNameVersion("", dig.String()))
+ prefix := e.History.Append(misc.NewNameVersion("", dig.String()))
for ; j < len(data) && data[j].(*Object).History.HasPrefix(prefix); j++ {
}
data = append(data[:i], data[j:]...)
diff --git a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/closure.go b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/closure.go
index 082cacf0a5..8303be765d 100644
--- a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/closure.go
+++ b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/closure.go
@@ -2,7 +2,7 @@ package artifacthdlr
import (
"ocm.software/ocm/api/oci"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/common/output"
)
@@ -10,17 +10,17 @@ import (
////////////////////////////////////////////////////////////////////////////////
func ClosureExplode(opts *output.Options, e interface{}) []interface{} {
- return traverse(common.History{}, e.(*Object), opts.Context)
+ return traverse(misc.History{}, e.(*Object), opts.Context)
}
-func traverse(hist common.History, o *Object, octx out.Context) []output.Object {
+func traverse(hist misc.History, o *Object, octx out.Context) []output.Object {
blob, err := o.Artifact.Blob()
if err != nil {
out.Errf(octx, "unable to get artifact blob: %s", err)
return nil
}
- key := common.NewNameVersion("", blob.Digest().String())
+ key := misc.NewNameVersion("", blob.Digest().String())
if err := hist.Add(oci.KIND_OCIARTIFACT, key); err != nil {
out.Errf(octx, "unable to add artifact to history: %s", err)
@@ -30,9 +30,9 @@ func traverse(hist common.History, o *Object, octx out.Context) []output.Object
if o.Artifact.IsIndex() {
refs := o.Artifact.IndexAccess().GetDescriptor().Manifests
- found := map[common.NameVersion]bool{}
+ found := map[misc.NameVersion]bool{}
for _, ref := range refs {
- key := common.NewNameVersion("", ref.Digest.String())
+ key := misc.NewNameVersion("", ref.Digest.String())
if found[key] {
continue // skip same ref with different attributes for recursion
}
diff --git a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/sort.go b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/sort.go
index 924e2e407a..2afc5609c8 100644
--- a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/sort.go
+++ b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/sort.go
@@ -3,7 +3,7 @@ package artifacthdlr
import (
"strings"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/processing"
)
@@ -13,7 +13,7 @@ func Compare(a, b interface{}) int {
c := strings.Compare(aa.Spec.UniformRepositorySpec.String(), ab.Spec.UniformRepositorySpec.String())
if c == 0 {
- return common.CompareHistoryElement(aa, ab)
+ return misc.CompareHistoryElement(aa, ab)
}
return c
}
diff --git a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/typehandler.go b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/typehandler.go
index 5d027b3fd8..c36aef0e61 100644
--- a/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/typehandler.go
+++ b/cmds/ocm/commands/ocicmds/common/handlers/artifacthdlr/typehandler.go
@@ -10,7 +10,7 @@ import (
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/oci"
"ocm.software/ocm/api/oci/artdesc"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/tree"
"ocm.software/ocm/cmds/ocm/common/utils"
@@ -23,8 +23,8 @@ func Elem(e interface{}) oci.ArtifactAccess {
////////////////////////////////////////////////////////////////////////////////
type Object struct {
- History common.History
- Key common.NameVersion
+ History misc.History
+ Key misc.NameVersion
Spec oci.RefSpec
AttachKind string
Namespace oci.NamespaceAccess
@@ -32,16 +32,16 @@ type Object struct {
}
var (
- _ common.HistoryElement = (*Object)(nil)
- _ tree.Object = (*Object)(nil)
- _ tree.Typed = (*Object)(nil)
+ _ misc.HistoryElement = (*Object)(nil)
+ _ tree.Object = (*Object)(nil)
+ _ tree.Typed = (*Object)(nil)
)
-func (o *Object) GetHistory() common.History {
+func (o *Object) GetHistory() misc.History {
return o.History
}
-func (o *Object) GetKey() common.NameVersion {
+func (o *Object) GetKey() misc.NameVersion {
return o.Key
}
@@ -49,7 +49,7 @@ func (o *Object) GetKind() string {
return o.AttachKind
}
-func (o *Object) IsNode() *common.NameVersion {
+func (o *Object) IsNode() *misc.NameVersion {
blob, err := o.Artifact.Blob()
if err != nil {
logging.DefaultContext().Logger().LogError(err, "failed to fetch blob from artifact")
@@ -57,7 +57,7 @@ func (o *Object) IsNode() *common.NameVersion {
return nil
}
- nv := common.NewNameVersion("", blob.Digest().String())
+ nv := misc.NewNameVersion("", blob.Digest().String())
return &nv
}
@@ -98,13 +98,13 @@ type Manifest struct {
////////////////////////////////////////////////////////////////////////////////
-func Key(a oci.ArtifactAccess) (common.NameVersion, error) {
+func Key(a oci.ArtifactAccess) (misc.NameVersion, error) {
blob, err := a.Blob()
if err != nil {
- return common.NameVersion{}, fmt.Errorf("unable to determine blob name: %w", err)
+ return misc.NameVersion{}, fmt.Errorf("unable to determine blob name: %w", err)
}
- return common.NewNameVersion("", blob.Digest().String()), nil
+ return misc.NewNameVersion("", blob.Digest().String()), nil
}
type TypeHandler struct {
diff --git a/cmds/ocm/commands/ocmcmds/common/addconfig.go b/cmds/ocm/commands/ocmcmds/common/addconfig.go
index cb46149860..f6e378edea 100644
--- a/cmds/ocm/commands/ocmcmds/common/addconfig.go
+++ b/cmds/ocm/commands/ocmcmds/common/addconfig.go
@@ -5,6 +5,7 @@ import (
"fmt"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/ioutils"
"github.com/mandelsoft/goutils/sliceutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/pflag"
@@ -12,7 +13,7 @@ import (
clictx "ocm.software/ocm/api/cli"
utils2 "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/addhdlrs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/templateroption"
@@ -101,12 +102,12 @@ func (o *ResourceConfigAdderCommand) Complete(args []string) error {
func (o *ResourceConfigAdderCommand) ProcessResourceDescriptions(h ResourceSpecHandler) error {
fs := o.Context.FileSystem()
- ictx := inputs.NewContext(o.Context, common.NewPrinter(o.Context.StdOut()), templateroption.From(o).Vars)
+ ictx := inputs.NewContext(o.Context, misc.NewPrinter(o.Context.StdOut()), templateroption.From(o).Vars)
mode := vfs.FileMode(0o600)
listkey := utils.Plural(h.Key(), 0)
var current string
- configFile, err := utils2.ResolvePath(o.ConfigFile)
+ configFile, err := ioutils.ResolvePath(o.ConfigFile)
if err != nil {
return errors.Wrapf(err, "failed to resolve config file %s", o.ConfigFile)
}
diff --git a/cmds/ocm/commands/ocmcmds/common/addhdlrs/comp/components.go b/cmds/ocm/commands/ocmcmds/common/addhdlrs/comp/components.go
index 05d6139249..2a254a10a7 100644
--- a/cmds/ocm/commands/ocmcmds/common/addhdlrs/comp/components.go
+++ b/cmds/ocm/commands/ocmcmds/common/addhdlrs/comp/components.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/addhdlrs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs"
@@ -36,10 +36,10 @@ func ProcessComponents(ctx clictx.Context, ictx inputs.Context, repo ocm.Reposit
return err
}
- index := set.New[common.NameVersion]()
+ index := set.New[misc.NameVersion]()
for _, elem := range elems {
if r, ok := elem.Spec().(*ResourceSpec); ok {
- index.Add(common.NewNameVersion(r.Name, r.Version))
+ index.Add(misc.NewNameVersion(r.Name, r.Version))
}
}
@@ -63,7 +63,7 @@ func ProcessComponents(ctx clictx.Context, ictx inputs.Context, repo ocm.Reposit
ictx.Printf("completing %s:%s...\n", r.Name, r.Version)
for _, cr := range cv.GetDescriptor().References {
loop := loop.Nested()
- nv := common.NewNameVersion(cr.ComponentName, cr.Version)
+ nv := misc.NewNameVersion(cr.ComponentName, cr.Version)
if index.Contains(nv) {
continue
}
diff --git a/cmds/ocm/commands/ocmcmds/common/addhdlrs/options.go b/cmds/ocm/commands/ocmcmds/common/addhdlrs/options.go
index 2297e16847..a831985192 100644
--- a/cmds/ocm/commands/ocmcmds/common/addhdlrs/options.go
+++ b/cmds/ocm/commands/ocmcmds/common/addhdlrs/options.go
@@ -41,7 +41,7 @@ func (o *Options) addBoolFlag(fs *pflag.FlagSet, p *bool, long string, short str
func (o *Options) applyPreserve(opts *ocm.ElementModificationOptions) {
if !o.PreserveSignature {
- opts.ModifyElement = generics.Pointer(true)
+ opts.ModifyElement = generics.PointerTo(true)
}
}
diff --git a/cmds/ocm/commands/ocmcmds/common/addhdlrs/utils.go b/cmds/ocm/commands/ocmcmds/common/addhdlrs/utils.go
index 1e8a02d0aa..45b5deb7f6 100644
--- a/cmds/ocm/commands/ocmcmds/common/addhdlrs/utils.go
+++ b/cmds/ocm/commands/ocmcmds/common/addhdlrs/utils.go
@@ -8,6 +8,7 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/vfs/pkg/vfs"
"gopkg.in/yaml.v3"
"k8s.io/apimachinery/pkg/util/validation/field"
@@ -78,7 +79,7 @@ func DetermineElementsForSource(ctx clictx.Context, ictx inputs.Context, templ t
listkey := cliutils.Plural(h.Key(), 0)
if reslist, ok := tmp[listkey]; ok {
if len(tmp) != 1 {
- return nil, errors.Newf("invalid %s spec %d: either a list or a single spec possible for %s (found keys %s)", h.Key(), i, listkey, utils.StringMapKeys(tmp))
+ return nil, errors.Newf("invalid %s spec %d: either a list or a single spec possible for %s (found keys %s)", h.Key(), i, listkey, maputils.OrderedKeys(tmp))
}
l, ok := reslist.([]interface{})
if !ok {
@@ -96,7 +97,7 @@ func DetermineElementsForSource(ctx clictx.Context, ictx inputs.Context, templ t
if entry, ok := tmp[h.Key()]; ok {
if m, ok := entry.(map[string]interface{}); ok {
if len(tmp) != 1 {
- return nil, errors.Newf("invalid %s spec %d: either a list or a single spec possible for %s (found keys %s)", h.Key(), i, listkey, utils.StringMapKeys(tmp))
+ return nil, errors.Newf("invalid %s spec %d: either a list or a single spec possible for %s (found keys %s)", h.Key(), i, listkey, maputils.OrderedKeys(tmp))
}
tmp = m
}
@@ -163,7 +164,7 @@ func DetermineElementForData(ctx clictx.Context, ictx inputs.Context, si SourceI
if err != nil {
return nil, err
}
- if err = Validate(input, ictx, general.OptionalDefaulted(si.Origin(), input.SourceFile)); err != nil {
+ if err = Validate(input, ictx, general.OptionalNonZeroDefaulted(si.Origin(), input.SourceFile)); err != nil {
return nil, err
}
}
diff --git a/cmds/ocm/commands/ocmcmds/common/cmds/signing/cmd.go b/cmds/ocm/commands/ocmcmds/common/cmds/signing/cmd.go
index 347def81ab..957e4a5aa8 100644
--- a/cmds/ocm/commands/ocmcmds/common/cmds/signing/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/common/cmds/signing/cmd.go
@@ -12,7 +12,7 @@ import (
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/resolvers"
"ocm.software/ocm/api/ocm/tools/signing"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
@@ -97,7 +97,7 @@ func (o *SignatureCommand) Run() (rerr error) {
if err != nil {
return err
}
- err = utils.HandleOutput(NewAction(o.spec.terms, o.Context.OCMContext(), common.NewPrinter(o.Context.StdOut()), sopts), handler, utils.StringElemSpecs(o.Refs...)...)
+ err = utils.HandleOutput(NewAction(o.spec.terms, o.Context.OCMContext(), misc.NewPrinter(o.Context.StdOut()), sopts), handler, utils.StringElemSpecs(o.Refs...)...)
if err != nil {
return err
}
@@ -116,7 +116,7 @@ type Action interface {
type action struct {
desc []string
- printer common.Printer
+ printer misc.Printer
state signing.WalkingState
baseresolver ocm.ComponentVersionResolver
sopts *signing.Options
@@ -125,7 +125,7 @@ type action struct {
var _ output.Output = (*action)(nil)
-func NewAction(desc []string, ctx ocm.Context, p common.Printer, sopts *signing.Options) Action {
+func NewAction(desc []string, ctx ocm.Context, p misc.Printer, sopts *signing.Options) Action {
return &action{
desc: desc,
printer: p,
@@ -142,7 +142,7 @@ func (a *action) Digest(o *comphdlr.Object) (*metav1.DigestSpec, *compdesc.Compo
d, err := signing.Apply(a.printer, &a.state, o.ComponentVersion, &sopts)
var cd *compdesc.ComponentDescriptor
- nv := common.VersionedElementKey(o.ComponentVersion)
+ nv := misc.VersionedElementKey(o.ComponentVersion)
vi := a.state.Get(nv)
if vi != nil {
cd = vi.GetContext(nv).Descriptor
diff --git a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/closure.go b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/closure.go
index 2dcd8861dd..330dd98c19 100644
--- a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/closure.go
+++ b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/closure.go
@@ -4,7 +4,7 @@ import (
"github.com/mandelsoft/goutils/errors"
"ocm.software/ocm/api/ocm"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
"ocm.software/ocm/cmds/ocm/common/output"
@@ -13,11 +13,11 @@ import (
////////////////////////////////////////////////////////////////////////////////
func ClosureExplode(opts *output.Options, e interface{}) []interface{} {
- return traverse(common.History{}, e.(*Object), opts.Context, opts.Session, lookupoption.From(opts))
+ return traverse(misc.History{}, e.(*Object), opts.Context, opts.Session, lookupoption.From(opts))
}
-func traverse(hist common.History, o *Object, octx out.Context, sess ocm.Session, lookup ocm.ComponentVersionResolver) []interface{} {
- key := common.VersionedElementKey(o.ComponentVersion)
+func traverse(hist misc.History, o *Object, octx out.Context, sess ocm.Session, lookup ocm.ComponentVersionResolver) []interface{} {
+ key := misc.VersionedElementKey(o.ComponentVersion)
if err := hist.Add(ocm.KIND_COMPONENTVERSION, key); err != nil {
return nil
}
@@ -27,7 +27,7 @@ func traverse(hist common.History, o *Object, octx out.Context, sess ocm.Session
refs=append(refs[:0:0], refs...)
sort.Sort(refs)
*/
- found := map[common.NameVersion]bool{}
+ found := map[misc.NameVersion]bool{}
for _, ref := range refs {
key := ocm.ComponentRefKey(&ref)
if found[key] {
diff --git a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/options.go b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/options.go
index e30f5c460f..006e1052ea 100644
--- a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/options.go
+++ b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/options.go
@@ -2,9 +2,9 @@ package comphdlr
import (
"github.com/Masterminds/semver/v3"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/ocm"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption"
"ocm.software/ocm/cmds/ocm/common/options"
@@ -63,7 +63,7 @@ func (o latestonly) ApplyToCompHandler(handler *TypeHandler) {
}
func LatestOnly(b ...bool) Option {
- return latestonly{utils.OptionalDefaultedBool(true, b...)}
+ return latestonly{general.OptionalDefaultedBool(true, b...)}
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/typehandler.go b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/typehandler.go
index 3112ba5c99..49fcbcf612 100644
--- a/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/typehandler.go
+++ b/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr/typehandler.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/tree"
@@ -26,7 +26,7 @@ func Elem(e interface{}) ocm.ComponentVersionAccess {
////////////////////////////////////////////////////////////////////////////////
type Object struct {
- History common.History
+ History misc.History
Identity metav1.Identity
Spec ocm.RefSpec
@@ -36,19 +36,19 @@ type Object struct {
}
var (
- _ common.HistorySource = (*Object)(nil)
- _ tree.Object = (*Object)(nil)
+ _ misc.HistorySource = (*Object)(nil)
+ _ tree.Object = (*Object)(nil)
)
type Manifest struct {
- History common.History `json:"context"`
+ History misc.History `json:"context"`
Element *compdesc.ComponentDescriptor `json:"element"`
}
func (o *Object) AsManifest() interface{} {
h := o.History
if h == nil {
- h = common.History{}
+ h = misc.History{}
}
return &Manifest{
h,
@@ -56,16 +56,16 @@ func (o *Object) AsManifest() interface{} {
}
}
-func (o *Object) GetHistory() common.History {
+func (o *Object) GetHistory() misc.History {
return o.History
}
-func (o *Object) IsNode() *common.NameVersion {
- var nv common.NameVersion
+func (o *Object) IsNode() *misc.NameVersion {
+ var nv misc.NameVersion
if o.ComponentVersion == nil {
nv = o.Spec.NameVersion()
} else {
- nv = common.VersionedElementKey(o.ComponentVersion)
+ nv = misc.VersionedElementKey(o.ComponentVersion)
}
return &nv
}
diff --git a/cmds/ocm/commands/ocmcmds/common/handlers/elemhdlr/typehandler.go b/cmds/ocm/commands/ocmcmds/common/handlers/elemhdlr/typehandler.go
index 6e960c30c7..2b7a4d09db 100644
--- a/cmds/ocm/commands/ocmcmds/common/handlers/elemhdlr/typehandler.go
+++ b/cmds/ocm/commands/ocmcmds/common/handlers/elemhdlr/typehandler.go
@@ -8,7 +8,7 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/tree"
@@ -16,28 +16,28 @@ import (
)
type Object struct {
- History common.History
+ History misc.History
Version ocm.ComponentVersionAccess
VersionId metav1.Identity
Spec metav1.Identity
Index int
Id metav1.Identity
- Node *common.NameVersion
+ Node *misc.NameVersion
Element compdesc.ElementMetaAccessor
}
func (o *Object) String() string {
- return fmt.Sprintf("history: %s, id: %s, location: %s", o.History, o.Id, common.VersionedElementKey(o.Version))
+ return fmt.Sprintf("history: %s, id: %s, location: %s", o.History, o.Id, misc.VersionedElementKey(o.Version))
}
var (
- _ common.HistorySource = (*Object)(nil)
- _ tree.Object = (*Object)(nil)
+ _ misc.HistorySource = (*Object)(nil)
+ _ tree.Object = (*Object)(nil)
)
type Manifest struct {
- History common.History `json:"context"`
+ History misc.History `json:"context"`
Element compdesc.Element `json:"element"`
}
@@ -48,11 +48,11 @@ func (o *Object) AsManifest() interface{} {
}
}
-func (o *Object) GetHistory() common.History {
+func (o *Object) GetHistory() misc.History {
return o.History
}
-func (o *Object) IsNode() *common.NameVersion {
+func (o *Object) IsNode() *misc.NameVersion {
return o.Node
}
@@ -148,7 +148,7 @@ func (h *TypeHandler) all(c *comphdlr.Object) ([]output.Object, error) {
e := elemaccess.Get(i)
if h.filterElement(e) {
result = append(result, &Object{
- History: c.History.Append(common.VersionedElementKey(c.ComponentVersion)),
+ History: c.History.Append(misc.VersionedElementKey(c.ComponentVersion)),
Version: c.ComponentVersion,
VersionId: c.Identity,
Index: i,
@@ -160,7 +160,7 @@ func (h *TypeHandler) all(c *comphdlr.Object) ([]output.Object, error) {
if len(result) == 0 && h.forceEmpty {
result = append(result, &Object{
- History: c.History.Append(common.VersionedElementKey(c.ComponentVersion)),
+ History: c.History.Append(misc.VersionedElementKey(c.ComponentVersion)),
Version: c.ComponentVersion,
VersionId: c.Identity,
Index: -1,
@@ -203,7 +203,7 @@ func (h *TypeHandler) get(c *comphdlr.Object, elemspec utils.ElemSpec) ([]output
ok, _ := selector.Match(eid)
if ok {
result = append(result, &Object{
- History: c.History.Append(common.VersionedElementKey(c.ComponentVersion)),
+ History: c.History.Append(misc.VersionedElementKey(c.ComponentVersion)),
Version: c.ComponentVersion,
VersionId: c.Identity,
Index: i,
@@ -215,7 +215,7 @@ func (h *TypeHandler) get(c *comphdlr.Object, elemspec utils.ElemSpec) ([]output
}
if len(result) == 0 && h.forceEmpty {
result = append(result, &Object{
- History: c.History.Append(common.VersionedElementKey(c.ComponentVersion)),
+ History: c.History.Append(misc.VersionedElementKey(c.ComponentVersion)),
Version: c.ComponentVersion,
VersionId: c.Identity,
Index: -1,
diff --git a/cmds/ocm/commands/ocmcmds/common/handlers/vershdlr/options.go b/cmds/ocm/commands/ocmcmds/common/handlers/vershdlr/options.go
index 79f7355d91..931c0d89f2 100644
--- a/cmds/ocm/commands/ocmcmds/common/handlers/vershdlr/options.go
+++ b/cmds/ocm/commands/ocmcmds/common/handlers/vershdlr/options.go
@@ -2,9 +2,9 @@ package vershdlr
import (
"github.com/Masterminds/semver/v3"
+ "github.com/mandelsoft/goutils/general"
"ocm.software/ocm/api/ocm"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption"
"ocm.software/ocm/cmds/ocm/common/options"
@@ -63,7 +63,7 @@ func (o latestonly) ApplyToHandler(handler *TypeHandler) {
}
func LatestOnly(b ...bool) Option {
- return latestonly{utils.OptionalDefaultedBool(true, b...)}
+ return latestonly{general.OptionalDefaultedBool(true, b...)}
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/cmds/ocm/commands/ocmcmds/common/inputs/inputfields.go b/cmds/ocm/commands/ocmcmds/common/inputs/inputfields.go
index b3ae07ad64..6c9e2eb165 100644
--- a/cmds/ocm/commands/ocmcmds/common/inputs/inputfields.go
+++ b/cmds/ocm/commands/ocmcmds/common/inputs/inputfields.go
@@ -4,7 +4,8 @@ import (
"fmt"
"strings"
- "ocm.software/ocm/api/utils"
+ "github.com/mandelsoft/goutils/stringutils"
+
"ocm.software/ocm/api/utils/cobrautils/flagsets"
)
@@ -93,6 +94,6 @@ func InputFieldDoc(name string, desc string, opt flagsets.ConfigOptionType) stri
}
return `- **` + name + `
** *string* ` + oname + `
-` + utils.IndentLines(strings.TrimSpace(desc), " ", false) + `
+` + stringutils.IndentLines(strings.TrimSpace(desc), " ", false) + `
`
}
diff --git a/cmds/ocm/commands/ocmcmds/common/inputs/inputtype.go b/cmds/ocm/commands/ocmcmds/common/inputs/inputtype.go
index 39a233d97f..2110ea5ae2 100644
--- a/cmds/ocm/commands/ocmcmds/common/inputs/inputtype.go
+++ b/cmds/ocm/commands/ocmcmds/common/inputs/inputtype.go
@@ -7,15 +7,15 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/modern-go/reflect2"
"k8s.io/apimachinery/pkg/util/validation/field"
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/datacontext"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/cobrautils/flagsets"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/runtime"
)
@@ -25,7 +25,7 @@ const KIND_INPUTTYPE = "input type"
type Context interface {
clictx.Context
- Printer() common.Printer
+ Printer() misc.Printer
Printf(msg string, args ...interface{}) (int, error)
Variables() map[string]interface{}
Section(msg string, args ...interface{}) Context
@@ -34,11 +34,11 @@ type Context interface {
type context struct {
clictx.Context
- printer common.Printer
+ printer misc.Printer
variables map[string]interface{}
}
-func NewContext(ctx clictx.Context, pr common.Printer, variables map[string]interface{}) Context {
+func NewContext(ctx clictx.Context, pr misc.Printer, variables map[string]interface{}) Context {
return &context{
Context: ctx,
printer: pr,
@@ -50,7 +50,7 @@ func (c *context) Printf(msg string, args ...interface{}) (int, error) {
return c.printer.Printf(msg, args...)
}
-func (c *context) Printer() common.Printer {
+func (c *context) Printer() misc.Printer {
return c.printer
}
@@ -73,7 +73,7 @@ func (c *context) AddGap(gap string) Context {
type InputResourceInfo struct {
// ComponentVersion is the name of the component version to generate.
- ComponentVersion common.NameVersion
+ ComponentVersion misc.NameVersion
// ElementName is the name of the element to create.
ElementName string
// The path of the file the inputs description has been taken from.
@@ -433,7 +433,7 @@ func Usage(scheme InputTypeScheme) string {
The resource specification supports the following blob input types, specified
with the field type
in the input
field:`
for _, t := range scheme.KnownTypeNames() {
- s = fmt.Sprintf("%s\n\n- Input type %s
\n\n%s", s, t, utils.IndentLines(scheme.GetInputType(t).Usage(), " "))
+ s = fmt.Sprintf("%s\n\n- Input type %s
\n\n%s", s, t, stringutils.IndentLines(scheme.GetInputType(t).Usage(), " "))
}
return s + "\n"
}
diff --git a/cmds/ocm/commands/ocmcmds/common/inputs/types/directory/spec.go b/cmds/ocm/commands/ocmcmds/common/inputs/types/directory/spec.go
index be736935e1..c82e0323c8 100644
--- a/cmds/ocm/commands/ocmcmds/common/inputs/types/directory/spec.go
+++ b/cmds/ocm/commands/ocmcmds/common/inputs/types/directory/spec.go
@@ -3,9 +3,9 @@ package directory
import (
"fmt"
+ "github.com/mandelsoft/goutils/optionutils"
"k8s.io/apimachinery/pkg/util/validation/field"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/blobaccess/dirtree"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs"
@@ -70,8 +70,8 @@ func (s *Spec) GetBlob(ctx inputs.Context, info inputs.InputResourceInfo) (bloba
dirtree.WithCompressWithGzip(s.Compress()),
dirtree.WithIncludeFiles(s.IncludeFiles),
dirtree.WithExcludeFiles(s.ExcludeFiles),
- dirtree.WithFollowSymlinks(utils.AsBool(s.FollowSymlinks)),
- dirtree.WithPreserveDir(utils.AsBool(s.PreserveDir)),
+ dirtree.WithFollowSymlinks(optionutils.AsBool(s.FollowSymlinks)),
+ dirtree.WithPreserveDir(optionutils.AsBool(s.PreserveDir)),
)
return access, "", err
}
diff --git a/cmds/ocm/commands/ocmcmds/common/inputs/types/spiff/spiff_test.go b/cmds/ocm/commands/ocmcmds/common/inputs/types/spiff/spiff_test.go
index b7d7b99349..3304109480 100644
--- a/cmds/ocm/commands/ocmcmds/common/inputs/types/spiff/spiff_test.go
+++ b/cmds/ocm/commands/ocmcmds/common/inputs/types/spiff/spiff_test.go
@@ -5,7 +5,7 @@ import (
. "github.com/onsi/gomega"
. "ocm.software/ocm/cmds/ocm/testhelper"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs/types/spiff"
)
@@ -15,7 +15,7 @@ var _ = Describe("spiff processing", func() {
var ictx inputs.Context
var info inputs.InputResourceInfo
- nv := common.NewNameVersion("test", "v1")
+ nv := misc.NewNameVersion("test", "v1")
BeforeEach(func() {
info = inputs.InputResourceInfo{
@@ -24,7 +24,7 @@ var _ = Describe("spiff processing", func() {
InputFilePath: "/testdata/dummy",
}
env = NewTestEnv(TestData())
- ictx = inputs.NewContext(env.Context, common.NewPrinter(env.Context.StdOut()), nil)
+ ictx = inputs.NewContext(env.Context, misc.NewPrinter(env.Context.StdOut()), nil)
})
AfterEach(func() {
diff --git a/cmds/ocm/commands/ocmcmds/common/options/downloaderoption/option_test.go b/cmds/ocm/commands/ocmcmds/common/options/downloaderoption/option_test.go
index 6cdfa5a10c..75f2d2aa68 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/downloaderoption/option_test.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/downloaderoption/option_test.go
@@ -26,7 +26,7 @@ var _ = Describe("Downloader Option Test Environment", func() {
MustBeSuccessful(fs.Parse([]string{"--downloader", `bla/blub:a:b:10={"k":"v"}`}))
MustBeSuccessful(o.Configure(nil))
Expect(len(o.Registrations)).To(Equal(1))
- Expect(o.Registrations[0].Prio).To(Equal(generics.Pointer(10)))
+ Expect(o.Registrations[0].Prio).To(Equal(generics.PointerTo(10)))
Expect(o.Registrations[0].Name).To(Equal("bla/blub"))
Expect(o.Registrations[0].ArtifactType).To(Equal("a"))
Expect(o.Registrations[0].MediaType).To(Equal("b"))
@@ -38,7 +38,7 @@ var _ = Describe("Downloader Option Test Environment", func() {
MustBeSuccessful(fs.Parse([]string{"--downloader", `bla/blub:::10={"k":"v"}`}))
MustBeSuccessful(o.Configure(nil))
Expect(len(o.Registrations)).To(Equal(1))
- Expect(o.Registrations[0].Prio).To(Equal(generics.Pointer(10)))
+ Expect(o.Registrations[0].Prio).To(Equal(generics.PointerTo(10)))
Expect(o.Registrations[0].Name).To(Equal("bla/blub"))
Expect(o.Registrations[0].ArtifactType).To(Equal(""))
Expect(o.Registrations[0].MediaType).To(Equal(""))
diff --git a/cmds/ocm/commands/ocmcmds/common/options/optutils/registration.go b/cmds/ocm/commands/ocmcmds/common/options/optutils/registration.go
index e6bd620a98..ad10d2b7b3 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/optutils/registration.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/optutils/registration.go
@@ -8,11 +8,11 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/generics"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/pflag"
"sigs.k8s.io/yaml"
clictx "ocm.software/ocm/api/cli"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flag"
)
@@ -79,7 +79,7 @@ func (o *RegistrationOption) Configure(ctx clictx.Context) error {
if err != nil {
return fmt.Errorf("invalid %s registration %s (invalid priority) must be of %s", o.name, n, RegistrationFormat)
}
- prio = generics.Pointer(int(v))
+ prio = generics.PointerTo(int(v))
}
i = strings.Index(med, ":")
if i >= 0 {
@@ -90,7 +90,7 @@ func (o *RegistrationOption) Configure(ctx clictx.Context) error {
var raw []byte
var err error
if strings.HasPrefix(v, "@") {
- raw, err = utils.ReadFile(v[1:], ctx.FileSystem())
+ raw, err = optionutils.ReadFile(v[1:], ctx.FileSystem())
if err != nil {
return errors.Wrapf(err, "cannot read %s config from %q", o.name, v[1:])
}
diff --git a/cmds/ocm/commands/ocmcmds/common/options/schemaoption/option.go b/cmds/ocm/commands/ocmcmds/common/options/schemaoption/option.go
index 2ee7bf480d..f21523cbb3 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/schemaoption/option.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/schemaoption/option.go
@@ -2,11 +2,11 @@ package schemaoption
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
"github.com/spf13/pflag"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/errkind"
"ocm.software/ocm/api/utils/listformat"
"ocm.software/ocm/cmds/ocm/common/options"
@@ -19,7 +19,7 @@ func From(o options.OptionSetProvider) *Option {
}
func New(def string, internal ...bool) *Option {
- return &Option{Defaulted: def, internal: utils2.Optional(internal...)}
+ return &Option{Defaulted: def, internal: general.Optional(internal...)}
}
type Option struct {
diff --git a/cmds/ocm/commands/ocmcmds/common/options/scriptoption/config.go b/cmds/ocm/commands/ocmcmds/common/options/scriptoption/config.go
index 819d0b7259..4a0e91b5c2 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/scriptoption/config.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/scriptoption/config.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
cfgcpi "ocm.software/ocm/api/config/cpi"
@@ -78,7 +79,7 @@ func (a *Config) ApplyTo(ctx cfgcpi.Context, target interface{}) error {
if spec.Path == "" {
return errors.Newf("script or path must be set for entry %q", t.Script)
}
- data, err := utils.ReadFile(spec.Path, utils.FileSystem(spec.FileSystem, t.FileSystem))
+ data, err := optionutils.ReadFile(spec.Path, utils.FileSystem(spec.FileSystem, t.FileSystem))
if err != nil {
return errors.Wrapf(err, "script file %q", spec.Path)
}
diff --git a/cmds/ocm/commands/ocmcmds/common/options/scriptoption/option.go b/cmds/ocm/commands/ocmcmds/common/options/scriptoption/option.go
index ff8acf3c7d..270410c1e6 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/scriptoption/option.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/scriptoption/option.go
@@ -2,6 +2,7 @@ package scriptoption
import (
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/pflag"
@@ -9,7 +10,6 @@ import (
cfgcpi "ocm.software/ocm/api/config/cpi"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/spiff"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/common/options"
)
@@ -59,7 +59,7 @@ func (o *Option) Configure(ctx clictx.Context) error {
}
}
if o.ScriptFile != "" {
- data, err := utils.ReadFile(o.ScriptFile, ctx.FileSystem())
+ data, err := optionutils.ReadFile(o.ScriptFile, ctx.FileSystem())
if err != nil {
return errors.Wrapf(err, "invalid transfer script file")
}
diff --git a/cmds/ocm/commands/ocmcmds/common/options/uploaderoption/option_test.go b/cmds/ocm/commands/ocmcmds/common/options/uploaderoption/option_test.go
index 91a4fd78c9..ab63e2bcee 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/uploaderoption/option_test.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/uploaderoption/option_test.go
@@ -26,7 +26,7 @@ var _ = Describe("Downloader Option Test Environment", func() {
MustBeSuccessful(fs.Parse([]string{"--uploader", `bla/blub:a:b:10={"k":"v"}`}))
MustBeSuccessful(o.Configure(nil))
Expect(len(o.Registrations)).To(Equal(1))
- Expect(o.Registrations[0].Prio).To(Equal(generics.Pointer(10)))
+ Expect(o.Registrations[0].Prio).To(Equal(generics.PointerTo(10)))
Expect(o.Registrations[0].Name).To(Equal("bla/blub"))
Expect(o.Registrations[0].ArtifactType).To(Equal("a"))
Expect(o.Registrations[0].MediaType).To(Equal("b"))
@@ -38,7 +38,7 @@ var _ = Describe("Downloader Option Test Environment", func() {
MustBeSuccessful(fs.Parse([]string{"--uploader", `bla/blub:::10={"k":"v"}`}))
MustBeSuccessful(o.Configure(nil))
Expect(len(o.Registrations)).To(Equal(1))
- Expect(o.Registrations[0].Prio).To(Equal(generics.Pointer(10)))
+ Expect(o.Registrations[0].Prio).To(Equal(generics.PointerTo(10)))
Expect(o.Registrations[0].Name).To(Equal("bla/blub"))
Expect(o.Registrations[0].ArtifactType).To(Equal(""))
Expect(o.Registrations[0].MediaType).To(Equal(""))
diff --git a/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption/option.go b/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption/option.go
index fb8d140a3b..596704c45c 100644
--- a/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption/option.go
+++ b/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption/option.go
@@ -2,9 +2,9 @@ package versionconstraintsoption
import (
"github.com/Masterminds/semver/v3"
+ "github.com/mandelsoft/goutils/general"
"github.com/spf13/pflag"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/cobrautils/flag"
"ocm.software/ocm/cmds/ocm/common/options"
)
@@ -16,7 +16,7 @@ func From(o options.OptionSetProvider) *Option {
}
func New(silent ...bool) *Option {
- return &Option{SilentLatestOption: utils.Optional(silent...)}
+ return &Option{SilentLatestOption: general.Optional(silent...)}
}
type Option struct {
@@ -33,7 +33,7 @@ func (o *Option) AddFlags(fs *pflag.FlagSet) {
}
func (o *Option) SetLatest(latest ...bool) *Option {
- o.Latest = utils.OptionalDefaultedBool(true, latest...)
+ o.Latest = general.OptionalDefaultedBool(true, latest...)
return o
}
diff --git a/cmds/ocm/commands/ocmcmds/common/resources.go b/cmds/ocm/commands/ocmcmds/common/resources.go
index 3ef2840856..c4f7718a22 100644
--- a/cmds/ocm/commands/ocmcmds/common/resources.go
+++ b/cmds/ocm/commands/ocmcmds/common/resources.go
@@ -26,7 +26,7 @@ import (
"ocm.software/ocm/api/utils/cobrautils/flagsets"
"ocm.software/ocm/api/utils/logging"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/addhdlrs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/inputs"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/dryrunoption"
@@ -446,7 +446,7 @@ func (o *ResourceAdderCommand) Complete(args []string) error {
func (o *ResourceAdderCommand) ProcessResourceDescriptions() error {
fs := o.Context.FileSystem()
- printer := common.NewPrinter(o.Context.StdOut())
+ printer := misc.NewPrinter(o.Context.StdOut())
elems, ictx, err := addhdlrs.ProcessDescriptions(o.Context, printer, templateroption.From(o).Options, o.Handler, o.Resources)
if err != nil {
return err
@@ -482,9 +482,9 @@ func ProcessElements(ictx inputs.Context, cv ocm.ComponentVersionAccess, elems [
var acc ocm.AccessSpec
// Local Blob
info := inputs.InputResourceInfo{
- ComponentVersion: common.VersionedElementKey(cv),
+ ComponentVersion: misc.VersionedElementKey(cv),
ElementName: elem.Spec().GetName(),
- InputFilePath: general.OptionalDefaulted(elem.Source().Origin(), elem.Input().SourceFile),
+ InputFilePath: general.OptionalNonZeroDefaulted(elem.Source().Origin(), elem.Input().SourceFile),
}
blob, hint, berr := elem.Input().Input.GetBlob(ictx, info)
if berr != nil {
diff --git a/cmds/ocm/commands/ocmcmds/common/utils.go b/cmds/ocm/commands/ocmcmds/common/utils.go
index b5324d114c..e4953a5f6c 100644
--- a/cmds/ocm/commands/ocmcmds/common/utils.go
+++ b/cmds/ocm/commands/ocmcmds/common/utils.go
@@ -6,12 +6,12 @@ import (
"github.com/mandelsoft/goutils/errors"
"github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/maputils"
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/common/options"
)
@@ -109,7 +109,7 @@ func MapLabelSpecs(d interface{}) (interface{}, error) {
var labels []interface{}
found := map[string]struct{}{}
- for _, k := range utils2.StringMapKeys(m) {
+ for _, k := range maputils.OrderedKeys(m) {
v := m[k]
entry := map[string]interface{}{}
if strings.HasPrefix(k, "*") {
diff --git a/cmds/ocm/commands/ocmcmds/componentarchive/transfer/cmd.go b/cmds/ocm/commands/ocmcmds/componentarchive/transfer/cmd.go
index e79d6155d3..5891128391 100644
--- a/cmds/ocm/commands/ocmcmds/componentarchive/transfer/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/componentarchive/transfer/cmd.go
@@ -10,7 +10,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/common/options/formatoption"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
@@ -110,5 +110,5 @@ func (o *Command) Run() error {
if err != nil {
return err
}
- return transfer.TransferVersion(common.NewPrinter(o.Context.StdOut()), nil, source, target, thdlr)
+ return transfer.TransferVersion(misc.NewPrinter(o.Context.StdOut()), nil, source, target, thdlr)
}
diff --git a/cmds/ocm/commands/ocmcmds/components/check/cmd.go b/cmds/ocm/commands/ocmcmds/components/check/cmd.go
index 79baa1e4e6..8ff70855e5 100644
--- a/cmds/ocm/commands/ocmcmds/components/check/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/components/check/cmd.go
@@ -3,6 +3,7 @@ package check
import (
"fmt"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/util/json"
@@ -10,8 +11,7 @@ import (
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/ocmutils/check"
- utils2 "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/common/options/failonerroroption"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
@@ -139,7 +139,7 @@ func mapWideOutput(e interface{}) interface{} {
missing[id.String()] = d + "]"
}
sep := ""
- for _, k := range utils2.StringMapKeys(missing) {
+ for _, k := range maputils.OrderedKeys(missing) {
mmsg += sep + k + missing[k]
sep = ", "
}
@@ -170,10 +170,10 @@ func mapWideOutput(e interface{}) interface{} {
type CheckResult = check.Result
type Entry struct {
- Status string `json:"status"`
- ComponentVersion common.NameVersion `json:"componentVersion"`
- Results *CheckResult `json:",inline"` // does not work
- Error error `json:"error,omitempty"`
+ Status string `json:"status"`
+ ComponentVersion misc.NameVersion `json:"componentVersion"`
+ Results *CheckResult `json:",inline"` // does not work
+ Error error `json:"error,omitempty"`
}
func (n Entry) MarshalJSON() ([]byte, error) {
@@ -211,7 +211,7 @@ func NewAction(opts *output.Options) processing.ProcessChain {
func (a *action) Map(in interface{}) interface{} {
i := in.(*comphdlr.Object)
o := &Entry{
- ComponentVersion: common.VersionedElementKey(i.ComponentVersion),
+ ComponentVersion: misc.VersionedElementKey(i.ComponentVersion),
}
status := ""
o.Results, o.Error = a.options.For(i.ComponentVersion)
@@ -221,17 +221,17 @@ func (a *action) Map(in interface{}) interface{} {
}
if !o.Results.IsEmpty() {
if len(o.Results.Missing) > 0 {
- a.erropt.AddError(fmt.Errorf("incomplete component version %s", common.VersionedElementKey(i.ComponentVersion)))
+ a.erropt.AddError(fmt.Errorf("incomplete component version %s", misc.VersionedElementKey(i.ComponentVersion)))
status += ",Incomplete"
}
if len(o.Results.Sources) > 0 || len(o.Results.Resources) > 0 {
if len(o.Results.Resources) > 0 {
status += ",Resources"
- a.erropt.AddError(fmt.Errorf("version %s with non-local resources", common.VersionedElementKey(i.ComponentVersion)))
+ a.erropt.AddError(fmt.Errorf("version %s with non-local resources", misc.VersionedElementKey(i.ComponentVersion)))
}
if len(o.Results.Sources) > 0 {
status += ",Sources"
- a.erropt.AddError(fmt.Errorf("version %s with non-local sources", common.VersionedElementKey(i.ComponentVersion)))
+ a.erropt.AddError(fmt.Errorf("version %s with non-local sources", misc.VersionedElementKey(i.ComponentVersion)))
}
}
}
diff --git a/cmds/ocm/commands/ocmcmds/components/download/cmd.go b/cmds/ocm/commands/ocmcmds/components/download/cmd.go
index 71ac2a8d7f..d0f6275f58 100644
--- a/cmds/ocm/commands/ocmcmds/components/download/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/components/download/cmd.go
@@ -13,7 +13,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/common/options/destoption"
"ocm.software/ocm/cmds/ocm/commands/common/options/formatoption"
@@ -143,8 +143,8 @@ func (d *action) Save(o *comphdlr.Object, f string) (err error) {
//nolint:staticcheck // Deprecated: Component Archive (CA) - https://kubernetes.slack.com/archives/C05UWBE8R1D/p1734357630853489
defer errors.PropagateError(&err, set.Close)
- nv := common.VersionedElementKey(src)
- hist := common.History{nv}
+ nv := misc.VersionedElementKey(src)
+ hist := misc.History{nv}
err = transfer.CopyVersion(nil, d.cmd.OCMContext().Logger().WithValues("download", f), hist, src, set, nil)
if err == nil {
diff --git a/cmds/ocm/commands/ocmcmds/components/hash/cmd.go b/cmds/ocm/commands/ocmcmds/components/hash/cmd.go
index dfe19514be..261fc80122 100644
--- a/cmds/ocm/commands/ocmcmds/components/hash/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/components/hash/cmd.go
@@ -12,7 +12,7 @@ import (
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/common/options/closureoption"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
@@ -114,18 +114,18 @@ func TableOutput(opts *output.Options, h *action, mapping processing.MappingFunc
type Object struct {
Spec ocm.RefSpec
- History common.History
+ History misc.History
Descriptor *compdesc.ComponentDescriptor
Error error
}
type Manifest struct {
- History common.History `json:"context"`
- Component string `json:"component"`
- Version string `json:"version"`
- Normalized string `json:"normalized,omitempty"`
- Hash string `json:"hash,omitempty"`
- Error string `json:"error,omitempty"`
+ History misc.History `json:"context"`
+ Component string `json:"component"`
+ Version string `json:"version"`
+ Normalized string `json:"normalized,omitempty"`
+ Hash string `json:"hash,omitempty"`
+ Error string `json:"error,omitempty"`
}
////////////////////////////////////////////////////////////////////////////////
@@ -163,7 +163,7 @@ type action struct {
opts *hashoption.Option
mode *Option
- norms map[common.NameVersion]string
+ norms map[misc.NameVersion]string
}
func (h *action) Add(e interface{}) error {
@@ -171,7 +171,7 @@ func (h *action) Add(e interface{}) error {
if m.Error != "" {
return fmt.Errorf("cannot handle %s: %s\n", m.History, m.Error)
}
- h.norms[common.NewNameVersion(m.Component, m.Version)] = m.Normalized
+ h.norms[misc.NewNameVersion(m.Component, m.Version)] = m.Normalized
return nil
}
@@ -234,7 +234,7 @@ func newAction(opts *output.Options) *action {
mode: From(opts),
}
if opts.OutputMode == "norm" {
- h.norms = map[common.NameVersion]string{}
+ h.norms = map[misc.NameVersion]string{}
}
return h
}
@@ -253,7 +253,7 @@ func (h *action) _manifester(e interface{}) *Manifest {
hist := p.History
if hist == nil {
- hist = common.History{}
+ hist = misc.History{}
}
m := &Manifest{
diff --git a/cmds/ocm/commands/ocmcmds/components/hash/options.go b/cmds/ocm/commands/ocmcmds/components/hash/options.go
index 99346e88a2..fa6d2443a3 100644
--- a/cmds/ocm/commands/ocmcmds/components/hash/options.go
+++ b/cmds/ocm/commands/ocmcmds/components/hash/options.go
@@ -4,7 +4,7 @@ import (
"github.com/spf13/pflag"
"ocm.software/ocm/api/ocm/tools/signing"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
signingcmd "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/cmds/signing"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/hashoption"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
@@ -45,7 +45,7 @@ func (o *Option) Complete(cmd *Command) error {
sopts := signing.NewOptions(hashoption.From(cmd), signing.Resolver(repo, lookup.Resolver), signing.Update(o.Update), signing.VerifyDigests(o.Verify))
err := sopts.Complete(cmd.Context.OCMContext())
if err == nil {
- o.action = signingcmd.NewAction([]string{"", ""}, cmd.Context.OCMContext(), common.NewPrinter(nil), sopts)
+ o.action = signingcmd.NewAction([]string{"", ""}, cmd.Context.OCMContext(), misc.NewPrinter(nil), sopts)
}
return err
}
diff --git a/cmds/ocm/commands/ocmcmds/components/sign/cmd_test.go b/cmds/ocm/commands/ocmcmds/components/sign/cmd_test.go
index 26b7ba3f0d..04bad2f2f0 100644
--- a/cmds/ocm/commands/ocmcmds/components/sign/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/components/sign/cmd_test.go
@@ -26,7 +26,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -425,8 +425,8 @@ successfully signed github.com/mandelsoft/ref:v1 (digest SHA-256:${ref})
store := Must(signing.NewVerifiedStore(VERIFIED_FILE, env.FileSystem()))
- CheckStore(store, common.NewNameVersion(COMPONENTA, VERSION))
- CheckStore(store, common.NewNameVersion(COMPONENTB, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTA, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTB, VERSION))
},
Entry("v1", substitutionsV1, compdesc.JsonNormalisationV1),
Entry("v2", substitutionsV2, compdesc.JsonNormalisationV2),
@@ -435,10 +435,10 @@ successfully signed github.com/mandelsoft/ref:v1 (digest SHA-256:${ref})
})
})
-func CheckStore(store signing.VerifiedStore, ve common.VersionedElement) {
+func CheckStore(store signing.VerifiedStore, ve misc.VersionedElement) {
e := store.Get(ve)
ExpectWithOffset(1, e).NotTo(BeNil())
- ExpectWithOffset(1, common.VersionedElementKey(e)).To(Equal(common.VersionedElementKey(ve)))
+ ExpectWithOffset(1, misc.VersionedElementKey(e)).To(Equal(misc.VersionedElementKey(ve)))
}
func prepareEnv(env *TestEnv, componentAArchive, componentBArchive string) {
diff --git a/cmds/ocm/commands/ocmcmds/components/transfer/cmd.go b/cmds/ocm/commands/ocmcmds/components/transfer/cmd.go
index d01c477bf9..e9bdc48b90 100644
--- a/cmds/ocm/commands/ocmcmds/components/transfer/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/components/transfer/cmd.go
@@ -15,7 +15,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/spiff"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/common/options/closureoption"
"ocm.software/ocm/cmds/ocm/commands/common/options/formatoption"
@@ -143,7 +143,7 @@ func (o *Command) Run() error {
hdlr := comphdlr.NewTypeHandler(o.Context.OCM(), session, repooption.From(o).Repository, comphdlr.OptionsFor(o))
err = utils.HandleOutput(&action{
cmd: o,
- printer: common.NewPrinter(o.Context.StdOut()),
+ printer: misc.NewPrinter(o.Context.StdOut()),
target: target,
handler: thdlr,
closure: transfer.TransportClosure{},
@@ -159,7 +159,7 @@ func (o *Command) Run() error {
type action struct {
cmd *Command
- printer common.Printer
+ printer misc.Printer
target ocm.Repository
handler transferhandler.TransferHandler
closure transfer.TransportClosure
@@ -197,7 +197,7 @@ func (a *action) Out() error {
if a.cmd.BOMFile != "" {
bom := BOM{}
- for _, nv := range maputils.Keys(a.closure, common.CompareNameVersion) {
+ for _, nv := range maputils.Keys(a.closure, misc.CompareNameVersion) {
bom.List = append(bom.List, BomEntry{
Component: nv.GetName(),
Version: nv.GetVersion(),
diff --git a/cmds/ocm/commands/ocmcmds/components/transfer/cmd_test.go b/cmds/ocm/commands/ocmcmds/components/transfer/cmd_test.go
index 51948a7ad2..6738677de0 100644
--- a/cmds/ocm/commands/ocmcmds/components/transfer/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/components/transfer/cmd_test.go
@@ -10,6 +10,7 @@ import (
. "ocm.software/ocm/api/oci/testhelper"
. "ocm.software/ocm/cmds/ocm/testhelper"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/cobra"
clictx "ocm.software/ocm/api/cli"
@@ -22,9 +23,8 @@ import (
"ocm.software/ocm/api/ocm/extensions/accessmethods/ociartifact"
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
ctfocm "ocm.software/ocm/api/ocm/extensions/repositories/ctf"
- ocmutils "ocm.software/ocm/api/ocm/ocmutils"
+ "ocm.software/ocm/api/ocm/ocmutils"
handlercfg "ocm.software/ocm/api/ocm/tools/transfer/transferhandler/config"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
@@ -254,7 +254,7 @@ transferring version "github.com/mandelsoft/test:v1"...
It("transfers ctf to ctf+tgz with config option", func() {
cfg := handlercfg.NewConfig()
- cfg.ResourcesByValue = utils.BoolP(true)
+ cfg.ResourcesByValue = optionutils.BoolP(true)
mod := func(ctx clictx.Context, cmd *cobra.Command) {
if cmd == nil {
@@ -278,7 +278,7 @@ transferring version "github.com/mandelsoft/test:v1"...
It("transfers ctf to ctf+tgz with config set", func() {
cfg := handlercfg.NewConfig()
- cfg.ResourcesByValue = utils.BoolP(true)
+ cfg.ResourcesByValue = optionutils.BoolP(true)
cfgcfg := config.New()
cfgcfg.AddSet("transfer", "standard transfer options to use")
diff --git a/cmds/ocm/commands/ocmcmds/components/verify/cmd_test.go b/cmds/ocm/commands/ocmcmds/components/verify/cmd_test.go
index a94e825f5e..b3e24ed735 100644
--- a/cmds/ocm/commands/ocmcmds/components/verify/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/components/verify/cmd_test.go
@@ -27,7 +27,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -211,14 +211,14 @@ successfully verified github.com/mandelsoft/ref:v1 (digest SHA-256:${ref})
store := Must(NewVerifiedStore(VERIFIED_FILE, env.FileSystem()))
- CheckStore(store, common.NewNameVersion(COMPONENTA, VERSION))
- CheckStore(store, common.NewNameVersion(COMPONENTB, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTA, VERSION))
+ CheckStore(store, misc.NewNameVersion(COMPONENTB, VERSION))
})
})
})
-func CheckStore(store VerifiedStore, ve common.VersionedElement) {
+func CheckStore(store VerifiedStore, ve misc.VersionedElement) {
e := store.Get(ve)
ExpectWithOffset(1, e).NotTo(BeNil())
- ExpectWithOffset(1, common.VersionedElementKey(e)).To(Equal(common.VersionedElementKey(ve)))
+ ExpectWithOffset(1, misc.VersionedElementKey(e)).To(Equal(misc.VersionedElementKey(ve)))
}
diff --git a/cmds/ocm/commands/ocmcmds/ctf/transfer/cmd.go b/cmds/ocm/commands/ocmcmds/ctf/transfer/cmd.go
index 227c458b11..045f49635d 100644
--- a/cmds/ocm/commands/ocmcmds/ctf/transfer/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/ctf/transfer/cmd.go
@@ -11,7 +11,7 @@ import (
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/spiff"
"ocm.software/ocm/api/utils/accessobj"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/commands/common/options/closureoption"
"ocm.software/ocm/cmds/ocm/commands/common/options/formatoption"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
@@ -112,7 +112,7 @@ func (o *Command) Run() error {
return err
}
a := &action{
- printer: common.NewPrinter(o.Context.StdOut()),
+ printer: misc.NewPrinter(o.Context.StdOut()),
target: target,
handler: thdlr,
closure: transfer.TransportClosure{},
@@ -124,7 +124,7 @@ func (o *Command) Run() error {
/////////////////////////////////////////////////////////////////////////////
type action struct {
- printer common.Printer
+ printer misc.Printer
target ocm.Repository
handler transferhandler.TransferHandler
closure transfer.TransportClosure
diff --git a/cmds/ocm/commands/ocmcmds/plugins/describe/cmd.go b/cmds/ocm/commands/ocmcmds/plugins/describe/cmd.go
index 709b563061..b0d7bf6def 100644
--- a/cmds/ocm/commands/ocmcmds/plugins/describe/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/plugins/describe/cmd.go
@@ -7,7 +7,7 @@ import (
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/utils/cobrautils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
handler "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/pluginhdlr"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/names"
"ocm.software/ocm/cmds/ocm/commands/verbs"
@@ -64,13 +64,13 @@ func (o *Command) Run() error {
/////////////////////////////////////////////////////////////////////////////
type action struct {
- Printer common.Printer
+ Printer misc.Printer
Count int
}
func NewAction(o *Command) *action {
return &action{
- Printer: common.NewPrinter(o.StdOut()),
+ Printer: misc.NewPrinter(o.StdOut()),
}
}
@@ -78,7 +78,7 @@ func (a *action) Add(e interface{}) error {
a.Count++
p := handler.Elem(e)
- out, buf := common.NewBufferedPrinter()
+ out, buf := misc.NewBufferedPrinter()
DescribePlugin(p, out)
if a.Count > 1 {
a.Printer.Printf("----------------------\n")
diff --git a/cmds/ocm/commands/ocmcmds/plugins/describe/describe.go b/cmds/ocm/commands/ocmcmds/plugins/describe/describe.go
index bc667eac53..97da70a934 100644
--- a/cmds/ocm/commands/ocmcmds/plugins/describe/describe.go
+++ b/cmds/ocm/commands/ocmcmds/plugins/describe/describe.go
@@ -5,10 +5,10 @@ import (
"ocm.software/ocm/api/ocm/plugin"
plugincommon "ocm.software/ocm/api/ocm/plugin/common"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
-func DescribePlugin(p plugin.Plugin, out common.Printer) {
+func DescribePlugin(p plugin.Plugin, out misc.Printer) {
out.Printf("Plugin Name: %s\n", p.Name())
out.Printf("Plugin Version: %s\n", p.Version())
out.Printf("Path: %s\n", p.Path())
diff --git a/cmds/ocm/commands/ocmcmds/plugins/get/cmd.go b/cmds/ocm/commands/ocmcmds/plugins/get/cmd.go
index 5dce6e1532..df647e182a 100644
--- a/cmds/ocm/commands/ocmcmds/plugins/get/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/plugins/get/cmd.go
@@ -5,13 +5,13 @@ import (
"sort"
"strings"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/set"
"github.com/spf13/cobra"
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm/plugin"
"ocm.software/ocm/api/ocm/plugin/common"
- utils2 "ocm.software/ocm/api/utils"
handler "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/pluginhdlr"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/names"
"ocm.software/ocm/cmds/ocm/commands/verbs"
@@ -115,7 +115,7 @@ func mapGetWideOutput(e interface{}) interface{} {
}
var methods []string
- for _, m := range utils2.StringMapKeys(found) {
+ for _, m := range maputils.OrderedKeys(found) {
l := found[m]
if len(l) == 0 {
methods = append(methods, m)
diff --git a/cmds/ocm/commands/ocmcmds/plugins/install/cmd.go b/cmds/ocm/commands/ocmcmds/plugins/install/cmd.go
index b384c2c366..a038c92165 100644
--- a/cmds/ocm/commands/ocmcmds/plugins/install/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/plugins/install/cmd.go
@@ -12,7 +12,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/attrs/plugincacheattr"
"ocm.software/ocm/api/ocm/plugin/cache"
"ocm.software/ocm/api/utils/cobrautils/flag"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/pluginhdlr"
@@ -96,7 +96,7 @@ func (o *Command) Complete(args []string) error {
}
o.Ref = args[0]
}
- o.Printer = common.NewPrinter(o.StdOut())
+ o.Printer = misc.NewPrinter(o.StdOut())
return nil
}
diff --git a/cmds/ocm/commands/ocmcmds/pubsub/set/cmd.go b/cmds/ocm/commands/ocmcmds/pubsub/set/cmd.go
index e49f68323a..3884ae7e11 100644
--- a/cmds/ocm/commands/ocmcmds/pubsub/set/cmd.go
+++ b/cmds/ocm/commands/ocmcmds/pubsub/set/cmd.go
@@ -3,6 +3,7 @@ package set
import (
"fmt"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
@@ -10,7 +11,6 @@ import (
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/cpi"
"ocm.software/ocm/api/ocm/extensions/pubsub"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/names"
"ocm.software/ocm/cmds/ocm/commands/verbs"
@@ -70,7 +70,7 @@ func (o *Command) Complete(args []string) error {
if o.Delete {
return fmt.Errorf("delete does not require a specification argument")
}
- o.Spec, err = utils2.ResolveData(args[1], o.FileSystem())
+ o.Spec, err = optionutils.ResolveData(args[1], o.FileSystem())
if err != nil {
return err
}
diff --git a/cmds/ocm/commands/ocmcmds/resources/add/cmd_test.go b/cmds/ocm/commands/ocmcmds/resources/add/cmd_test.go
index bc3284214d..b0d3bd3cd1 100644
--- a/cmds/ocm/commands/ocmcmds/resources/add/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/resources/add/cmd_test.go
@@ -27,7 +27,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -54,7 +54,7 @@ func CheckTextResourceBlob(env *TestEnv, cd *compdesc.ComponentDescriptor, name
list, err := vfs.ReadDir(env, env.Join(ARCH, comparch.BlobsDirectoryName))
found := map[string]string{}
- blobname := common.DigestToFileName(dig)
+ blobname := misc.DigestToFileName(dig)
for _, e := range list {
data, err := env.ReadFile(env.Join(ARCH, comparch.BlobsDirectoryName, e.Name()))
Expect(err).To(Succeed())
@@ -81,7 +81,7 @@ func CheckTextResourceBlob(env *TestEnv, cd *compdesc.ComponentDescriptor, name
spec, err := env.OCMContext().AccessSpecForSpec(cd.Resources[0].Access)
Expect(err).To(Succeed())
Expect(spec.GetType()).To(Equal(localblob.Type))
- Expect(spec.(*localblob.AccessSpec).LocalReference).To(Equal(common.DigestToFileName(dig)))
+ Expect(spec.(*localblob.AccessSpec).LocalReference).To(Equal(misc.DigestToFileName(dig)))
Expect(spec.(*localblob.AccessSpec).MediaType).To(Equal("text/plain"))
}
@@ -224,7 +224,7 @@ var _ = Describe("Add resources", func() {
// sha is always different for helm artifact
// Expect(acc.(*localblob.AccessSpec).LocalReference).To(Equal("sha256.817db2696ed23f7779a7f848927e2958d2236e5483ad40875274462d8fa8ef9a"))
- blobpath := env.Join(ARCH, comparch.BlobsDirectoryName, common.DigestToFileName(digest.Digest(acc.(*localblob.AccessSpec).LocalReference)))
+ blobpath := env.Join(ARCH, comparch.BlobsDirectoryName, misc.DigestToFileName(digest.Digest(acc.(*localblob.AccessSpec).LocalReference)))
blob := blobaccess.ForFile(mime.MIME_GZIP, blobpath, env)
set, err := artifactset.OpenFromBlob(accessobj.ACC_READONLY, blob)
diff --git a/cmds/ocm/commands/ocmcmds/resources/download/cmd_test.go b/cmds/ocm/commands/ocmcmds/resources/download/cmd_test.go
index 6aab6733e6..2a82dca9b8 100644
--- a/cmds/ocm/commands/ocmcmds/resources/download/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/resources/download/cmd_test.go
@@ -21,7 +21,7 @@ import (
"ocm.software/ocm/api/utils/accessio"
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -249,7 +249,7 @@ successfully verified test.de/x:v1 (digest SHA-256:ba5b4af72fcb707a4a8ebc48b088c
store := Must(signing.NewVerifiedStore(VERIFIED_FILE, env.FileSystem()))
- cd := store.Get(common.NewNameVersion(COMP, VERSION))
+ cd := store.Get(misc.NewNameVersion(COMP, VERSION))
cd.Resources[0].Digest.Value = "b" + cd.Resources[0].Digest.Value[1:]
store.Add(cd)
diff --git a/cmds/ocm/commands/ocmcmds/resources/download/options.go b/cmds/ocm/commands/ocmcmds/resources/download/options.go
index 4942477e1d..9761264105 100644
--- a/cmds/ocm/commands/ocmcmds/resources/download/options.go
+++ b/cmds/ocm/commands/ocmcmds/resources/download/options.go
@@ -1,9 +1,10 @@
package download
import (
+ "github.com/mandelsoft/goutils/general"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/spf13/pflag"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/common/output"
)
@@ -14,7 +15,7 @@ func From(o *output.Options) *Option {
}
func NewOptions(silent ...bool) *Option {
- return &Option{SilentOption: utils.Optional(silent...)}
+ return &Option{SilentOption: general.Optional(silent...)}
}
type Option struct {
@@ -24,7 +25,7 @@ type Option struct {
}
func (o *Option) SetUseHandlers(ok ...bool) *Option {
- o.UseHandlers = utils.OptionalDefaultedBool(true, ok...)
+ o.UseHandlers = optionutils.BoolOption(ok...)
return o
}
diff --git a/cmds/ocm/commands/ocmcmds/routingslips/common/options.go b/cmds/ocm/commands/ocmcmds/routingslips/common/options.go
index a3f3ee1c95..dc6fe1373e 100644
--- a/cmds/ocm/commands/ocmcmds/routingslips/common/options.go
+++ b/cmds/ocm/commands/ocmcmds/routingslips/common/options.go
@@ -2,9 +2,9 @@ package common
import (
"github.com/Masterminds/semver/v3"
+ "github.com/mandelsoft/goutils/optionutils"
"ocm.software/ocm/api/ocm"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/lookupoption"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/options/versionconstraintsoption"
@@ -47,7 +47,7 @@ func (o verify) ApplyToElemHandler(handler *TypeHandler) {
}
func WithVerification(flag ...bool) Option {
- return verify(utils.OptionalDefaultedBool(true, flag...))
+ return verify(optionutils.BoolOption(flag...))
}
////////////////////////////////////////////////////////////////////////////////
diff --git a/cmds/ocm/commands/ocmcmds/routingslips/common/typehandler.go b/cmds/ocm/commands/ocmcmds/routingslips/common/typehandler.go
index dfaa6fc60b..aa88b601da 100644
--- a/cmds/ocm/commands/ocmcmds/routingslips/common/typehandler.go
+++ b/cmds/ocm/commands/ocmcmds/routingslips/common/typehandler.go
@@ -4,11 +4,11 @@ import (
"fmt"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/extensions/labels/routingslip"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
"ocm.software/ocm/cmds/ocm/common/output"
"ocm.software/ocm/cmds/ocm/common/utils"
@@ -148,7 +148,7 @@ func (h *TypeHandler) all(c *comphdlr.Object) ([]output.Object, error) {
Error: err.Error(),
})
} else {
- for _, n := range utils2.StringMapKeys(slips) {
+ for _, n := range maputils.OrderedKeys(slips) {
s, err := slips.Get(n)
if err != nil {
return nil, errors.ErrInvalid(routingslip.KIND_ROUTING_SLIP, n)
diff --git a/cmds/ocm/commands/ocmcmds/sources/add/cmd_test.go b/cmds/ocm/commands/ocmcmds/sources/add/cmd_test.go
index d0a8d8ccfb..a6c374fb0c 100644
--- a/cmds/ocm/commands/ocmcmds/sources/add/cmd_test.go
+++ b/cmds/ocm/commands/ocmcmds/sources/add/cmd_test.go
@@ -16,7 +16,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/comparch"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
)
const (
@@ -70,7 +70,7 @@ func CheckTextSource(env *TestEnv, cd *compdesc.ComponentDescriptor, name string
dig := rblob.Digest()
data, err := rblob.Get()
Expect(err).To(Succeed())
- bpath := env.Join(ARCH, comparch.BlobsDirectoryName, common.DigestToFileName(dig))
+ bpath := env.Join(ARCH, comparch.BlobsDirectoryName, misc.DigestToFileName(dig))
Expect(env.FileExists(bpath)).To(BeTrue())
Expect(env.ReadFile(bpath)).To(Equal(data))
@@ -81,7 +81,7 @@ func CheckTextSource(env *TestEnv, cd *compdesc.ComponentDescriptor, name string
spec, err := env.OCMContext().AccessSpecForSpec(r.Access)
Expect(err).To(Succeed())
Expect(spec.GetType()).To(Equal(localblob.Type))
- Expect(spec.(*localblob.AccessSpec).LocalReference).To(Equal(common.DigestToFileName(dig)))
+ Expect(spec.(*localblob.AccessSpec).LocalReference).To(Equal(misc.DigestToFileName(dig)))
Expect(spec.(*localblob.AccessSpec).MediaType).To(Equal(mime.MIME_TEXT))
}
diff --git a/cmds/ocm/commands/toicmds/config/bootstrap/cmd.go b/cmds/ocm/commands/toicmds/config/bootstrap/cmd.go
index 2e0ba195cb..c431efb7fb 100644
--- a/cmds/ocm/commands/toicmds/config/bootstrap/cmd.go
+++ b/cmds/ocm/commands/toicmds/config/bootstrap/cmd.go
@@ -6,6 +6,7 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
@@ -19,8 +20,7 @@ import (
"ocm.software/ocm/api/ocm/resourcerefs"
"ocm.software/ocm/api/ocm/tools/toi"
"ocm.software/ocm/api/ocm/tools/toi/install"
- utils3 "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/runtime"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
@@ -155,7 +155,7 @@ type Binary struct {
func (a *action) Out() error {
cv := a.data[0].ComponentVersion
- nv := common.VersionedElementKey(cv)
+ nv := misc.VersionedElementKey(cv)
rid := metav1.NewResourceRef(a.cmd.Id)
resolver := lookupoption.From(a.cmd)
@@ -173,7 +173,7 @@ func (a *action) Out() error {
}
if spec.Description != "" {
- out.Outf(a.cmd.Context, "\nPackage Description:\n%s\n\n", utils3.IndentLines(spec.Description, " ", false))
+ out.Outf(a.cmd.Context, "\nPackage Description:\n%s\n\n", stringutils.IndentLines(spec.Description, " ", false))
}
if spec.AdditionalResources == nil {
out.Outf(a.cmd.Context, "no configuration templates found for %s in %s\n", ires.Meta().GetName(), nv)
@@ -246,7 +246,7 @@ func (a *action) download(kind, path string, cv ocm.ComponentVersionAccess, spec
return errors.Wrapf(err, "%s resource", kind)
}
out.Outf(a.cmd.Context, "downloading %s...\n", kind)
- ok, _, err := download.For(a.cmd.Context).DownloadAsBlob(common.NewPrinter(a.cmd.StdOut()), res, path, a.cmd.FileSystem())
+ ok, _, err := download.For(a.cmd.Context).DownloadAsBlob(misc.NewPrinter(a.cmd.StdOut()), res, path, a.cmd.FileSystem())
if err != nil {
return err
}
diff --git a/cmds/ocm/commands/toicmds/package/bootstrap/cmd.go b/cmds/ocm/commands/toicmds/package/bootstrap/cmd.go
index 084ae99909..8a37063393 100644
--- a/cmds/ocm/commands/toicmds/package/bootstrap/cmd.go
+++ b/cmds/ocm/commands/toicmds/package/bootstrap/cmd.go
@@ -4,6 +4,8 @@ import (
"fmt"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/optionutils"
"github.com/mandelsoft/vfs/pkg/vfs"
"github.com/spf13/cobra"
"github.com/spf13/pflag"
@@ -17,10 +19,9 @@ import (
"ocm.software/ocm/api/ocm/tools/toi/drivers/docker"
"ocm.software/ocm/api/ocm/tools/toi/drivers/filesystem"
"ocm.software/ocm/api/ocm/tools/toi/install"
- utils2 "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/listformat"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/runtime"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
@@ -147,7 +148,7 @@ for the parameter and credentials file using the command ocm bootstrap conf
Using the option --config
it is possible to configure options
for the execution environment (so far only docker is supported).
The following options are possible:
-` + listformat.FormatListElements("", listformat.StringElementList(utils2.StringMapKeys(docker.Options))) + `
+` + listformat.FormatListElements("", listformat.StringElementList(maputils.OrderedKeys(docker.Options))) + `
Using the option --create-env <toi root folder>
it is possible to
create a local execution environment for an executor according to the executor
@@ -195,7 +196,7 @@ func (o *Command) Complete(args []string) error {
}
o.Id = id
if len(o.CredentialsFile) > 0 {
- data, err := utils2.ReadFile(o.CredentialsFile, o.Context.FileSystem())
+ data, err := optionutils.ReadFile(o.CredentialsFile, o.Context.FileSystem())
if err != nil {
return errors.Wrapf(err, "failed reading credentials file %q", o.CredentialsFile)
}
@@ -207,7 +208,7 @@ func (o *Command) Complete(args []string) error {
}
}
if len(o.ParameterFile) > 0 {
- data, err := utils2.ReadFile(o.ParameterFile, o.Context.FileSystem())
+ data, err := optionutils.ReadFile(o.ParameterFile, o.Context.FileSystem())
if err != nil {
return errors.Wrapf(err, "failed reading parameter file %q", o.ParameterFile)
}
@@ -280,8 +281,8 @@ func (a *action) Out() error {
}
}
- common.NewPrinter(a.cmd.StdOut())
- result, err := install.Execute(common.NewPrinter(a.cmd.StdOut()), driver, a.cmd.Action, a.cmd.Id, a.cmd.Credentials, a.cmd.Parameters, a.cmd.OCMContext(), a.data[0].ComponentVersion, lookupoption.From(a.cmd))
+ misc.NewPrinter(a.cmd.StdOut())
+ result, err := install.Execute(misc.NewPrinter(a.cmd.StdOut()), driver, a.cmd.Action, a.cmd.Id, a.cmd.Credentials, a.cmd.Parameters, a.cmd.OCMContext(), a.data[0].ComponentVersion, lookupoption.From(a.cmd))
if err != nil {
return err
}
diff --git a/cmds/ocm/commands/toicmds/package/describe/cmd.go b/cmds/ocm/commands/toicmds/package/describe/cmd.go
index 99ed640351..97405e6616 100644
--- a/cmds/ocm/commands/toicmds/package/describe/cmd.go
+++ b/cmds/ocm/commands/toicmds/package/describe/cmd.go
@@ -5,6 +5,8 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/spf13/cobra"
clictx "ocm.software/ocm/api/cli"
@@ -15,8 +17,7 @@ import (
"ocm.software/ocm/api/ocm/resourcerefs"
"ocm.software/ocm/api/ocm/tools/toi"
"ocm.software/ocm/api/ocm/tools/toi/install"
- utils3 "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/out"
ocmcommon "ocm.software/ocm/cmds/ocm/commands/ocmcmds/common"
"ocm.software/ocm/cmds/ocm/commands/ocmcmds/common/handlers/comphdlr"
@@ -135,7 +136,7 @@ func (a *action) Out() error {
if i > 0 {
a.Outf("\n")
}
- nv := common.VersionedElementKey(a.data[i].ComponentVersion)
+ nv := misc.VersionedElementKey(a.data[i].ComponentVersion)
err := a.describe(a.data[i].ComponentVersion)
if err != nil {
out.Errf(a.cmd.Context, "%s: %s\n", nv, err)
@@ -158,7 +159,7 @@ type einfo struct {
}
func (a *action) describe(cv ocm.ComponentVersionAccess) error {
- nv := common.VersionedElementKey(cv)
+ nv := misc.VersionedElementKey(cv)
rid := metav1.NewResourceRef(a.cmd.Id)
resolver := lookupoption.From(a.cmd)
@@ -177,12 +178,12 @@ func (a *action) describe(cv ocm.ComponentVersionAccess) error {
a.Outf("TOI Package %s[%s]\n", nv, ires.Meta().GetName())
if spec.Description != "" {
- a.Outf(" Package Description:\n%s\n\n", utils3.IndentLines(strings.TrimSpace(spec.Description), " ", false))
+ a.Outf(" Package Description:\n%s\n\n", stringutils.IndentLines(strings.TrimSpace(spec.Description), " ", false))
}
if len(spec.AdditionalResources) == 0 {
a.Outf(" no additional resources found\n")
} else {
- keys := utils3.StringMapKeys(spec.AdditionalResources)
+ keys := maputils.OrderedKeys(spec.AdditionalResources)
a.Outf(" Additional Resources:\n")
for _, k := range keys {
switch k {
@@ -223,14 +224,14 @@ func (a *action) describe(cv ocm.ComponentVersionAccess) error {
if len(actions) == 0 {
a.Outf(" Warning: no actions defined\n")
} else {
- keys := utils3.StringMapKeys(actions)
+ keys := maputils.OrderedKeys(actions)
a.Outf(" Supported Actions:\n")
for _, k := range keys {
info := actions[k]
exec := spec.Executors[info.index]
out.Outf(a.cmd.Context, " - %s: provided by %s\n", k, exec.Name())
if len(exec.CredentialMapping) > 0 {
- ckeys := utils3.StringMapKeys(exec.CredentialMapping)
+ ckeys := maputils.OrderedKeys(exec.CredentialMapping)
out.Outf(a.cmd.Context, " credential key mappings\n")
for _, c := range ckeys {
out.Outf(a.cmd.Context, " - %s: %s\n", c, exec.CredentialMapping[c])
@@ -241,7 +242,7 @@ func (a *action) describe(cv ocm.ComponentVersionAccess) error {
if len(spec.Credentials) == 0 {
a.Outf(" no credentials required\n")
} else {
- keys := utils3.StringMapKeys(spec.Credentials)
+ keys := maputils.OrderedKeys(spec.Credentials)
a.Outf(" Required Credentials:\n")
for _, k := range keys {
cred := spec.Credentials[k]
@@ -250,15 +251,15 @@ func (a *action) describe(cv ocm.ComponentVersionAccess) error {
opt = " (optional)"
}
out.Outf(a.cmd.Context, " - %s%s\n", k, opt)
- out.Outf(a.cmd.Context, " description: %s\n", utils3.IndentLines(strings.TrimSpace(cred.Description), " ", true))
+ out.Outf(a.cmd.Context, " description: %s\n", stringutils.IndentLines(strings.TrimSpace(cred.Description), " ", true))
if len(cred.ConsumerId) != 0 {
out.Outf(a.cmd.Context, " used as consumer id: %s\n", cred.ConsumerId)
}
if len(cred.Properties) != 0 {
- ckeys := utils3.StringMapKeys(cred.Properties)
+ ckeys := maputils.OrderedKeys(cred.Properties)
out.Outf(a.cmd.Context, " required properties:\n")
for _, c := range ckeys {
- out.Outf(a.cmd.Context, " - %s: %s\n", c, utils3.IndentLines(strings.TrimSpace(cred.Properties[c]), " ", true))
+ out.Outf(a.cmd.Context, " - %s: %s\n", c, stringutils.IndentLines(strings.TrimSpace(cred.Properties[c]), " ", true))
}
}
}
diff --git a/cmds/ocm/common/output/complexoutput.go b/cmds/ocm/common/output/complexoutput.go
index 144a81c288..70b3bb1ac0 100644
--- a/cmds/ocm/common/output/complexoutput.go
+++ b/cmds/ocm/common/output/complexoutput.go
@@ -6,9 +6,9 @@ import (
. "ocm.software/ocm/api/utils/out"
. "ocm.software/ocm/cmds/ocm/common/processing"
+ "github.com/mandelsoft/goutils/stringutils"
"sigs.k8s.io/yaml"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/runtime"
)
@@ -73,16 +73,16 @@ func (this *ComplexProcessingOutput) out(gap string, m map[string]interface{}) {
Outf(this.Context, "%s%s:\n", gap, k)
s, err := yaml.Marshal(v)
if err == nil {
- utils.IndentLines(string(s), gap)
+ stringutils.IndentLines(string(s), gap)
}
default:
- eff := utils.IndentLines(fmt.Sprintf("%v", v), gap+" ")
+ eff := stringutils.IndentLines(fmt.Sprintf("%v", v), gap+" ")
Outf(this.Context, "%s%s: %s", gap, k, eff[len(gap)+2:])
}
}
}
s, err := yaml.Marshal(rest)
if err == nil {
- Out(this.Context, utils.IndentLines(string(s), gap))
+ Out(this.Context, stringutils.IndentLines(string(s), gap))
}
}
diff --git a/cmds/ocm/common/output/options.go b/cmds/ocm/common/output/options.go
index 4c2fad86e3..e8c25d5c27 100644
--- a/cmds/ocm/common/output/options.go
+++ b/cmds/ocm/common/output/options.go
@@ -5,13 +5,13 @@ import (
"strings"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/maputils"
"github.com/mandelsoft/goutils/sliceutils"
"github.com/mandelsoft/logging"
"github.com/spf13/pflag"
clictx "ocm.software/ocm/api/cli"
"ocm.software/ocm/api/ocm"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/listformat"
"ocm.software/ocm/cmds/ocm/common/options"
"ocm.software/ocm/cmds/ocm/common/processing"
@@ -115,7 +115,7 @@ func (o *Options) UseColumnOptimization() bool {
func (o *Options) AddFlags(fs *pflag.FlagSet) {
s := ""
if len(o.Outputs) > 1 {
- list := utils.StringMapKeys(o.Outputs)
+ list := maputils.OrderedKeys(o.Outputs)
sep := ""
for _, o := range list {
if o != "" {
@@ -200,7 +200,7 @@ func (o *Options) Usage() string {
s += `
With the option --output
the output mode can be selected.
The following modes are supported:
-` + listformat.FormatList(o.OutputMode, utils.StringMapKeys(o.Outputs)...)
+` + listformat.FormatList(o.OutputMode, maputils.OrderedKeys(o.Outputs)...)
}
return s
}
diff --git a/cmds/ocm/common/output/tableoutput.go b/cmds/ocm/common/output/tableoutput.go
index c8cd1881b9..a65a638e4d 100644
--- a/cmds/ocm/common/output/tableoutput.go
+++ b/cmds/ocm/common/output/tableoutput.go
@@ -6,8 +6,8 @@ import (
. "ocm.software/ocm/cmds/ocm/common/processing"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/general"
- "ocm.software/ocm/api/utils"
"ocm.software/ocm/api/utils/out"
"ocm.software/ocm/api/utils/semverutils"
"ocm.software/ocm/cmds/ocm/common/data"
@@ -141,7 +141,7 @@ func (this *TableProcessingOutput) Out() error {
// if vers is set to true, a semver based comparison is applied, otherwise
// a regular string comparison.
func compareColumn(c int, vers ...bool) CompareFunction {
- if utils.Optional(vers...) {
+ if general.Optional(vers...) {
return _compareColumn(c, semverutils.VersionCache{}.Compare)
} else {
return _compareColumn(c, strings.Compare)
diff --git a/cmds/ocm/common/output/treeoutput.go b/cmds/ocm/common/output/treeoutput.go
index b545519c4a..08828a8174 100644
--- a/cmds/ocm/common/output/treeoutput.go
+++ b/cmds/ocm/common/output/treeoutput.go
@@ -33,7 +33,7 @@ func (f TreeElemTitleFunc) ApplyTreeOutputOption(o *TreeOutputOptions) {
type TreeSymbol string
func (s TreeSymbol) ApplyTreeOutputOption(o *TreeOutputOptions) {
- o.symbol = generics.Pointer(string(s))
+ o.symbol = generics.PointerTo(string(s))
}
type TreeOutputOptions struct {
diff --git a/cmds/ocm/common/tree/tree.go b/cmds/ocm/common/tree/tree.go
index 8e4026f11e..6aad3cec02 100644
--- a/cmds/ocm/common/tree/tree.go
+++ b/cmds/ocm/common/tree/tree.go
@@ -4,13 +4,14 @@ import (
"fmt"
"strings"
- "ocm.software/ocm/api/utils"
- common "ocm.software/ocm/api/utils/misc"
+ "github.com/mandelsoft/goutils/general"
+
+ "ocm.software/ocm/api/utils/misc"
)
type Object interface {
- common.HistorySource
- IsNode() *common.NameVersion
+ misc.HistorySource
+ IsNode() *misc.NameVersion
}
type Typed interface {
@@ -21,7 +22,7 @@ type ValidTreeElement interface {
IsValid() bool
}
-type NodeCreator func(common.History, common.NameVersion) Object
+type NodeCreator func(misc.History, misc.NameVersion) Object
// TreeObject is an element enriched by a textual
// tree graph prefix line.
@@ -39,8 +40,8 @@ func (t *TreeObject) String() string {
}
type TreeNode struct {
- common.NameVersion
- History common.History
+ misc.NameVersion
+ History misc.History
CausedBy Object // the object causing the synthesized node to be inserted
}
@@ -61,7 +62,7 @@ var (
// is not desired, pass an empty symbol string.
func MapToTree(objs Objects, creator NodeCreator, symbols ...string) TreeObjects {
result := TreeObjects{}
- nodeSym := utils.OptionalDefaulted(node, symbols...)
+ nodeSym := general.OptionalDefaulted(node, symbols...)
if nodeSym != "" && !strings.HasPrefix(nodeSym, " ") {
nodeSym = " " + nodeSym
}
@@ -69,8 +70,8 @@ func MapToTree(objs Objects, creator NodeCreator, symbols ...string) TreeObjects
return result
}
-func handleLevel(objs Objects, header string, prefix common.History, start int, creator NodeCreator, result *TreeObjects, nodeSym string) {
- var node *common.NameVersion
+func handleLevel(objs Objects, header string, prefix misc.History, start int, creator NodeCreator, result *TreeObjects, nodeSym string) {
+ var node *misc.NameVersion
lvl := len(prefix)
for i := start; i < len(objs); {
var next int
diff --git a/cmds/ocm/common/tree/tree_test.go b/cmds/ocm/common/tree/tree_test.go
index add8a423a1..b5e2ef186f 100644
--- a/cmds/ocm/common/tree/tree_test.go
+++ b/cmds/ocm/common/tree/tree_test.go
@@ -6,25 +6,25 @@ import (
. "github.com/onsi/ginkgo/v2"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/cmds/ocm/common/tree"
)
type Elem struct {
- common.History
+ misc.History
Node bool
Data string
}
var _ tree.Object = (*Elem)(nil)
-func (e *Elem) GetHistory() common.History {
+func (e *Elem) GetHistory() misc.History {
return e.History
}
-func (e *Elem) IsNode() *common.NameVersion {
+func (e *Elem) IsNode() *misc.NameVersion {
if e.Node {
- n := common.NewNameVersion(e.Data, "")
+ n := misc.NewNameVersion(e.Data, "")
return &n
}
return nil
@@ -43,25 +43,25 @@ func (e *Invalid) IsValid() bool {
}
func I(hist ...string) *Invalid {
- h := common.History{}
+ h := misc.History{}
for _, v := range hist {
- h = append(h, common.NewNameVersion(v, ""))
+ h = append(h, misc.NewNameVersion(v, ""))
}
return &Invalid{Elem{h, false, ""}}
}
func E(d string, hist ...string) *Elem {
- h := common.History{}
+ h := misc.History{}
for _, v := range hist {
- h = append(h, common.NewNameVersion(v, ""))
+ h = append(h, misc.NewNameVersion(v, ""))
}
return &Elem{h, false, d}
}
func N(d string, hist ...string) *Elem {
- h := common.History{}
+ h := misc.History{}
for _, v := range hist {
- h = append(h, common.NewNameVersion(v, ""))
+ h = append(h, misc.NewNameVersion(v, ""))
}
return &Elem{h, true, d}
}
diff --git a/examples/lib/comparison-scenario/00-consumer.go b/examples/lib/comparison-scenario/00-consumer.go
index b1b346722b..f1c06cb90c 100644
--- a/examples/lib/comparison-scenario/00-consumer.go
+++ b/examples/lib/comparison-scenario/00-consumer.go
@@ -11,11 +11,11 @@ import (
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/extensions/download"
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
- ocmutils "ocm.software/ocm/api/ocm/ocmutils"
+ "ocm.software/ocm/api/ocm/ocmutils"
"ocm.software/ocm/api/ocm/tools/signing"
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/tarutils"
"ocm.software/ocm/examples/lib/helper"
)
@@ -43,7 +43,7 @@ func TransportTo(target ocm.Repository, src string) error {
err = transfer.Transfer(cv, target,
standard.ResourcesByValue(),
standard.Overwrite(),
- transfer.WithPrinter(common.StdoutPrinter))
+ transfer.WithPrinter(misc.StdoutPrinter))
if err != nil {
return errors.Wrapf(err, "transfer failed")
}
diff --git a/examples/lib/comparison-scenario/04-transport.go b/examples/lib/comparison-scenario/04-transport.go
index 033fc75e95..53c678fb32 100644
--- a/examples/lib/comparison-scenario/04-transport.go
+++ b/examples/lib/comparison-scenario/04-transport.go
@@ -9,7 +9,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
"ocm.software/ocm/api/ocm/tools/transfer"
"ocm.software/ocm/api/ocm/tools/transfer/transferhandler/standard"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/examples/lib/helper"
)
@@ -60,7 +60,7 @@ func TransportComponentVersion(ctx ocm.Context, cfg *helper.Config) error {
err = transfer.Transfer(cv, target,
standard.ResourcesByValue(),
standard.Overwrite(),
- transfer.WithPrinter(common.StdoutPrinter))
+ transfer.WithPrinter(misc.StdoutPrinter))
if err != nil {
return errors.Wrapf(err, "transfer failed")
}
diff --git a/examples/lib/comparison-scenario/09-localize.go b/examples/lib/comparison-scenario/09-localize.go
index d6f4a7ccd6..b94d996804 100644
--- a/examples/lib/comparison-scenario/09-localize.go
+++ b/examples/lib/comparison-scenario/09-localize.go
@@ -5,6 +5,7 @@ import (
"fmt"
"github.com/mandelsoft/goutils/errors"
+ "github.com/mandelsoft/goutils/stringutils"
"github.com/mandelsoft/vfs/pkg/memoryfs"
"github.com/mandelsoft/vfs/pkg/vfs"
"helm.sh/helm/v3/pkg/chart"
@@ -150,13 +151,13 @@ func Localize(cfg *helper.Config, config template.Values, release, namespace str
fmt.Printf(" - %s\n", f)
}
desc, _ := runtime.ToYAML(chart.Metadata)
- fmt.Printf("chart meta data:\n%s\n", utils.IndentLines(string(desc), " ", false))
+ fmt.Printf("chart meta data:\n%s\n", stringutils.IndentLines(string(desc), " ", false))
yamlvalues, err := runtime.ToYAML(values)
if err != nil {
return errors.Wrapf(err, "invalid values")
}
- fmt.Printf("localized and configured values:\n%s\n", utils.IndentLines(string(yamlvalues), " ", false))
+ fmt.Printf("localized and configured values:\n%s\n", stringutils.IndentLines(string(yamlvalues), " ", false))
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// installation
diff --git a/examples/lib/example.go b/examples/lib/example.go
index d0e4c3ddcf..27e2ff890d 100644
--- a/examples/lib/example.go
+++ b/examples/lib/example.go
@@ -3,11 +3,12 @@ package main
import (
"fmt"
+ "github.com/mandelsoft/goutils/stringutils"
+
"ocm.software/ocm/api/ocm"
"ocm.software/ocm/api/ocm/compdesc"
metav1 "ocm.software/ocm/api/ocm/compdesc/meta/v1"
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
- "ocm.software/ocm/api/utils"
)
const (
@@ -62,7 +63,7 @@ func MyFirstOCMApplication() error {
return err
}
- fmt.Printf(" content:\n%s\n", utils.IndentLines(string(data), " "))
+ fmt.Printf(" content:\n%s\n", stringutils.IndentLines(string(data), " "))
return nil
}
diff --git a/examples/lib/tour/01-getting-started/example.go b/examples/lib/tour/01-getting-started/example.go
index dbd69cc38b..104d8db59d 100644
--- a/examples/lib/tour/01-getting-started/example.go
+++ b/examples/lib/tour/01-getting-started/example.go
@@ -15,7 +15,7 @@ import (
"ocm.software/ocm/api/ocm/extensions/repositories/ocireg"
"ocm.software/ocm/api/ocm/extraid"
utils "ocm.software/ocm/api/ocm/ocmutils"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -232,7 +232,7 @@ func GettingStarted() error {
// The executable downloader is registered by default and automatically
// sets the `X `flag for the written file.
// --- begin download ---
- _, err = download.DownloadResource(ctx, res, "/tmp/ocmcli", download.WithPrinter(common.NewPrinter(os.Stdout)))
+ _, err = download.DownloadResource(ctx, res, "/tmp/ocmcli", download.WithPrinter(misc.NewPrinter(os.Stdout)))
if err != nil {
return errors.Wrapf(err, "download failed")
}
diff --git a/examples/lib/tour/02-composing-a-component-version/01-basic-componentversion-creation.go b/examples/lib/tour/02-composing-a-component-version/01-basic-componentversion-creation.go
index 04c69aa0c6..e5a86869e6 100644
--- a/examples/lib/tour/02-composing-a-component-version/01-basic-componentversion-creation.go
+++ b/examples/lib/tour/02-composing-a-component-version/01-basic-componentversion-creation.go
@@ -17,7 +17,7 @@ import (
ctfocm "ocm.software/ocm/api/ocm/extensions/repositories/ctf"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -199,7 +199,7 @@ data: some very important data required to understand this component
return errors.Wrapf(err, "invalid resource meta")
}
res := dockermultiblob.ResourceAccess(cv.GetContext(), meta,
- dockermultiblob.WithPrinter(common.StdoutPrinter),
+ dockermultiblob.WithPrinter(misc.StdoutPrinter),
dockermultiblob.WithHint("ocm.software/ocmci"),
dockermultiblob.WithVersion(current_version),
dockermultiblob.WithVariants(
@@ -317,7 +317,7 @@ func listVersions(repo ocm.Repository, list ...string) error {
if err != nil {
return errors.Wrapf(err, "cannot get latest version for %s", name)
}
- nested.Close(cv, "component version", common.VersionedElementKey(cv).String())
+ nested.Close(cv, "component version", misc.VersionedElementKey(cv).String())
nested.Finalize()
}
diff --git a/examples/lib/tour/03-working-with-credentials/common.go b/examples/lib/tour/03-working-with-credentials/common.go
index aa2f05fafa..6f15d6031e 100644
--- a/examples/lib/tour/03-working-with-credentials/common.go
+++ b/examples/lib/tour/03-working-with-credentials/common.go
@@ -17,7 +17,7 @@ import (
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -156,7 +156,7 @@ data: some very important data required to understand this component
return errors.Wrapf(err, "invalid resource meta")
}
res := dockermultiblob.ResourceAccess(cv.GetContext(), meta,
- dockermultiblob.WithPrinter(common.StdoutPrinter),
+ dockermultiblob.WithPrinter(misc.StdoutPrinter),
dockermultiblob.WithHint("ocm.software/ocmci"),
dockermultiblob.WithVersion(current_version),
dockermultiblob.WithVariants(
@@ -272,14 +272,14 @@ func listVersions(repo ocm.Repository, list ...string) error {
if err != nil {
return errors.Wrapf(err, "cannot get latest version for %s", name)
}
- nested.Close(cv, "component version", common.VersionedElementKey(cv).String())
+ nested.Close(cv, "component version", misc.VersionedElementKey(cv).String())
nested.Finalize()
}
return nil
}
-func obfuscate(props common.Properties) string {
+func obfuscate(props misc.Properties) string {
if pw, ok := props[credentials.ATTR_PASSWORD]; ok {
if len(pw) > 5 {
pw = pw[:5] + "***"
diff --git a/examples/lib/tour/05-transporting-component-versions/common.go b/examples/lib/tour/05-transporting-component-versions/common.go
index b05dcebe2c..b552213578 100644
--- a/examples/lib/tour/05-transporting-component-versions/common.go
+++ b/examples/lib/tour/05-transporting-component-versions/common.go
@@ -16,7 +16,7 @@ import (
resourcetypes "ocm.software/ocm/api/ocm/extensions/artifacttypes"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
)
@@ -155,7 +155,7 @@ data: some very important data required to understand this component
return errors.Wrapf(err, "invalid resource meta")
}
res := dockermultiblob.ResourceAccess(cv.GetContext(), meta,
- dockermultiblob.WithPrinter(common.StdoutPrinter),
+ dockermultiblob.WithPrinter(misc.StdoutPrinter),
dockermultiblob.WithHint("ocm.software/ocmci"),
dockermultiblob.WithVersion(current_version),
dockermultiblob.WithVariants(
@@ -269,7 +269,7 @@ func listVersions(repo ocm.Repository, list ...string) error {
if err != nil {
return errors.Wrapf(err, "cannot get latest version for %s", name)
}
- nested.Close(cv, "component version", common.VersionedElementKey(cv).String())
+ nested.Close(cv, "component version", misc.VersionedElementKey(cv).String())
nested.Finalize()
}
diff --git a/examples/lib/tour/06-signing-component-versions/common.go b/examples/lib/tour/06-signing-component-versions/common.go
index f7c04737b9..a7ab02720c 100644
--- a/examples/lib/tour/06-signing-component-versions/common.go
+++ b/examples/lib/tour/06-signing-component-versions/common.go
@@ -21,7 +21,7 @@ import (
"ocm.software/ocm/api/tech/signing/signutils"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/api/utils/semverutils"
"ocm.software/ocm/examples/lib/helper"
)
@@ -161,7 +161,7 @@ data: some very important data required to understand this component
return errors.Wrapf(err, "invalid resource meta")
}
res := dockermultiblob.ResourceAccess(cv.GetContext(), meta,
- dockermultiblob.WithPrinter(common.StdoutPrinter),
+ dockermultiblob.WithPrinter(misc.StdoutPrinter),
dockermultiblob.WithHint("ocm.software/ocmci"),
dockermultiblob.WithVersion(current_version),
dockermultiblob.WithVariants(
@@ -296,7 +296,7 @@ func listVersions(repo ocm.Repository, list ...string) error {
if err != nil {
return errors.Wrapf(err, "cannot get latest version for %s", name)
}
- nested.Close(cv, "component version", common.VersionedElementKey(cv).String())
+ nested.Close(cv, "component version", misc.VersionedElementKey(cv).String())
nested.Finalize()
}
diff --git a/examples/lib/transfer1/example.go b/examples/lib/transfer1/example.go
index fd92781d84..a7bb115063 100644
--- a/examples/lib/transfer1/example.go
+++ b/examples/lib/transfer1/example.go
@@ -22,7 +22,7 @@ import (
"ocm.software/ocm/api/utils/accessobj"
"ocm.software/ocm/api/utils/blobaccess"
"ocm.software/ocm/api/utils/mime"
- common "ocm.software/ocm/api/utils/misc"
+ "ocm.software/ocm/api/utils/misc"
"ocm.software/ocm/examples/lib/helper"
)
@@ -147,7 +147,7 @@ func TransferApplication() (rerr error) {
return errors.Wrapf(err, "cannot list components")
}
- printer := common.NewPrinter(os.Stdout)
+ printer := misc.NewPrinter(os.Stdout)
// gather transferred component versions
// especially for transitive transports this should be
// shared among multiple calls to TransferVersion to avoid
diff --git a/go.mod b/go.mod
index aab182ff4d..75643bc6d0 100644
--- a/go.mod
+++ b/go.mod
@@ -44,7 +44,7 @@ require (
github.com/klauspost/compress v1.18.0
github.com/klauspost/pgzip v1.2.6
github.com/mandelsoft/filepath v0.0.0-20240223090642-3e2777258aa3
- github.com/mandelsoft/goutils v0.0.0-20241005173814-114fa825bbdc
+ github.com/mandelsoft/goutils v0.0.0-20250429160702-e623eb053914
github.com/mandelsoft/logging v0.0.0-20240618075559-fdca28a87b0a
github.com/mandelsoft/spiff v1.7.0-beta-7
github.com/mandelsoft/vfs v0.4.4
diff --git a/go.sum b/go.sum
index ad1cf45a22..1a3cd2daba 100644
--- a/go.sum
+++ b/go.sum
@@ -892,8 +892,8 @@ github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4
github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU=
github.com/mandelsoft/filepath v0.0.0-20240223090642-3e2777258aa3 h1:oo9nIgnyiBgYPbcZslRT4y29siuL5EoNJ/t1tr0xEVQ=
github.com/mandelsoft/filepath v0.0.0-20240223090642-3e2777258aa3/go.mod h1:LxhqC7khDoRENwooP6f/vWvia9ivj6TqLYrR39zqkN0=
-github.com/mandelsoft/goutils v0.0.0-20241005173814-114fa825bbdc h1:706IHCvAg6DjmG4cQ24CRNpvNVJ8+KQkcGEdQiLyJbU=
-github.com/mandelsoft/goutils v0.0.0-20241005173814-114fa825bbdc/go.mod h1:9TJgkwSY43RWHiIAAz7fL8SEIHf0L13Pk4w8fDIt+i4=
+github.com/mandelsoft/goutils v0.0.0-20250429160702-e623eb053914 h1:ItIkvN3QLec7J88ZVi38YWhje3+G6aKDYupKIGKTXag=
+github.com/mandelsoft/goutils v0.0.0-20250429160702-e623eb053914/go.mod h1:UeYhFI0gRoiTcmZH7VD/Oy5dYz4O8vyOv5tsiBTEUPo=
github.com/mandelsoft/logging v0.0.0-20240618075559-fdca28a87b0a h1:MAvh0gbP2uwKmf7wWCkYCzrYa6vPjBvYeGhoUlVHwtI=
github.com/mandelsoft/logging v0.0.0-20240618075559-fdca28a87b0a/go.mod h1:uO460C1lIB3IOOgrbXhAlz3AKsOv4T2K6ALBn3PwuSg=
github.com/mandelsoft/spiff v1.7.0-beta-7 h1:ow8hgn7A80RlgsN2wjVpwl/7HSObzw3ph3m4vay7KZs=