@@ -14,6 +14,7 @@ PYTHON_DUMP_FILE_PATH="$DOTFILES_PATH/langs/python/requirements.txt"
1414SNAP_DUMP_FILE_PATH=" $DOTFILES_PATH /os/linux/snap/packages.txt"
1515VOLTA_DUMP_FILE_PATH=" $DOTFILES_PATH /langs/js/volta_dependencies.txt"
1616WINGET_DUMP_FILE_PATH=" $DOTFILES_PATH /os/windows/winget.output"
17+ ASDF_DUMP_FILE_PATH=" $DOTFILES_PATH /langs/sdk/asdf.txt"
1718
1819package::brew_dump () {
1920 if platform::is_macos; then
@@ -124,3 +125,37 @@ package::pacman_import() {
124125 yay -s " $( cat $PACMAN_DUMP_FILE_PATH ) "
125126 fi
126127}
128+
129+ package::asdf_dump () {
130+ mkdir -p " $DOTFILES_PATH /langs/sdk"
131+ echo -n > $ASDF_DUMP_FILE_PATH
132+
133+ for plug in $( asdf plugin-list) ; do
134+ for ver in $( asdf list $plug | awk ' {print $1; }' ) ; do
135+ if [ -z " $ver " ]; then
136+ echo " No versions installed for $plug "
137+ else
138+ echo " $plug $ver " >> $ASDF_DUMP_FILE_PATH
139+ fi
140+ done
141+ done
142+ }
143+
144+ package::asdf_import () {
145+ if [ -f " $ASDF_DUMP_FILE_PATH " ]; then
146+ for plug in $( cat $ASDF_DUMP_FILE_PATH | awk ' { print $1 }' | uniq) ; do
147+ echo " asdf plugin-add $plug "
148+ done
149+ while read -r line; do
150+ plug=$( echo $line | awk ' {print $1; }' )
151+ ver=$( echo $line | awk ' {print $2; }' )
152+ if [[ $ver == \* * ]]; then
153+ ver=${ver: 1}
154+ echo " asdf install $plug $ver "
155+ echo " asdf global $plug $ver "
156+ else
157+ echo " asdf install $plug $ver "
158+ fi
159+ done < $ASDF_DUMP_FILE_PATH
160+ fi
161+ }
0 commit comments