20.change-app-version.bash 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. set -e
  2. # export versionSuffix='.1234.preview'
  3. # bash 20.change-release-version.bash
  4. #---------------------------------------------------------------------
  5. # args
  6. args_="
  7. export versionSuffix=' '
  8. # "
  9. # remove spaces
  10. versionSuffix=${versionSuffix// /}
  11. #----------------------------------------------
  12. # curPath
  13. curPath=$PWD
  14. cd $curPath/../../..
  15. export basePath=$PWD
  16. cd $curPath
  17. #----------------------------------------------
  18. echo "#1 get version"
  19. export version=`grep '<Version>' $(find ${basePath} -name *.csproj -exec grep '<pack>\|<publish>' -l {} \; | head -n 1) | grep -oE '\>(.*)\<' | tr -d '<>/'`
  20. echo "version from csproj: $version"
  21. # get v1 v2 v3
  22. v1=$(echo $version | tr '.' '\n' | sed -n 1p)
  23. v2=$(echo $version | tr '.' '\n' | sed -n 2p)
  24. v3=$(echo $version | tr '.-' '\n' | sed -n 3p)
  25. #export appVersion="${version%%-*}$versionSuffix"
  26. export appVersion="$v1.$v2.$v3$versionSuffix"
  27. echo "appVersion: $appVersion"
  28. #----------------------------------------------
  29. echo "#2 change app version from [$version] to [$appVersion]"
  30. sed -i 's/'"$version"'/'"$appVersion"'/g' `find ${basePath} -name *.csproj -exec grep '<pack>\|<publish>' -l {} \;`
  31. #----------------------------------------------
  32. #9
  33. cd $curPath