|
|
- #!/bin/sh
-
- # This script checks availability of different Android source code sub-projects
- # for a user-determined Android version (BASEVER) using a pre-defined Android
- # platform manifest file as basis (XMLURL).
- #
- # Goal of this script is to automate detection of these sub-projects
- # to help generating a valid Android platform manifest file for AOSP source code
- # compilation.
-
- BASEURL="https://android.googlesource.com/"
- BASEVER="android-10.0.0_r41"
-
- XMLURL="https://fjordtek.com/git/Fincer/anbox-platform_manifests/raw/branch/anbox/default.xml"
-
- SUBURLS=()
- NOK_SUBURLS=()
- NOK_SUBURLS_VERSIONINFO=()
-
- echo "
- Target version: ${BASEVER}
- Reference Android manifest: ${XMLURL}
- "
-
- for subUrl in $(curl -s ${XMLURL} | grep -oP '(?<=name=").*?(?=")' | tr '\n' ' '); do
- SUBURLS+=(${subUrl})
- done
-
- for subUrl in ${SUBURLS[@]}; do
- ANDROID_VERSIONS=$(curl -s ${BASEURL}${subUrl} | grep -oP '(?<=refs/tags/).*?(?=")' | tr '\n' ' ')
-
- match=0
-
- if [[ ${#ANDROID_VERSIONS[@]} != 0 ]]; then
-
- for av in ${ANDROID_VERSIONS[@]}; do
- if [[ ${av} == ${BASEVER} ]]; then
- match=1
- echo -e "OK\t${subUrl}"
- break 1
- fi
- done
- if [[ ${match} == 0 ]]; then
- NOK_SUBURLS+=(${subUrl})
- fi
- else
- NOK_SUBURLS_VERSIONINFO+=(${subUrl}})
- fi
-
- done
-
- echo -e "\n"
-
- if [[ ${#NOK_SUBURLS[@]} != 0 ]] || [[ ${#NOK_SUBURLS_VERSIONINFO[@]} != 0 ]]; then
- echo -e "You may need to look for replacements or delete these ones from the provided manifest:\n"
- fi
-
- if [[ ${#NOK_SUBURLS[@]} != 0 ]]; then
- echo -e "NOK sub urls are:\n$(for i in ${NOK_SUBURLS[@]}; do echo -e ${i}; done)\n"
- fi
-
- if [[ ${#NOK_SUBURLS_VERSIONINFO[@]} != 0 ]]; then
- echo -e "Couldn't get Android versions for urls:\n$(for i in ${NOK_SUBURLS_VERSIONINFO[@]}; do echo -e ${i}; done)\n"
- fi
|