Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
e39d9ee5
energy
项目概览
energye
/
energy
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
energy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e39d9ee5
编写于
9月 17, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
energy command-line tools: posix install 优化
上级
c38894b0
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
69 addition
and
35 deletion
+69
-35
cmd/internal/env/env_posix.go
cmd/internal/env/env_posix.go
+33
-9
cmd/internal/install/install.go
cmd/internal/install/install.go
+36
-26
未找到文件。
cmd/internal/env/env_posix.go
浏览文件 @
e39d9ee5
...
...
@@ -92,19 +92,43 @@ func SetEnergyHomeEnv(homePath string) {
term
.
BoxPrintln
(
"Hint: Reopen the cmd window to make the environment variables take effect."
)
}
func
setPosixEnv
(
exs
[]
string
,
binPath
,
bin
string
)
{
func
envfiles
()
(
result
[]
string
)
{
if
consts
.
IsLinux
{
result
=
[]
string
{
".profile"
,
".zshrc"
,
".bashrc"
}
}
else
if
consts
.
IsDarwin
{
result
=
[]
string
{
".profile"
,
".zshrc"
,
".bash_profile"
}
}
return
result
}
func
SourceEnvFiles
()
{
var
envFiles
=
envfiles
()
term
.
Logger
.
Info
(
"Refresh Environment Variables source: "
+
strings
.
Join
(
envFiles
,
" "
))
cmd
:=
toolsCommand
.
NewCMD
()
cmd
.
IsPrint
=
false
defer
cmd
.
Close
()
var
envFiles
[]
string
if
consts
.
IsLinux
{
envFiles
=
[]
string
{
".profile"
,
".zshrc"
,
".bashrc"
}
}
else
if
consts
.
IsDarwin
{
envFiles
=
[]
string
{
".profile"
,
".zshrc"
,
".bash_profile"
}
homeDir
,
err
:=
homedir
.
Dir
()
if
err
!=
nil
{
term
.
Logger
.
Error
(
err
.
Error
())
return
}
for
_
,
file
:=
range
envFiles
{
var
fp
=
filepath
.
Join
(
homeDir
,
file
)
// bash
cmd
.
Command
(
"bash"
,
"-c"
,
fmt
.
Sprintf
(
"source %s"
,
fp
))
// zsh
cmd
.
Command
(
"zsh"
,
"-c"
,
fmt
.
Sprintf
(
"source %s"
,
fp
))
}
}
func
setPosixEnv
(
exs
[]
string
,
binPath
,
bin
string
)
{
cmd
:=
toolsCommand
.
NewCMD
()
cmd
.
IsPrint
=
false
defer
cmd
.
Close
()
var
envFiles
=
envfiles
()
homeDir
,
err
:=
homedir
.
Dir
()
if
err
!=
nil
{
println
(
err
.
Error
())
term
.
Logger
.
Error
(
err
.
Error
())
return
}
var
tempExts
[]
string
...
...
@@ -205,7 +229,7 @@ func setPosixEnv(exs []string, binPath, bin string) {
// 如果任何操作失败, 重新写入覆盖文件
var
oldWrite
=
func
()
{
if
f
,
err
=
os
.
OpenFile
(
fp
,
os
.
O_RDWR
,
0666
);
err
==
nil
{
println
(
"Restore files"
,
file
)
term
.
Logger
.
Info
(
"Restore files. "
+
file
)
f
.
WriteString
(
oldContent
)
f
.
Close
()
}
...
...
@@ -214,7 +238,7 @@ func setPosixEnv(exs []string, binPath, bin string) {
if
newOpenFile
,
err
:=
os
.
OpenFile
(
fp
,
os
.
O_RDWR
|
os
.
O_TRUNC
,
0666
);
err
==
nil
{
// 写入新的环境配置
if
_
,
err
:=
newOpenFile
.
Write
(
newContent
.
Bytes
());
err
==
nil
{
println
(
"Write files success."
,
file
)
term
.
Logger
.
Info
(
"Write files success. "
+
file
)
newOpenFile
.
Close
()
}
else
{
//写入失败,把老的内容还原
...
...
cmd/internal/install/install.go
浏览文件 @
e39d9ee5
...
...
@@ -49,10 +49,6 @@ type softEnf struct {
}
func
Install
(
c
*
command
.
Config
)
error
{
// 初始配置和安装目录
if
err
:=
initInstall
(
c
);
err
!=
nil
{
return
err
}
// 检查环境
willInstall
:=
checkInstallEnv
(
c
)
var
(
...
...
@@ -111,6 +107,12 @@ func Install(c *command.Config) error {
}
}
}
if
len
(
selectedOptions
)
>
0
{
// 初始配置和安装目录
if
err
:=
initInstall
(
c
);
err
!=
nil
{
return
err
}
}
}
}
// 安装Go开发环境
...
...
@@ -147,6 +149,7 @@ func Install(c *command.Config) error {
if
z7zRoot
!=
""
{
env
.
Set7zaEnv
(
z7zRoot
)
}
env
.
SourceEnvFiles
()
// success 输出
if
nsisSuccessCallback
!=
nil
||
goSuccessCallback
!=
nil
||
upxSuccessCallback
!=
nil
||
cefFrameworkSuccessCallback
!=
nil
||
z7zSuccessCallback
!=
nil
{
...
...
@@ -169,6 +172,7 @@ func Install(c *command.Config) error {
z7zSuccessCallback
()
}
copyEnergyCMD
(
goRoot
)
return
nil
}
...
...
@@ -285,12 +289,8 @@ func checkInstallEnv(c *command.Config) (result []*softEnf) {
}
return
""
}()
if
lib
!=
""
{
s
:=
filepath
.
Join
(
cefInstallPathName
(
c
),
lib
)
return
"All"
,
tools
.
IsExist
(
s
)
}
else
{
return
"Unsupported Platform"
,
true
}
s
:=
filepath
.
Join
(
cefInstallPathName
(
c
),
lib
)
return
"All"
,
tools
.
IsExist
(
s
)
},
cefName
,
func
()
{
c
.
Install
.
ICEF
=
true
//yes callback
})
...
...
@@ -364,30 +364,40 @@ func initInstall(c *command.Config) (err error) {
if
err
!=
nil
{
return
}
err
=
os
.
MkdirAll
(
cefInstallPathName
(
c
),
fs
.
ModePerm
)
//cef
if
err
!=
nil
{
return
}
err
=
os
.
MkdirAll
(
goInstallPathName
(
c
),
fs
.
ModePerm
)
// go
if
err
!=
nil
{
return
}
if
nsisCanInstall
()
{
err
=
os
.
MkdirAll
(
nsisInstallPathName
(
c
),
fs
.
ModePerm
)
// nsis
if
c
.
Install
.
ICEF
{
err
=
os
.
MkdirAll
(
cefInstallPathName
(
c
),
fs
.
ModePerm
)
//cef
if
err
!=
nil
{
return
}
}
if
upxCanInstall
()
{
err
=
os
.
MkdirAll
(
upxInstallPathName
(
c
),
fs
.
ModePerm
)
//upx
if
c
.
Install
.
IGolang
{
err
=
os
.
MkdirAll
(
goInstallPathName
(
c
),
fs
.
ModePerm
)
// go
if
err
!=
nil
{
return
}
}
if
z7zCanInstall
()
{
err
=
os
.
MkdirAll
(
z7zInstallPathName
(
c
),
fs
.
ModePerm
)
//upx
if
err
!=
nil
{
return
if
c
.
Install
.
INSIS
{
if
nsisCanInstall
()
{
err
=
os
.
MkdirAll
(
nsisInstallPathName
(
c
),
fs
.
ModePerm
)
// nsis
if
err
!=
nil
{
return
}
}
}
if
c
.
Install
.
IUPX
{
if
upxCanInstall
()
{
err
=
os
.
MkdirAll
(
upxInstallPathName
(
c
),
fs
.
ModePerm
)
//upx
if
err
!=
nil
{
return
}
}
}
if
c
.
Install
.
I7za
{
if
z7zCanInstall
()
{
err
=
os
.
MkdirAll
(
z7zInstallPathName
(
c
),
fs
.
ModePerm
)
//upx
if
err
!=
nil
{
return
}
}
}
// framework download cache
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录