mirror of
https://github.com/luxfi/lpm.git
synced 2026-10-30 16:20:57 +00:00
Lux Partners Limited is the Isle of Man company. Lux Industries Inc, a Delaware C corporation, is the company these sites belong to, so it is the one they name — in metadata, copyright, and the press items that record who signed. The fund site names Lux Assets Management LLC, which is its own company. Two sentences were rewritten rather than renamed, because a name was doing work a name cannot do. One claimed an Isle of Man domicile the naming entity does not have. The other said a company acts on behalf of another; with one entity left it said a company acts on behalf of itself. The Isle of Man stays everywhere it is a JURISDICTION the product supports — the regulatory package, the jurisdiction guides, the compliance tables. Only this company's own identity changed.
87 lines
1.6 KiB
Go
87 lines
1.6 KiB
Go
// Copyright (C) 2019-2025, Lux Industries Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package workflow
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/afero"
|
|
|
|
"github.com/luxfi/lpm/git"
|
|
"github.com/luxfi/lpm/state"
|
|
)
|
|
|
|
type UpgradeConfig struct {
|
|
Executor Executor
|
|
|
|
RepoFactory state.RepositoryFactory
|
|
StateFile state.File
|
|
|
|
TmpPath string
|
|
PluginPath string
|
|
Installer Installer
|
|
Git git.Factory
|
|
Fs afero.Fs
|
|
}
|
|
|
|
func NewUpgrade(config UpgradeConfig) *Upgrade {
|
|
return &Upgrade{
|
|
executor: config.Executor,
|
|
repoFactory: config.RepoFactory,
|
|
tmpPath: config.TmpPath,
|
|
pluginPath: config.PluginPath,
|
|
installer: config.Installer,
|
|
stateFile: config.StateFile,
|
|
git: config.Git,
|
|
fs: config.Fs,
|
|
}
|
|
}
|
|
|
|
type Upgrade struct {
|
|
executor Executor
|
|
|
|
repoFactory state.RepositoryFactory
|
|
stateFile state.File
|
|
|
|
tmpPath string
|
|
pluginPath string
|
|
|
|
installer Installer
|
|
git git.Factory
|
|
fs afero.Fs
|
|
}
|
|
|
|
func (u *Upgrade) Execute() error {
|
|
upgraded := false
|
|
|
|
for name := range u.stateFile.InstallationRegistry {
|
|
wf := NewUpgradeVM(UpgradeVMConfig{
|
|
Executor: u.executor,
|
|
FullVMName: name,
|
|
RepoFactory: u.repoFactory,
|
|
StateFile: u.stateFile,
|
|
TmpPath: u.tmpPath,
|
|
PluginPath: u.pluginPath,
|
|
Installer: u.installer,
|
|
Git: u.git,
|
|
Fs: u.fs,
|
|
})
|
|
|
|
if err := u.executor.Execute(wf); err == ErrAlreadyUpdated {
|
|
continue
|
|
} else if err != nil {
|
|
return err
|
|
}
|
|
|
|
upgraded = true
|
|
}
|
|
|
|
if !upgraded {
|
|
fmt.Printf("No changes detected.\n")
|
|
return nil
|
|
}
|
|
|
|
return nil
|
|
}
|