set docker cmd for windows or not

This commit is contained in:
Mik-TF 2024-10-10 06:06:23 -07:00
parent 6f4c146ec0
commit 9d9b92c14d

15
flist.v
View File

@ -11,6 +11,11 @@ const binary_location = $if windows {
} $else { } $else {
'/usr/local/bin/flist' '/usr/local/bin/flist'
} }
const docker_cmd = $if windows {
'docker'
} $else {
'sudo docker'
}
struct FlistItem { struct FlistItem {
name string name string
@ -181,7 +186,7 @@ fn login() {
info_message('Your Flist Hub token is already saved.') 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 { if result == 0 {
info_message('\nYou are already logged in to Docker.') 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.') 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 { if exit_code != 0 {
error_message('Failed to log out from Docker Hub.') error_message('Failed to log out from Docker Hub.')
} }
@ -222,7 +227,7 @@ fn get_docker_credential() !string {
fn get_docker_credential_auto() !string { fn get_docker_credential_auto() !string {
// First, try to get the Docker username using the system info command // 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() != '' { if system_info_result.exit_code == 0 && system_info_result.output.trim_space() != '' {
return 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') 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') error_message('Docker build failed')
exit(1) exit(1)
} }
info_message('Finished local Docker build, now pushing to Docker Hub') 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') error_message('Docker push failed')
exit(1) exit(1)
} }