File tree 2 files changed +64
-4
lines changed
2 files changed +64
-4
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ $ brew install tfenv
27
27
```
28
28
29
29
Install via Arch User Repository (AUR)
30
-
30
+
31
31
``` console
32
32
$ yay --sync tfenv
33
33
```
@@ -220,6 +220,54 @@ functionality will be restored.
220
220
$ TFENV_REVERSE_REMOTE=1 tfenv list-remote
221
221
```
222
222
223
+ ##### ` TFENV_SORT_VERSIONS_REMOTE `
224
+
225
+ Integer (Default: 0)
226
+
227
+ When using a custom remote, such as Artifactory, instead of the Hashicorp servers,
228
+ the list of terraform versions returned by the curl of the remote directory may be inverted
229
+ and sorted alphabetically, and not in a version-aware sort.
230
+
231
+ For example, you will have something like this:
232
+
233
+ ```
234
+ 1.0.0
235
+ 1.0.10
236
+ 1.0.11
237
+ 1.0.1
238
+ 1.0.2
239
+ 1.0.3
240
+ 1.0.4
241
+ 1.0.5
242
+ 1.0.6
243
+ 1.0.7
244
+ 1.0.8
245
+ 1.0.9
246
+ ```
247
+
248
+ instead of:
249
+
250
+ ```
251
+ 1.0.0
252
+ 1.0.1
253
+ 1.0.2
254
+ 1.0.3
255
+ 1.0.4
256
+ 1.0.5
257
+ 1.0.6
258
+ 1.0.7
259
+ 1.0.8
260
+ 1.0.9
261
+ 1.0.10
262
+ 1.0.11
263
+ ```
264
+
265
+ To use ` sort --version-sort ` over all the list of versions, set this environment variable:
266
+
267
+ ``` console
268
+ $ TFENV_SORT_VERSIONS_REMOTE=1 tfenv list-remote
269
+ ```
270
+
223
271
##### ` TFENV_CONFIG_DIR `
224
272
225
273
Path (Default: ` $TFENV_ROOT ` )
Original file line number Diff line number Diff line change @@ -73,8 +73,20 @@ remote_versions="$(curlw -sSf "${TFENV_REMOTE}/terraform/")" \
73
73
74
74
# log 'debug' "Remote versions available: ${remote_versions}"; # Even in debug mode this is too verbose
75
75
76
+ # Remove Artifactory version
77
+ remote_versions=" $( grep -v -E " Artifactory/[0-9]+\.[0-9]+\.[0-9]+" <<< " ${remote_versions}" ) "
78
+
79
+ # Grep the versions
80
+ remote_versions=" $( grep -o -E " [0-9]+\.[0-9]+\.[0-9]+(-(rc|beta|alpha|oci)-?[0-9]*)?" <<< " ${remote_versions}" | uniq) "
81
+
82
+ # Sort versions
83
+ if [[ " ${TFENV_SORT_VERSIONS_REMOTE:- 0} " -eq 1 ]]; then
84
+ remote_versions=" $( sort --version-sort <<< " ${remote_versions}" ) "
85
+ fi
86
+
87
+ # Reverse versions
76
88
if [[ " ${TFENV_REVERSE_REMOTE:- 0} " -eq 1 ]]; then
77
- grep -o -E " [0-9]+\.[0-9]+\.[0-9]+(-(rc|beta|alpha|oci)-?[0-9]*)?" <<< " ${remote_versions}" | uniq | awk ' {a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' ;
78
- else
79
- grep -o -E " [0-9]+\.[0-9]+\.[0-9]+(-(rc|beta|alpha|oci)-?[0-9]*)?" <<< " ${remote_versions}" | uniq;
89
+ remote_versions=" $( awk ' {a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' <<< " ${remote_versions}" ) "
80
90
fi ;
91
+
92
+ cat <<< " ${remote_versions}"
You can’t perform that action at this time.
0 commit comments