Flist CLI Updated for Linux, MacOS, Windows #7
15
flist.v
15
flist.v
@ -11,6 +11,11 @@ const binary_location = $if windows {
|
||||
} $else {
|
||||
'/usr/local/bin/flist'
|
||||
}
|
||||
const docker_cmd = $if windows {
|
||||
'docker'
|
||||
} $else {
|
||||
'sudo docker'
|
||||
}
|
||||
|
||||
struct FlistItem {
|
||||
name string
|
||||
@ -181,7 +186,7 @@ fn login() {
|
||||
info_message('Your Flist Hub token is already saved.')
|
||||
}
|
||||
|
||||
result := $if windows { os.system('docker login') } $else { os.system('sudo docker login') }
|
||||
result := os.system('${docker_cmd} login')
|
||||
|
||||
if result == 0 {
|
||||
info_message('\nYou are already logged in to Docker.')
|
||||
@ -198,7 +203,7 @@ fn logout() {
|
||||
info_message('Your Flist Hub Token was already not present.')
|
||||
}
|
||||
|
||||
exit_code := $if windows { os.system('docker logout') } $else { os.system('sudo docker logout') }
|
||||
exit_code := os.system('${docker_cmd} logout')
|
||||
if exit_code != 0 {
|
||||
error_message('Failed to log out from Docker Hub.')
|
||||
}
|
||||
@ -222,7 +227,7 @@ fn get_docker_credential() !string {
|
||||
|
||||
fn get_docker_credential_auto() !string {
|
||||
// First, try to get the Docker username using the system info command
|
||||
system_info_result := os.execute("sudo docker system info | grep 'Username' | cut -d ' ' -f 3")
|
||||
system_info_result := os.execute("${docker_cmd} system info | grep 'Username' | cut -d ' ' -f 3")
|
||||
if system_info_result.exit_code == 0 && system_info_result.output.trim_space() != '' {
|
||||
return system_info_result.output.trim_space()
|
||||
}
|
||||
@ -282,13 +287,13 @@ fn push(tag string) {
|
||||
}
|
||||
|
||||
info_message('Starting Docker build')
|
||||
if os.system('sudo docker buildx build -t ${full_tag} .') != 0 {
|
||||
if os.system('${docker_cmd} buildx build -t ${full_tag} .') != 0 {
|
||||
error_message('Docker build failed')
|
||||
exit(1)
|
||||
}
|
||||
|
||||
info_message('Finished local Docker build, now pushing to Docker Hub')
|
||||
if os.system('sudo docker push ${full_tag}') != 0 {
|
||||
if os.system('${docker_cmd} push ${full_tag}') != 0 {
|
||||
error_message('Docker push failed')
|
||||
exit(1)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user