@@ -29,15 +29,14 @@ import (
2929type LocalInstance struct {
3030 instance * Instance
3131
32- Version string
33- JvmOpts []string
34- StartOpts []string
35- RunModes []string
36- EnvVars []string
37- SecretVars []string
38- SlingProps []string
39- UnpackDir string
40- AllowInPlaceUpgrade bool
32+ Version string
33+ JvmOpts []string
34+ StartOpts []string
35+ RunModes []string
36+ EnvVars []string
37+ SecretVars []string
38+ SlingProps []string
39+ UnpackDir string
4140}
4241
4342type LocalInstanceState struct {
@@ -51,16 +50,15 @@ type LocalInstanceState struct {
5150}
5251
5352const (
54- LocalInstanceScriptStart = "start"
55- LocalInstanceScriptStop = "stop"
56- LocalInstanceScriptStatus = "status"
57- LocalInstanceBackupExtension = "aemb.tar.zst"
58- LocalInstanceUser = "admin"
59- LocalInstanceWorkDirName = common .AppId
60- LocalInstanceNameCommon = "common"
61- LocalInstanceSecretsDir = "conf/secret"
62- LocalInstanceVersionDefault = "1"
63- LocalInstanceAllowInPlaceUpgradeDefault = false
53+ LocalInstanceScriptStart = "start"
54+ LocalInstanceScriptStop = "stop"
55+ LocalInstanceScriptStatus = "status"
56+ LocalInstanceBackupExtension = "aemb.tar.zst"
57+ LocalInstanceUser = "admin"
58+ LocalInstanceWorkDirName = common .AppId
59+ LocalInstanceNameCommon = "common"
60+ LocalInstanceSecretsDir = "conf/secret"
61+ LocalInstanceVersionDefault = "1"
6462)
6563
6664func (li LocalInstance ) Instance () * Instance {
@@ -76,7 +74,6 @@ func NewLocal(i *Instance) *LocalInstance {
7674 li .EnvVars = []string {}
7775 li .SecretVars = []string {}
7876 li .SlingProps = []string {}
79- li .AllowInPlaceUpgrade = LocalInstanceAllowInPlaceUpgradeDefault
8077 return li
8178}
8279
@@ -188,19 +185,28 @@ var (
188185 LocalInstancePasswordRegex = regexp .MustCompile ("^[a-zA-Z0-9_]{5,}$" )
189186)
190187
191- func (li LocalInstance ) CheckUpgradeNeeded () ( bool , error ) {
188+ func (li LocalInstance ) CheckRecreationNeeded () error {
192189 createLock := li .createLock ()
193190 if createLock .IsLocked () {
194191 state , err := createLock .State ()
195192 if err != nil {
196- return false , err
193+ return err
197194 }
198195 if ! state .UpToDate {
199- if li .AllowInPlaceUpgrade {
200- return true , nil
201- }
202- return true , fmt .Errorf ("%s > outdated and need to be upgraded as distribution JAR changed from '%s' to '%s'" , li .instance .IDColor (), state .Locked .JarName , state .Current .JarName )
196+ return fmt .Errorf ("%s > outdated and need to be upgraded as distribution JAR changed from '%s' to '%s'; consider using 'aem instance upgrade' command" , li .instance .IDColor (), state .Locked .JarName , state .Current .JarName )
197+ }
198+ }
199+ return nil
200+ }
201+
202+ func (li LocalInstance ) IsUpgradeNeeded () (bool , error ) {
203+ createLock := li .createLock ()
204+ if createLock .IsLocked () {
205+ state , err := createLock .State ()
206+ if err != nil {
207+ return false , err
203208 }
209+ return ! state .UpToDate , nil
204210 }
205211 return false , nil
206212}
@@ -586,33 +592,31 @@ func (li LocalInstance) updateLock() osx.Lock[localInstanceUpdateLock] {
586592 return zero , err
587593 }
588594 return localInstanceUpdateLock {
589- Version : li .Version ,
590- HTTPPort : li .instance .HTTP ().Port (),
591- RunModes : strings .Join (li .RunModes , "," ),
592- JVMOpts : strings .Join (li .JvmOpts , " " ),
593- JavaHome : javaHomeDir ,
594- Password : cryptox .HashString (li .instance .password ),
595- EnvVars : strings .Join (li .EnvVars , "," ),
596- SecretVars : cryptox .HashString (strings .Join (li .SecretVars , "," )),
597- SlingProps : strings .Join (li .SlingProps , "," ),
598- Overrides : overrides ,
599- AllowInPlaceUpgrade : li .AllowInPlaceUpgrade ,
595+ Version : li .Version ,
596+ HTTPPort : li .instance .HTTP ().Port (),
597+ RunModes : strings .Join (li .RunModes , "," ),
598+ JVMOpts : strings .Join (li .JvmOpts , " " ),
599+ JavaHome : javaHomeDir ,
600+ Password : cryptox .HashString (li .instance .password ),
601+ EnvVars : strings .Join (li .EnvVars , "," ),
602+ SecretVars : cryptox .HashString (strings .Join (li .SecretVars , "," )),
603+ SlingProps : strings .Join (li .SlingProps , "," ),
604+ Overrides : overrides ,
600605 }, nil
601606 })
602607}
603608
604609type localInstanceUpdateLock struct {
605- Version string `yaml:"version"`
606- JVMOpts string `yaml:"jvm_opts"`
607- JavaHome string `yaml:"java_home"`
608- RunModes string `yaml:"run_modes"`
609- HTTPPort string `yaml:"http_port"`
610- Password string `yaml:"password"`
611- Overrides string `yaml:"overrides"`
612- EnvVars string `yaml:"env_vars"`
613- SecretVars string `yaml:"secret_vars"`
614- SlingProps string `yaml:"sling_props"`
615- AllowInPlaceUpgrade bool `yaml:"allow_in_place_upgrade"`
610+ Version string `yaml:"version"`
611+ JVMOpts string `yaml:"jvm_opts"`
612+ JavaHome string `yaml:"java_home"`
613+ RunModes string `yaml:"run_modes"`
614+ HTTPPort string `yaml:"http_port"`
615+ Password string `yaml:"password"`
616+ Overrides string `yaml:"overrides"`
617+ EnvVars string `yaml:"env_vars"`
618+ SecretVars string `yaml:"secret_vars"`
619+ SlingProps string `yaml:"sling_props"`
616620}
617621
618622func (li LocalInstance ) Stop () error {
0 commit comments