sync_bzlmod_version.sh 955 B

12345678910111213141516171819202122232425262728
  1. #!/usr/bin/env bash
  2. set -e
  3. SCRIPT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)
  4. VERSION_HEADER=$(realpath "$SCRIPT_DIR/../src/entt/config/version.h" --relative-to=$(pwd))
  5. BAZEL_MODULE=$(realpath "$SCRIPT_DIR/../MODULE.bazel" --relative-to=$(pwd))
  6. if [[ -z "${VERSION_HEADER}" ]]; then
  7. echo "Cannot find version header"
  8. exit 1
  9. fi
  10. echo "Getting version from $VERSION_HEADER ..."
  11. ENTT_MAJOR_VERSION=$(sed -nr 's/#define ENTT_VERSION_MAJOR ([0-9]+)/\1/p' $VERSION_HEADER)
  12. ENTT_MINOR_VERSION=$(sed -nr 's/#define ENTT_VERSION_MINOR ([0-9]+)/\1/p' $VERSION_HEADER)
  13. ENTT_PATCH_VERSION=$(sed -nr 's/#define ENTT_VERSION_PATCH ([0-9]+)/\1/p' $VERSION_HEADER)
  14. VERSION="$ENTT_MAJOR_VERSION.$ENTT_MINOR_VERSION.$ENTT_PATCH_VERSION"
  15. echo "Found $VERSION"
  16. buildozer "set version $VERSION" //MODULE.bazel:%module
  17. # a commit is needed for 'git archive'
  18. git add $BAZEL_MODULE
  19. git commit -m "chore: update MODULE.bazel version to $VERSION"