docs.sh 979 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. # SPDX-License-Identifier: GPL-3.0-or-later
  3. # Copyright (c) 2012-2025 Daniele Bartolini et al.
  4. if [ $# -gt 1 ]; then
  5. echo "Usage: $0 [version]"
  6. echo ""
  7. exit;
  8. fi
  9. VERSION=$1
  10. if [ -z "${VERSION}" ]; then
  11. VERSION=$(git tag | tail -n 1)
  12. elif [ "${VERSION}" = "master" ]; then
  13. VERSION="master"
  14. else
  15. echo "Invalid version name"
  16. exit 1
  17. fi
  18. echo "Docs \`${VERSION}\` will be released"
  19. echo "Continue? [y/N]"
  20. read -r answer
  21. if [ "${answer}" != "y" ] && [ "${answer}" != "Y" ]; then
  22. echo "Bye."
  23. exit;
  24. fi
  25. # Switch to desired tag.
  26. git checkout "${VERSION}"
  27. # Build docs.
  28. make clean
  29. make docs
  30. # Update gh-pages branch.
  31. git checkout gh-pages
  32. rm -r html/"${VERSION}"
  33. mkdir html/"${VERSION}"
  34. cp -r build/docs/html/* html/"${VERSION}"
  35. # Update 'latest' only in stable releases.
  36. if [ "${VERSION}" != "master" ]; then
  37. rm html/latest && ln -s html/"${VERSION}" html/latest
  38. git add html/latest
  39. fi
  40. # Commit changes.
  41. git add html/"${VERSION}"
  42. git commit -m "Docs ${VERSION}"