bump.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2025 Daniele Bartolini et al.
  4. . scripts/dist/version.sh
  5. if [ $# -ne 3 ]; then
  6. echo "Specify next version number."
  7. echo ""
  8. echo "Usage: $0 <major> <minor> <patch>"
  9. exit;
  10. fi
  11. git checkout master
  12. # Read previous version
  13. VERSION_PREV=$(git tag | tail -n 2 | head -n 1 | cut -c2-)
  14. # Read current version
  15. VERSION_MAJOR=$(crown_version_major)
  16. VERSION_MINOR=$(crown_version_minor)
  17. VERSION_PATCH=$(crown_version_patch)
  18. VERSION=$(crown_version)
  19. # The new version to be bumped
  20. VERSION_NEXT_MAJOR=$1
  21. VERSION_NEXT_MINOR=$2
  22. VERSION_NEXT_PATCH=$3
  23. VERSION_NEXT="${VERSION_NEXT_MAJOR}.${VERSION_NEXT_MINOR}.${VERSION_NEXT_PATCH}"
  24. VERSION_NEXT_TITLE="${VERSION_NEXT} --- DD MMM YYYY"
  25. VERSION_NEXT_UNDERLINE=$(echo "${VERSION_NEXT_TITLE}" | sed 's/./-/g') # Replace all chars in VERSION_NEXT_TITLE with '-'
  26. # Patch version numbers in config.h
  27. sed -i "s/MAJOR ${VERSION_MAJOR}/MAJOR ${VERSION_NEXT_MAJOR}/g" src/config.h
  28. sed -i "s/MINOR ${VERSION_MINOR}/MINOR ${VERSION_NEXT_MINOR}/g" src/config.h
  29. sed -i "s/PATCH ${VERSION_PATCH}/PATCH ${VERSION_NEXT_PATCH}/g" src/config.h
  30. # Patch version string in config.vala
  31. sed -i "s/${VERSION}/${VERSION_NEXT}/g" tools/config.vala
  32. # Patch version string in docs
  33. sed -i "s/${VERSION}/${VERSION_NEXT}/g" docs/conf.py
  34. # Prepare CHANGELOG for next version
  35. {
  36. echo "Changelog"
  37. echo "========="
  38. echo ""
  39. echo "${VERSION_NEXT_TITLE}"
  40. echo "${VERSION_NEXT_UNDERLINE}"
  41. } >> docs/changelog.rst.next
  42. tail docs/changelog.rst -n +3 >> docs/changelog.rst.next
  43. mv docs/changelog.rst.next docs/changelog.rst
  44. echo "Crown v${VERSION_NEXT} will be bumped"
  45. echo "Continue? [y/N]"
  46. read -r answer
  47. if [ "${answer}" != "y" ] && [ "${answer}" != "Y" ]; then
  48. echo "Bye"
  49. exit;
  50. fi
  51. # Commit changes
  52. git add src/config.h
  53. git add tools/config.vala
  54. git add docs/conf.py
  55. git add docs/changelog.rst
  56. git commit -m "Bump Crown v${VERSION_NEXT}"