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 {
'/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)
}