testing macos

This commit is contained in:
mik-tf 2024-10-11 00:01:42 -04:00
parent b7f793c8d1
commit 7a5449c718

42
flist.v
View File

@ -5,8 +5,8 @@ import json
import x.json2
const token_file = os.join_path(os.home_dir(), '.config', 'tfhubtoken')
const token_dir = os.join_path(os.home_dir(), '.config')
const docker_username_file = os.join_path(os.home_dir(), '.config', 'dockerusername')
const config_dir = os.join_path(os.home_dir(), '.config')
const binary_location = $if windows {
'C:\\Program Files\\flist\\flist.exe'
@ -176,7 +176,7 @@ fn login() {
if !token_exists {
$if windows {
os.mkdir_all(token_dir) or { panic(err) }
os.mkdir_all(config_dir) or { panic(err) }
}
tfhub_token := os.input('Please enter your tfhub token: ')
os.write_file(token_file, tfhub_token) or { panic(err) }
@ -185,7 +185,20 @@ fn login() {
info_message('Your Flist Hub token is already saved.')
}
result := os.system('${docker_cmd} login')
mut result := 0
$if macos {
mut dockername_exists := os.exists(docker_username_file)
if !dockername_exists {
docker_username := os.input('Please enter your Docker username: ')
os.write_file(docker_username_file, docker_username) or { panic(err) }
success_message('Docker username saved in ' + docker_username_file)
result = os.system('${docker_cmd} login -u ${docker_username}')
}
} $else {
result = os.system('${docker_cmd} login')
}
if result == 0 {
info_message('\nYou are already logged in to Docker.')
@ -202,6 +215,13 @@ fn logout() {
info_message('Your Flist Hub Token was already not present.')
}
if os.exists(docker_username_file) {
os.rm(docker_username_file) or { panic(err) }
success_message('Your Docker username has been removed from the config folder.')
} else {
info_message('Your Docker username was already not present in the config folder.')
}
exit_code := os.system('${docker_cmd} logout')
if exit_code != 0 {
error_message('Failed to log out from Docker Hub.')
@ -271,9 +291,17 @@ fn get_docker_credential_auto() !string {
}
fn push(tag string) {
docker_user := get_docker_credential() or {
error_message('Failed to get Docker username: ${err}')
exit(1)
mut docker_user := ''
$if macos {
docker_user = os.read_file(docker_username_file) or {
error_message("No Docker username found. Please run 'flist login' first.")
exit(1)
}
} $else {
docker_user = get_docker_credential() or {
error_message('Failed to get Docker username: ${err}')
exit(1)
}
}
info_message('Docker username: ${docker_user}')