Skip to content

Commit 5dd245e

Browse files
committed
update
1 parent f415cf6 commit 5dd245e

File tree

3 files changed

+52
-19
lines changed

3 files changed

+52
-19
lines changed

internal/cinstaller/installer.go

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,45 +28,73 @@ func (i *Installer) installPrequisites() error {
2828
p := plugins.GetPlugin(i.plugin.Prequisite)
2929
// install prequisite
3030
i := New(&p)
31-
if err := i.Install(); err != nil {
31+
// TODO: multi prequisites and versions.
32+
if err := i.Install(""); err != nil {
3233
return err
3334
}
3435
}
3536
return nil
3637
}
3738

38-
func (i *Installer) preInstall() error {
39-
preInstallHandler := i.plugin.GetPreInstallHandler()
39+
func (i *Installer) preInstall(version string) error {
40+
if i.plugin == nil {
41+
return nil
42+
}
43+
preInstallHandler := i.plugin.GetPreInstallHandler(version)
4044
if preInstallHandler != nil {
4145
return preInstallHandler()
4246
}
4347
return nil
4448
}
4549

46-
func (i *Installer) install() error {
50+
func (i *Installer) install(version string) error {
51+
if i.plugin == nil {
52+
return nil
53+
}
54+
customedInstaller := i.plugin.GetCustomedInstallHandler(version)
55+
if customedInstaller != nil {
56+
return customedInstaller()
57+
}
58+
// TODO: default install handler.
4759
return nil
4860
}
4961

50-
func (i *Installer) postInstall() error {
62+
func (i *Installer) postInstall(version string) error {
63+
if i.plugin == nil {
64+
return nil
65+
}
66+
postInstallHandler := i.plugin.GetPostInstallHandler(version)
67+
if postInstallHandler != nil {
68+
return postInstallHandler()
69+
}
5170
return nil
5271
}
5372

54-
func (i *Installer) Install() error {
73+
func (i *Installer) Install(version string) error {
5574
if err := i.installPrequisites(); err != nil {
5675
return err
5776
}
58-
if err := i.preInstall(); err != nil {
77+
if err := i.preInstall(version); err != nil {
5978
return err
6079
}
61-
if err := i.install(); err != nil {
80+
if err := i.install(version); err != nil {
6281
return err
6382
}
64-
if err := i.postInstall(); err != nil {
83+
if err := i.postInstall(version); err != nil {
6584
return err
6685
}
6786
return nil
6887
}
6988

70-
func (i *Installer) Uninstall() error {
89+
func (i *Installer) Uninstall(version string) error {
90+
if i.plugin == nil {
91+
return nil
92+
}
93+
94+
uninstall := i.plugin.GetCustomedUninstallHandler(version)
95+
if uninstall != nil {
96+
return uninstall()
97+
}
98+
//TODO: default uninstall handler
7199
return nil
72100
}

internal/luapi/plugin/fromlua.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,16 @@ import (
88
type LuaConfItem string
99

1010
const (
11-
SDKName LuaConfItem = "sdk_name"
12-
PluginName LuaConfItem = "plugin_name"
13-
PluginVersion LuaConfItem = "plugin_version"
14-
Prequisite LuaConfItem = "prequisite"
15-
Homepage LuaConfItem = "homepage"
16-
Crawler LuaConfItem = "crawl"
17-
PreInstall LuaConfItem = "preInstall"
18-
PostInstall LuaConfItem = "postInstall" // optional
19-
CustomedInstall LuaConfItem = "install" // optional
11+
SDKName LuaConfItem = "sdk_name"
12+
PluginName LuaConfItem = "plugin_name"
13+
PluginVersion LuaConfItem = "plugin_version"
14+
Prequisite LuaConfItem = "prequisite"
15+
Homepage LuaConfItem = "homepage"
16+
Crawler LuaConfItem = "crawl"
17+
PreInstall LuaConfItem = "preInstall"
18+
PostInstall LuaConfItem = "postInstall" // optional
19+
CustomedInstall LuaConfItem = "install" // optional
20+
CustomedUninstall LuaConfItem = "uninstall" // optional
2021
)
2122

2223
var InstallerConfig LuaConfItem = LuaConfItem(lua_global.InstallerConfigName)

internal/luapi/plugin/plugin.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,3 +319,7 @@ func (p *Plugin) GetPreInstallHandler(args ...string) CustomedFuncFromLua {
319319
func (p *Plugin) GetPostInstallHandler(args ...string) CustomedFuncFromLua {
320320
return p.getFuncFromLua(PostInstall, args...)
321321
}
322+
323+
func (p *Plugin) GetCustomedUninstallHandler(args ...string) CustomedFuncFromLua {
324+
return p.getFuncFromLua(CustomedUninstall, args...)
325+
}

0 commit comments

Comments
 (0)