diff --git a/update.sh b/update.sh index a47105eee..b4e8aeea6 100755 --- a/update.sh +++ b/update.sh @@ -8,7 +8,7 @@ if [ ${#versions[@]} -eq 0 ]; then versions=( */ ) fi versions=( "${versions[@]%/}" ) -shaPage=$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/') +shaPage=$(curl -fsSL 'https://www.ruby-lang.org/en/downloads/' | tr '\r\n' ' ') latest_gem_version() { curl -sSL "https://rubygems.org/api/v1/gems/$1.json" | sed -r 's/^.*"version":"([^"]+)".*$/\1/' @@ -19,12 +19,27 @@ bundler="$(latest_gem_version bundler)" travisEnv= for version in "${versions[@]}"; do - fullVersion="$(curl -sSL --compressed "http://cache.ruby-lang.org/pub/ruby/$version/" \ - | grep -E '
sha256: ([^<]+).*/\1/")" + IFS=$'\n'; allVersions=( + $(curl -sSL --compressed "http://cache.ruby-lang.org/pub/ruby/$version/" \ + | grep -E '
&2 "warning: cannot determine sha for $version (tried all of ${allVersions[*]}); skipping" + continue + fi + shaVal="$(echo "$shaPage" | sed -r "s/.*Ruby ${fullVersion}<\/a>
\s*sha256: ([^<]+).*/\1/")" sedStr=" s!%%VERSION%%!$version!g;