Skip to content

Commit a4d0b58

Browse files
Vendor manager introduction
1 parent e282335 commit a4d0b58

11 files changed

+210
-169
lines changed

cmd/aem/project.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -57,29 +57,29 @@ func (c *CLI) prepareCmd() *cobra.Command {
5757
Aliases: []string{"prep"},
5858
Short: "Prepare vendor tools",
5959
Run: func(cmd *cobra.Command, args []string) {
60-
if err := c.aem.Prepare(); err != nil {
60+
if err := c.aem.VendorManager().Prepare(); err != nil {
6161
c.Error(err)
6262
return
6363
}
6464

65-
javaHome, err := c.aem.JavaOpts().FindHomeDir()
65+
javaHome, err := c.aem.VendorManager().JavaManager().FindHomeDir()
6666
if err != nil {
6767
c.Error(err)
6868
return
6969
}
7070
c.SetOutput("javaHome", javaHome)
7171

72-
javaExecutable, err := c.aem.JavaOpts().Executable()
72+
javaExecutable, err := c.aem.VendorManager().JavaManager().Executable()
7373
if err != nil {
7474
c.Error(err)
7575
return
7676
}
7777
c.SetOutput("javaExecutable", javaExecutable)
7878

79-
vaultJar := "<path>/bin/vlt" // TODO c.aem.VaultCLI().JarFile()
79+
vaultJar := c.aem.VendorManager().VaultCLI().JarFile()
8080
c.setOutput("vaultJar", vaultJar)
8181

82-
oakRunJar := c.aem.InstanceManager().LocalOpts.OakRun.JarFile()
82+
oakRunJar := c.aem.VendorManager().OakRun().JarFile()
8383
c.setOutput("oakRunJar", oakRunJar)
8484

8585
c.SetOutput("prepared", true)

cmd/aem/vault.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ func (c *CLI) vaultCmd() *cobra.Command {
1010
Use: "vlt",
1111
Short: "Executes Vault commands",
1212
Run: func(cmd *cobra.Command, args []string) {
13-
argsWithVlt := os.Args[1:] // TODO why not 'args' from the Run function?
14-
_ = c.aem.VaultCLI().CommandShell(argsWithVlt) // TODO proper error handling
13+
argsWithVlt := os.Args[1:] // TODO why not 'args' from the Run function?
14+
_ = c.aem.VendorManager().VaultCLI().CommandShell(argsWithVlt) // TODO proper error handling
1515
},
1616
Args: cobra.ArbitraryArgs,
1717
FParseErrWhitelist: cobra.FParseErrWhitelist{
1818
UnknownFlags: true,
1919
},
2020
}
2121
cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) {
22-
_ = c.aem.VaultCLI().CommandShell(args)
22+
_ = c.aem.VendorManager().VaultCLI().CommandShell(args)
2323
})
2424
return cmd
2525
}

pkg/facade.go

+13-46
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package pkg
44
import (
55
"github.com/wttech/aemc/pkg/base"
66
"github.com/wttech/aemc/pkg/cfg"
7-
"github.com/wttech/aemc/pkg/java"
87
"github.com/wttech/aemc/pkg/project"
98
"io"
109
"os"
@@ -13,14 +12,14 @@ import (
1312

1413
// AEM is a facade to access AEM-related API
1514
type AEM struct {
16-
output io.Writer
17-
config *cfg.Config
18-
project *project.Project
19-
baseOpts *base.Opts
20-
javaOpts *java.Opts
21-
contentManager *ContentManager
15+
output io.Writer
16+
config *cfg.Config
17+
project *project.Project
18+
baseOpts *base.Opts
19+
20+
vendorManager *VendorManager
2221
instanceManager *InstanceManager
23-
vaultCLI *VaultCLI
22+
contentManager *ContentManager
2423
}
2524

2625
func DefaultAEM() *AEM {
@@ -33,10 +32,9 @@ func NewAEM(config *cfg.Config) *AEM {
3332
result.config = config
3433
result.project = project.New(result.config)
3534
result.baseOpts = base.NewOpts(result.config)
36-
result.javaOpts = java.NewOpts(result.baseOpts)
37-
result.contentManager = NewContentManager(result)
35+
result.vendorManager = NewVendorManager(result)
3836
result.instanceManager = NewInstanceManager(result)
39-
result.vaultCLI = NewVaultCLI(result)
37+
result.contentManager = NewContentManager(result)
4038
return result
4139
}
4240

@@ -61,53 +59,22 @@ func (a *AEM) BaseOpts() *base.Opts {
6159
return a.baseOpts
6260
}
6361

64-
func (a *AEM) JavaOpts() *java.Opts {
65-
return a.javaOpts
62+
func (a *AEM) VendorManager() *VendorManager {
63+
return a.vendorManager
6664
}
6765

6866
func (a *AEM) InstanceManager() *InstanceManager {
6967
return a.instanceManager
7068
}
7169

72-
func (a *AEM) Project() *project.Project {
73-
return a.project
74-
}
75-
7670
func (a *AEM) ContentManager() *ContentManager {
7771
return a.contentManager
7872
}
7973

80-
func (a *AEM) VaultCLI() *VaultCLI {
81-
return a.vaultCLI
74+
func (a *AEM) Project() *project.Project {
75+
return a.project
8276
}
8377

8478
func (a *AEM) Detached() bool {
8579
return !a.config.TemplateFileExists()
8680
}
87-
88-
// TODO move SDK, OakRun, Quickstart under 'vendor' key in the config and namespace in the code
89-
func (a *AEM) Prepare() error {
90-
// validation phase (quick feedback)
91-
sdk, err := a.InstanceManager().LocalOpts.Quickstart.IsDistSDK()
92-
if err != nil {
93-
return err
94-
}
95-
// preparation phase (slow feedback)
96-
if err := a.BaseOpts().Prepare(); err != nil {
97-
return err
98-
}
99-
if err := a.JavaOpts().Prepare(); err != nil {
100-
return err
101-
}
102-
// TODO move SDK and Quickstart outside of instance manager
103-
if sdk {
104-
if err := a.InstanceManager().LocalOpts.SDK.Prepare(); err != nil {
105-
return err
106-
}
107-
}
108-
// TODO move OakRun outside of instance manager
109-
if err := a.InstanceManager().LocalOpts.OakRun.Prepare(); err != nil {
110-
return err
111-
}
112-
return nil
113-
}

0 commit comments

Comments
 (0)