Skip to content

Commit 6aced06

Browse files
Recovered old behavior / instance init on create/start
1 parent 0ebad5b commit 6aced06

File tree

3 files changed

+43
-29
lines changed

3 files changed

+43
-29
lines changed

cmd/aem/project.go

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -61,39 +61,20 @@ func (c *CLI) projectInitCmd() *cobra.Command {
6161
cmd := &cobra.Command{
6262
Use: "init",
6363
Aliases: []string{"initialize"},
64-
Short: "Initializes AEMC in the project",
64+
Short: "Prepare vendor tools for the project",
6565
Run: func(cmd *cobra.Command, args []string) {
6666
if !c.aem.Project().IsScaffolded() {
6767
c.Fail(fmt.Sprintf("project need to be scaffolded before running initialization"))
6868
return
6969
}
7070

71-
changed := false
72-
7371
c.SetOutput("gettingStarted", c.aem.Project().InitGettingStartedError())
7472

75-
baseChanged, err := c.aem.BaseOpts().PrepareWithChanged()
76-
changed = changed || baseChanged
77-
if err != nil {
78-
c.Error(err)
79-
return
80-
}
81-
c.SetOutput("baseChanged", baseChanged)
82-
83-
// Download and prepare vendor tools (including JDK and AEM SDK)
84-
vendorPrepared, err := c.aem.VendorManager().PrepareWithChanged()
85-
changed = changed || vendorPrepared
73+
changed, err := c.aem.Project().InitWithChanged()
8674
if err != nil {
8775
c.Error(err)
8876
return
8977
}
90-
c.SetOutput("vendorPrepared", vendorPrepared)
91-
92-
// Validate AEM instance files and prepared SDK
93-
if err := c.aem.InstanceManager().LocalOpts.Validate(); err != nil {
94-
c.Error(err)
95-
return
96-
}
9778

9879
c.SetOutput("gettingStarted", c.aem.Project().InitGettingStartedSuccess())
9980

pkg/local_instance_manager.go

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,17 @@ func NewLocalOpts(manager *InstanceManager) *LocalOpts {
3535
return result
3636
}
3737

38-
func (o *LocalOpts) Validate() error {
39-
// validate phase (fast feedback)
38+
func (o *LocalOpts) Initialize() error {
39+
// pre-validation phase (fast feedback)
4040
if err := o.validateUnpackDir(); err != nil {
4141
return err
4242
}
43-
sdk, err := o.manager.aem.vendorManager.Quickstart().IsDistSDK()
43+
sdk, err := o.manager.aem.vendorManager.quickstart.IsDistSDK()
4444
if err != nil {
4545
return err
4646
}
4747
if !sdk {
48-
_, err = o.manager.aem.vendorManager.Quickstart().FindLicenseFile()
48+
_, err = o.manager.aem.vendorManager.quickstart.FindLicenseFile()
4949
if err != nil {
5050
return err
5151
}
@@ -55,9 +55,24 @@ func (o *LocalOpts) Validate() error {
5555
return err
5656
}
5757
}
58-
// preparation phase
58+
// initialization phase (heavy work)
59+
if _, err := o.manager.aem.baseOpts.PrepareWithChanged(); err != nil {
60+
return err
61+
}
62+
if _, err := o.manager.aem.vendorManager.javaManager.PrepareWithChanged(); err != nil {
63+
return err
64+
}
65+
if sdk {
66+
if _, err := o.manager.aem.vendorManager.sdk.PrepareWithChanged(); err != nil {
67+
return err
68+
}
69+
}
70+
if _, err := o.manager.aem.vendorManager.oakRun.PrepareWithChanged(); err != nil {
71+
return err
72+
}
73+
// post-validation phase
5974
for _, instance := range o.manager.Locals() {
60-
if err := instance.Local().CheckRecreationNeeded(); err != nil { // depends on sdk prepare
75+
if err := instance.Local().CheckRecreationNeeded(); err != nil { // depends on SDK prepare
6176
return err
6277
}
6378
}
@@ -116,7 +131,7 @@ func (im *InstanceManager) CreateAll() ([]Instance, error) {
116131

117132
func (im *InstanceManager) Create(instances []Instance) ([]Instance, error) {
118133
created := []Instance{}
119-
if err := im.LocalOpts.Validate(); err != nil {
134+
if err := im.LocalOpts.Initialize(); err != nil {
120135
return created, err
121136
}
122137
log.Info(InstancesMsg(instances, "creating"))
@@ -191,7 +206,7 @@ func (im *InstanceManager) Start(instances []Instance) ([]Instance, error) {
191206
log.Debugf("no instances to start")
192207
return []Instance{}, nil
193208
}
194-
if err := im.LocalOpts.Validate(); err != nil {
209+
if err := im.LocalOpts.Initialize(); err != nil {
195210
return []Instance{}, err
196211
}
197212

pkg/project.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,3 +249,21 @@ func (p Project) InitGettingStartedSuccess() string {
249249
}, "\n"))
250250
return text
251251
}
252+
253+
func (p Project) InitWithChanged() (bool, error) {
254+
changed := false
255+
256+
baseChanged, err := p.aem.BaseOpts().PrepareWithChanged()
257+
changed = changed || baseChanged
258+
if err != nil {
259+
return changed, err
260+
}
261+
262+
vendorPrepared, err := p.aem.VendorManager().PrepareWithChanged()
263+
changed = changed || vendorPrepared
264+
if err != nil {
265+
return changed, err
266+
}
267+
268+
return changed, nil
269+
}

0 commit comments

Comments
 (0)