git » gn.git » commit f8dbc5b

Make chromium-gn-version.sh list all gn versions

author Evangelos Foutras
2021-03-07 13:42:05 UTC
committer Evangelos Foutras
2021-03-07 13:42:05 UTC
parent 579d9b067a1d826ae13bb6264d83a71fb3850a3c

Make chromium-gn-version.sh list all gn versions

chromium-gn-version.sh +16 -3

diff --git a/chromium-gn-version.sh b/chromium-gn-version.sh
index 57d007e..ee40c6a 100755
--- a/chromium-gn-version.sh
+++ b/chromium-gn-version.sh
@@ -2,7 +2,20 @@
 
 set -eo pipefail
 
-chromium_version=${1:-$(curl -s https://omahaproxy.appspot.com/linux)}
+readonly CURL='curl -s --compressed'
 
-curl -s https://chromium.googlesource.com/chromium/src/+/$chromium_version/DEPS?format=TEXT |
-	base64 -d | grep -Po "'gn_version': 'git_revision:\K[^']*"
+gn_revision_from_chrome_version() {
+  $CURL "https://chromium.googlesource.com/chromium/src/+/$1/DEPS?format=TEXT" \
+    | base64 -d | grep -Po "'gn_version': 'git_revision:\K[^']*"
+}
+
+{
+  echo channel version gn_revision
+  echo ------- ------- -----------
+  while read -r channel version; do
+    echo "$channel $version $(gn_revision_from_chrome_version "$version")"
+  done < <(
+    $CURL https://omahaproxy.appspot.com/json \
+      | jq -r '.[] | select ( .os == "linux" ) | .versions | .[] | "\(.channel) \(.version)"'
+  )
+} | column -t