From a1c16a751d20973a39a6d8fd9f08a4a1f8fc39d2 Mon Sep 17 00:00:00 2001 From: helpermethod Date: Sun, 13 Feb 2022 21:25:50 +0100 Subject: [PATCH 1/4] Implement support for sdkman_selfupdate_feature and sdkman_auto_update --- app/views/install_beta.scala.txt | 3 ++- app/views/selfupdate_beta.scala.txt | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/views/install_beta.scala.txt b/app/views/install_beta.scala.txt index 58ab4ce..ea9e410 100644 --- a/app/views/install_beta.scala.txt +++ b/app/views/install_beta.scala.txt @@ -230,6 +230,7 @@ else echo "sdkman_auto_complete=true" >> "$sdkman_config_file" fi echo "sdkman_auto_env=false" >> "$sdkman_config_file" +echo "sdkman_auto_update=true" >> "$sdkman_config_file" echo "sdkman_beta_channel=true" >> "$sdkman_config_file" echo "sdkman_checksum_enable=true" >> "$sdkman_config_file" echo "sdkman_colour_enable=true" >> "$sdkman_config_file" @@ -238,7 +239,7 @@ echo "sdkman_curl_max_time=10" >> "$sdkman_config_file" echo "sdkman_debug_mode=false" >> "$sdkman_config_file" echo "sdkman_insecure_ssl=false" >> "$sdkman_config_file" echo "sdkman_rosetta2_compatible=false" >> "$sdkman_config_file" -echo "sdkman_selfupdate_enable=true" >> "$sdkman_config_file" +echo "sdkman_selfupdate_feature=true" >> "$sdkman_config_file" echo "Download script archive..." curl --location --progress-bar "${SDKMAN_SERVICE}/broker/download/sdkman/install/${SDKMAN_VERSION}/${SDKMAN_PLATFORM}" > "$sdkman_zip_file" diff --git a/app/views/selfupdate_beta.scala.txt b/app/views/selfupdate_beta.scala.txt index 17694ac..2085592 100644 --- a/app/views/selfupdate_beta.scala.txt +++ b/app/views/selfupdate_beta.scala.txt @@ -1,3 +1,4 @@ +@import java.time.LocalDate @(cliVersion: String, baseUrl: String)#!/bin/bash # # Copyright 2017 Marco Vermeulen @@ -156,6 +157,10 @@ if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_checksum_enable') ]]; then echo "sdkman_checksum_enable=true" >> "$sdkman_config_file" fi +if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_selfupdate_feature') ]]; then + echo "sdkman_selfupdate_feature=true" >> "$sdkman_config_file" +fi + if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_complete') ]]; then if [ -z "$ZSH_VERSION" -a -z "$BASH_VERSION" ]; then echo "sdkman_auto_complete=false" >> "$sdkman_config_file" @@ -164,6 +169,16 @@ if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_complete') ]]; then fi fi +# migrate deprecated sdkman_selfupdate_enable configuration +@defining(LocalDate.now()) { now => +sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@now.migrated" && + cp "${sdkman_config_file}-@now.migrated" "$sdkman_config_file" +} + +if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_update') ]]; then + echo "sdkman_auto_update=true" >> "$sdkman_config_file" +fi + # drop version token echo "$SDKMAN_VERSION" > "${SDKMAN_DIR}/var/version" From 2f06fa36bb50c51a60c51687f53718176f055cd7 Mon Sep 17 00:00:00 2001 From: helpermethod Date: Mon, 14 Feb 2022 07:58:31 +0100 Subject: [PATCH 2/4] Use .bak suffix for temporary file --- app/views/selfupdate_beta.scala.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/selfupdate_beta.scala.txt b/app/views/selfupdate_beta.scala.txt index 2085592..a788525 100644 --- a/app/views/selfupdate_beta.scala.txt +++ b/app/views/selfupdate_beta.scala.txt @@ -171,8 +171,8 @@ fi # migrate deprecated sdkman_selfupdate_enable configuration @defining(LocalDate.now()) { now => -sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@now.migrated" && - cp "${sdkman_config_file}-@now.migrated" "$sdkman_config_file" +sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@now.bak" && + cp "${sdkman_config_file}-@now.bak" "$sdkman_config_file" } if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_update') ]]; then From 4225ac9a28eeba72e30f11ea550a840b3e9e7972 Mon Sep 17 00:00:00 2001 From: helpermethod Date: Mon, 14 Feb 2022 09:12:09 +0100 Subject: [PATCH 3/4] Inject timestamp into filename --- app/views/selfupdate_beta.scala.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/selfupdate_beta.scala.txt b/app/views/selfupdate_beta.scala.txt index a788525..af818de 100644 --- a/app/views/selfupdate_beta.scala.txt +++ b/app/views/selfupdate_beta.scala.txt @@ -171,8 +171,8 @@ fi # migrate deprecated sdkman_selfupdate_enable configuration @defining(LocalDate.now()) { now => -sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@now.bak" && - cp "${sdkman_config_file}-@now.bak" "$sdkman_config_file" +sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@{now}.bak" && + cp "${sdkman_config_file}-@{now}.bak" "$sdkman_config_file" } if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_update') ]]; then From 839e8ba94e32a8179d890424581118a9a53d0f18 Mon Sep 17 00:00:00 2001 From: helpermethod Date: Fri, 18 Feb 2022 18:04:44 +0100 Subject: [PATCH 4/4] Backup config file before modification --- app/views/selfupdate_beta.scala.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/views/selfupdate_beta.scala.txt b/app/views/selfupdate_beta.scala.txt index af818de..e0da371 100644 --- a/app/views/selfupdate_beta.scala.txt +++ b/app/views/selfupdate_beta.scala.txt @@ -171,8 +171,10 @@ fi # migrate deprecated sdkman_selfupdate_enable configuration @defining(LocalDate.now()) { now => -sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}-@{now}.bak" && - cp "${sdkman_config_file}-@{now}.bak" "$sdkman_config_file" +cp "$sdkman_config_file" "${sdkman_config_file}-@{now}.bak" + +sed 's/sdkman_selfupdate_enable/sdkman_auto_update/' "$sdkman_config_file" > "${sdkman_config_file}.tmp" && + mv "${sdkman_config_file}.tmp" "$sdkman_config_file" } if [[ -z $(cat ${sdkman_config_file} | grep 'sdkman_auto_update') ]]; then