mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-11 17:12:51 +00:00
* * handle local flag * add managerfactory handling for local flag * add shortName handling for local flag * add dot git file handling for local flag * add tests * fix normal listing * add ParseGitRepository function, add viper, add testing for utils * add latest tag logic, add auto pinning and auto fetching * makke gorepomod list works with --local * make pinning works with local flag, enable auto update on fork and non-fork repo * fix: refactor to pass linter * refactor code and fix comments * edit README * refactor code to pass linting * refactor code * refactor code and enable patch branch label * ru add license * fbackward compatibility for unpin
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
// Copyright 2022 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package repo
|
|
|
|
import (
|
|
"sigs.k8s.io/kustomize/cmd/gorepomod/internal/misc"
|
|
"sigs.k8s.io/kustomize/cmd/gorepomod/internal/mod"
|
|
)
|
|
|
|
// ManagerFactory is a collection of clean data needed to build
|
|
// clean, fully wired up instances of Manager.
|
|
type ManagerFactory struct {
|
|
dg *DotGitData
|
|
modules []*protoModule
|
|
remoteName misc.TrackedRepo
|
|
versionMapLocal misc.VersionMap
|
|
versionMapRemote misc.VersionMap
|
|
}
|
|
|
|
func (mf *ManagerFactory) NewRepoManager(allowedReplacements []string) *Manager {
|
|
result := &Manager{
|
|
dg: mf.dg,
|
|
remoteName: mf.remoteName,
|
|
}
|
|
var modules misc.LesModules
|
|
for _, pm := range mf.modules {
|
|
shortName := pm.ShortName(mf.dg.RepoPath())
|
|
modules = append(
|
|
modules,
|
|
mod.New(
|
|
result, shortName, pm.mf,
|
|
mf.versionMapLocal.Latest(shortName),
|
|
mf.versionMapRemote.Latest(shortName)))
|
|
}
|
|
result.modules = modules
|
|
result.allowedReplacements = allowedReplacements
|
|
return result
|
|
}
|
|
|
|
func (mf *ManagerFactory) NewRepoManagerWithLocalFlag(allowedReplacements []string) *Manager {
|
|
result := &Manager{
|
|
dg: mf.dg,
|
|
remoteName: mf.remoteName,
|
|
}
|
|
var modules misc.LesModules
|
|
for _, pm := range mf.modules {
|
|
shortName := pm.ShortNameWithLocalFlag(mf.dg.RepoPath())
|
|
modules = append(
|
|
modules,
|
|
mod.New(
|
|
result, shortName, pm.mf,
|
|
mf.versionMapLocal.Latest(shortName),
|
|
mf.versionMapRemote.Latest(shortName)))
|
|
}
|
|
result.modules = modules
|
|
result.allowedReplacements = allowedReplacements
|
|
return result
|
|
}
|