bump.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2025 Daniele Bartolini et al.
  4. set -eu
  5. . scripts/dist/version.sh
  6. crown_docs_append_changelog_version () {
  7. VERSION_STRING=$(crown_version_string ${1} ${2} ${3})
  8. # Prepare CHANGELOG for next version.
  9. # Create a stable target to the heading based on version number.
  10. # Use the heading title to reference the very same target to avoid Sphinx discarding it.
  11. CHANGELOG_HEAD_TARGET=".. _v${VERSION_STRING}:"
  12. CHANGELOG_HEAD=":ref:\`${VERSION_STRING} --- DD MMM YYYY <v${VERSION_STRING}>\`"
  13. CHANGELOG_UNDERLINE=$(echo "${CHANGELOG_HEAD}" | sed 's/./-/g') # Replace all chars in CHANGELOG_HEAD with '-'
  14. {
  15. echo "Changelog"
  16. echo "========="
  17. echo ""
  18. echo "${CHANGELOG_HEAD_TARGET}"
  19. echo ""
  20. echo "${CHANGELOG_HEAD}"
  21. echo "${CHANGELOG_UNDERLINE}"
  22. } >> docs/changelog.rst.next
  23. tail docs/changelog.rst -n +3 >> docs/changelog.rst.next
  24. mv docs/changelog.rst.next docs/changelog.rst
  25. }
  26. if [ $# -ne 3 ]; then
  27. echo "Specify next version number."
  28. echo ""
  29. echo "Usage: $0 <major> <minor> <patch>"
  30. exit;
  31. fi
  32. # The new version to be bumped
  33. VERSION_NEXT_MAJOR=$1
  34. VERSION_NEXT_MINOR=$2
  35. VERSION_NEXT_PATCH=$3
  36. VERSION_NEXT=$(crown_version_string ${VERSION_NEXT_MAJOR} ${VERSION_NEXT_MINOR} ${VERSION_NEXT_PATCH})
  37. crown_set_version $VERSION_NEXT_MAJOR $VERSION_NEXT_MINOR $VERSION_NEXT_PATCH
  38. crown_docs_set_version $VERSION_NEXT_MAJOR $VERSION_NEXT_MINOR $VERSION_NEXT_PATCH
  39. crown_docs_append_changelog_version $VERSION_NEXT_MAJOR $VERSION_NEXT_MINOR $VERSION_NEXT_PATCH
  40. echo "Crown v${VERSION_NEXT} will be bumped"
  41. echo "Continue? [y/N]"
  42. read -r answer
  43. if [ "${answer}" != "y" ] && [ "${answer}" != "Y" ]; then
  44. echo "Bye"
  45. exit;
  46. fi
  47. # Commit changes
  48. git add src/config.h
  49. git add tools/config.vala
  50. git add docs/conf.py
  51. git add docs/changelog.rst
  52. git commit -m "Bump Crown v${VERSION_NEXT}"