cronet.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #bin/sh
  2. global_rematch() {
  3. local s="$2" regex=$1 debug=$3
  4. if [[ -z "$1" || -z "$2" ]]; then
  5. echo -e "usage: global_rematch <regex> <string> <debug flag>"
  6. else
  7. if [[ ! $s =~ $regex ]]; then
  8. echo -e "info: not matched!"
  9. fi
  10. while [[ $s =~ $regex ]]; do
  11. if [[ -n ${BASH_REMATCH[1]} ]];then
  12. [[ -n $debug ]] && echo "${BASH_REMATCH[0]}"
  13. echo "${BASH_REMATCH[1]}"
  14. s=`echo $s | sed s/${BASH_REMATCH[1]}//g`
  15. else
  16. echo -e "info: regex not has match group!"
  17. fi
  18. done
  19. fi
  20. }
  21. echo "start download cronet info..."
  22. ##beta version
  23. # curl https://storage.googleapis.com/chromium-cronet/ -s > cronet
  24. # global_rematch 'android.([0-9\.]+).Release.VERSION' "`cat cronet`" | tail -1 > lastest_cronet_version
  25. ##stable version
  26. ##fetch chrome stable release page
  27. ##https://chromereleases.googleblog.com/search/label/Stable%20updates
  28. ##match "released Chrome 98 (98.0.4758.101) for Android"
  29. curl https://chromereleases.googleblog.com/search/label/Stable%20updates -s > stable_page
  30. global_rematch 'released Chrome[ 0-9]+\(([0-9\.]+)\).{5}Android' "`cat stable_page`" | head -1 > lastest_cronet_version
  31. lastest_cronet_version=`cat lastest_cronet_version`
  32. echo "lastest_cronet_version: $lastest_cronet_version"
  33. path=$GITHUB_WORKSPACE/gradle.properties
  34. current_cronet_version=`cat $path | grep CronetVersion | sed s/CronetVersion=//`
  35. echo "current_cronet_version: $current_cronet_version"
  36. if [[ $current_cronet_version == $lastest_cronet_version ]];then
  37. echo "cronet is already latest"
  38. else
  39. sed -i s/CronetVersion=.*/CronetVersion=$lastest_cronet_version/ $path
  40. sed "15a* 更新cronet: $lastest_cronet_version" -i $GITHUB_WORKSPACE/app/src/main/assets/updateLog.md
  41. echo "start download latest cronet"
  42. chmod +x gradlew
  43. ./gradlew app:downloadCronet
  44. fi
  45. rm -f cronet lastest_cronet_version stable_page