versionning.bash 643 B

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. COMMIT_NUMBER=$(git describe --always)
  3. BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)
  4. VERSION="$BRANCH_NAME-$COMMIT_NUMBER"
  5. source=$(cat <<EOF
  6. #include "version.h"
  7. const char git_version[] = "$VERSION";
  8. EOF
  9. )
  10. include=$(cat <<EOF
  11. #ifndef INCLUDE_VERSION_H
  12. #define INCLUDE_VERSION_H
  13. extern const char git_version[];
  14. #endif
  15. EOF
  16. )
  17. diff src/version.c <(echo "$source") > /dev/null 2>&1
  18. if [[ $? -ne 0 ]]
  19. then
  20. echo "Updating version source"
  21. echo "$source" > src/version.c
  22. fi
  23. diff src/version.h <(echo "$include") > /dev/null 2>&1
  24. if [[ $? -ne 0 ]]
  25. then
  26. echo "Updating version include"
  27. echo "$include" > src/version.h
  28. fi