22.add-suffix-to-app-version.bash 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. set -e
  2. # export versionSuffix='.1234.preview'
  3. # bash 22.add-suffix-to-app-version.bash
  4. #---------------------------------------------------------------------
  5. # args
  6. args_="
  7. export versionSuffix=' '
  8. # "
  9. # remove spaces
  10. versionSuffix=${versionSuffix// /}
  11. #----------------------------------------------
  12. # basePath
  13. if [ -z "$basePath" ]; then basePath=$PWD/../../..; fi
  14. #----------------------------------------------
  15. echo "#1 get appVersion"
  16. # get csproj file with appVersion tag, if not exist get file with pack or publish tag
  17. csprojPath=$(find ${basePath} -name *.props -exec grep '<Version>' -l {} \; | head -n 1);
  18. if [ ! -f "$csprojPath" ]; then csprojPath=$(find ${basePath} -name *.csproj -exec grep '<appVersion>' -l {} \; | head -n 1); fi
  19. if [ ! -f "$csprojPath" ]; then csprojPath=$(find ${basePath} -name *.csproj -exec grep '<pack>\|<publish>' -l {} \; | head -n 1); fi
  20. if [ -f "$csprojPath" ]; then export appVersion=`grep '<Version>' "$csprojPath" | grep -oE '\>(.*)\<' | tr -d '<>/'`; fi
  21. echo "appVersion from csproj: $appVersion"
  22. export nextAppVersion="${appVersion}${versionSuffix}"
  23. echo "nextAppVersion: $nextAppVersion"
  24. #----------------------------------------------
  25. echo "#2 change app version from [$appVersion] to [$nextAppVersion]"
  26. sed -i 's/'"<Version>$appVersion<\/Version>"'/'"<Version>$nextAppVersion<\/Version>"'/g' `find ${basePath} -name *.csproj -exec grep '<pack>\|<publish>' -l {} \;`
  27. sed -i 's/'"<Version>$appVersion<\/Version>"'/'"<Version>$nextAppVersion<\/Version>"'/g' `find ${basePath} -name *.props -exec grep '<Version>' -l {} \;`