fix recursive build

Signed-off-by: Alik Khilazhev <7482065+alikhil@users.noreply.github.com>
pull/30855/head
Alik Khilazhev 11 months ago
parent e487b15281
commit c4748062f8
No known key found for this signature in database
GPG Key ID: 141EBCECAE009661

@ -81,12 +81,47 @@ type Manager struct {
ContentCache string
}
func (m *Manager) clone() *Manager {
return &Manager{
Out: m.Out,
ChartPath: m.ChartPath,
Verify: m.Verify,
Debug: m.Debug,
Keyring: m.Keyring,
SkipUpdate: m.SkipUpdate,
Getters: m.Getters,
RegistryClient: m.RegistryClient,
RepositoryConfig: m.RepositoryConfig,
RepositoryCache: m.RepositoryCache,
ContentCache: m.ContentCache,
}
}
// Build rebuilds a local charts directory from a lockfile.
//
// If the lockfile is not present, this will run a Manager.Update()
//
// If SkipUpdate is set, this will not update the repository.
func (m *Manager) Build(recursive bool) error {
if recursive {
depChartPaths, err := m.locateLocalDependencies(m.ChartPath, false)
if err != nil {
return err
}
for _, depChartPath := range depChartPaths {
subManager := m.clone()
subManager.ChartPath = depChartPath
if err := subManager.Build(recursive); err != nil {
return err
}
}
}
return m.doBuild(recursive)
}
func (m *Manager) doBuild(recursive bool) error {
c, err := m.loadChartDir(m.ChartPath)
if err != nil {
return err
@ -165,19 +200,8 @@ func (m *Manager) Update(recursive bool) error {
}
for _, depChartPath := range depChartPaths {
subManager := &Manager{
Out: m.Out,
ChartPath: depChartPath,
Verify: m.Verify,
Debug: m.Debug,
Keyring: m.Keyring,
SkipUpdate: m.SkipUpdate,
Getters: m.Getters,
RegistryClient: m.RegistryClient,
RepositoryConfig: m.RepositoryConfig,
RepositoryCache: m.RepositoryCache,
ContentCache: m.ContentCache,
}
subManager := m.clone()
subManager.ChartPath = depChartPath
if err := subManager.Update(recursive); err != nil {
return err
}

Loading…
Cancel
Save