Skip to content

Commit 3f06074

Browse files
Merge remote-tracking branch 'origin/main' into vault-cli
2 parents 820ff74 + 5eaf6c3 commit 3f06074

File tree

4 files changed

+29
-15
lines changed

4 files changed

+29
-15
lines changed

pkg/java/java.go

+15-4
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,21 @@ func (o *Opts) download() error {
8181
log.Debugf("existing JDK '%s' is up-to-date", check.Locked.Source)
8282
return nil
8383
}
84+
log.Infof("preparing new JDK at dir '%s'", o.jdkDir())
85+
if err = o.prepare(err); err != nil {
86+
return err
87+
}
88+
if err := lock.Lock(); err != nil {
89+
return err
90+
}
91+
log.Infof("prepared new JDK at dir '%s'", o.jdkDir())
92+
return nil
93+
}
94+
95+
func (o *Opts) prepare(err error) error {
96+
if err := pathx.DeleteIfExists(o.jdkDir()); err != nil {
97+
return err
98+
}
8499
url := o.DownloadURL
85100
for search, replace := range o.DownloadURLReplacements {
86101
url = strings.ReplaceAll(url, search, replace)
@@ -94,10 +109,6 @@ func (o *Opts) download() error {
94109
if _, err = filex.UnarchiveWithChanged(archiveFile, o.jdkDir()); err != nil {
95110
return err
96111
}
97-
if err := lock.Lock(); err != nil {
98-
return err
99-
}
100-
log.Infof("unarchived new JDK at dir '%s'", o.jdkDir())
101112
return nil
102113
}
103114

pkg/oak_run.go

+3
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ func (or OakRun) JarFile() string {
7070
}
7171

7272
func (or OakRun) prepare() error {
73+
if err := pathx.DeleteIfExists(or.Dir()); err != nil {
74+
return err
75+
}
7376
jarFile := or.JarFile()
7477
log.Infof("downloading Oak Run JAR from URL '%s' to file '%s'", or.DownloadURL, jarFile)
7578
if err := httpx.DownloadOnce(or.DownloadURL, jarFile); err != nil {

pkg/sdk.go

+3-6
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,13 @@ func (s SDK) Prepare() error {
6767
}
6868

6969
func (s SDK) prepare(zipFile string) error {
70-
err := pathx.Delete(s.Dir())
71-
if err != nil {
70+
if err := pathx.DeleteIfExists(s.Dir()); err != nil {
7271
return err
7372
}
74-
err = s.unpackSdk(zipFile)
75-
if err != nil {
73+
if err := s.unpackSdk(zipFile); err != nil {
7674
return err
7775
}
78-
err = s.unpackDispatcher()
79-
if err != nil {
76+
if err := s.unpackDispatcher(); err != nil {
8077
return err
8178
}
8279
return nil

pkg/vault_cli.go

+8-5
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func (v VaultCli) lock() osx.Lock[VaultCliLock] {
4949
return osx.NewLock(v.dir()+"/lock/create.yml", func() (VaultCliLock, error) { return VaultCliLock{DownloadURL: v.DownloadURL}, nil })
5050
}
5151

52-
func (v VaultCli) prepare() error {
52+
func (v VaultCli) Prepare() error {
5353
lock := v.lock()
5454
check, err := lock.State()
5555
if err != nil {
@@ -60,7 +60,7 @@ func (v VaultCli) prepare() error {
6060
return nil
6161
}
6262
log.Infof("preparing new Vault '%s'", v.DownloadURL)
63-
err = v.install()
63+
err = v.prepare()
6464
if err != nil {
6565
return err
6666
}
@@ -77,7 +77,10 @@ func (v VaultCli) archiveFile() string {
7777
return pathx.Canonical(fmt.Sprintf("%s/%s", v.dir(), filepath.Base(v.DownloadURL)))
7878
}
7979

80-
func (v VaultCli) install() error {
80+
func (v VaultCli) prepare() error {
81+
if err := pathx.DeleteIfExists(v.dir()); err != nil {
82+
return err
83+
}
8184
archiveFile := v.archiveFile()
8285
log.Infof("downloading Vault from URL '%s' to file '%s'", v.DownloadURL, archiveFile)
8386
if err := httpx.DownloadOnce(v.DownloadURL, archiveFile); err != nil {
@@ -94,8 +97,8 @@ func (v VaultCli) install() error {
9497
}
9598

9699
func (v VaultCli) CommandShell(args []string) error {
97-
if err := v.prepare(); err != nil {
98-
return fmt.Errorf("cannot run Vault command: %w", err)
100+
if err := v.Prepare(); err != nil {
101+
return fmt.Errorf("cannot prepare Vault before running command: %w", err)
99102
}
100103
cmd := execx.CommandShell(args)
101104
cmd.Dir = v.execDir()

0 commit comments

Comments
 (0)