Browse Source

Clean up / improve generate_version script (#21674)

Ryan Finnie 3 years ago
parent
commit
a73dce4a56
1 changed files with 24 additions and 36 deletions
  1. 24 36
      buildroot/bin/generate_version

+ 24 - 36
buildroot/bin/generate_version

@@ -4,47 +4,35 @@
 #
 # Make a Version.h file to accompany CUSTOM_VERSION_FILE
 #
+# Authors: jbrazio, thinkyhead, InsanityAutomation, rfinnie
+#
 
-DIR=${1:-"Marlin"}
-
-# MRCC3=$( git merge-base HEAD upstream/bugfix-2.0.x 2>/dev/null )
-# MRCC2=$( git merge-base HEAD upstream/bugfix-1.1.x 2>/dev/null )
-# MRCC1=$( git merge-base HEAD upstream/1.1.x 2>/dev/null )
-
-# BASE='?'
-# if [[ -n $MRCC3 && $MRCC3 != $MRCC2 ]]; then
-#   BASE=bugfix-2.0.x
-# elif [[ -n $MRCC2 ]]; then
-#   BASE=bugfix-1.1.x
-# elif [[ -n $MRCC1 ]]; then
-#   BASE=1.1.x
-# fi
-
-BUILDATE=$(date '+%s')
-DISTDATE=$(date '+%Y-%m-%d %H:%M')
+set -e
 
-BRANCH=$(git -C "${DIR}" symbolic-ref -q --short HEAD)
-VERSION=$(git -C "${DIR}" describe --tags --first-parent 2>/dev/null)
+DIR="${1:-Marlin}"
+READ_FILE="${READ_FILE:-${DIR}/Version.h}"
+WRITE_FILE="${WRITE_FILE:-${READ_FILE}}"
 
-[ -z "${BRANCH}" ] && BRANCH=$(echo "${TRAVIS_BRANCH}")
-[ -z "${VERSION}" ] && VERSION=$(git -C "${DIR}" describe --tags --first-parent --always 2>/dev/null)
+BRANCH="$(git -C "${DIR}" symbolic-ref -q --short HEAD 2>/dev/null || true)"
+VERSION="$(git -C "${DIR}" describe --tags --first-parent 2>/dev/null || true)"
 
-SHORT_BUILD_VERSION=$(echo "${BRANCH}")
-DETAILED_BUILD_VERSION=$(echo "${BRANCH}-${VERSION}")
+STRING_DISTRIBUTION_DATE="${STRING_DISTRIBUTION_DATE:-$(date '+%Y-%m-%d %H:%M')}"
+SHORT_BUILD_VERSION="${SHORT_BUILD_VERSION:-${BRANCH}}"
+DETAILED_BUILD_VERSION="${DETAILED_BUILD_VERSION:-${BRANCH}-${VERSION}}"
 
 # Gets some misc options from their defaults
-DEFAULT_MACHINE_UUID=$(awk -F'"' \
-  '/#define DEFAULT_MACHINE_UUID/{ print $2 }' < "${DIR}/Version.h")
-MACHINE_NAME=$(awk -F'"' \
-  '/#define MACHINE_NAME/{ print $2 }' < "${DIR}/Version.h")
-PROTOCOL_VERSION=$(awk -F'"' \
-  '/#define PROTOCOL_VERSION/{ print $2 }' < "${DIR}/Version.h")
-SOURCE_CODE_URL=$(awk -F'"' \
-  '/#define SOURCE_CODE_URL/{ print $2 }' < "${DIR}/Version.h")
-WEBSITE_URL=$(awk -F'"' \
-  '/#define WEBSITE_URL/{ print $2 }' < "${DIR}/Version.h")
-
-cat > "${DIR}/Version.h" <<EOF
+DEFAULT_MACHINE_UUID="${DEFAULT_MACHINE_UUID:-$(awk -F'"' \
+  '/#define DEFAULT_MACHINE_UUID/{ print $2 }' < "${READ_FILE}")}"
+MACHINE_NAME="${MACHINE_NAME:-$(awk -F'"' \
+  '/#define MACHINE_NAME/{ print $2 }' < "${READ_FILE}")}"
+PROTOCOL_VERSION="${PROTOCOL_VERSION:-$(awk -F'"' \
+  '/#define PROTOCOL_VERSION/{ print $2 }' < "${READ_FILE}")}"
+SOURCE_CODE_URL="${SOURCE_CODE_URL:-$(awk -F'"' \
+  '/#define SOURCE_CODE_URL/{ print $2 }' < "${READ_FILE}")}"
+WEBSITE_URL="${WEBSITE_URL:-$(awk -F'"' \
+  '/#define WEBSITE_URL/{ print $2 }' < "${READ_FILE}")}"
+
+cat > "${WRITE_FILE}" <<EOF
 /**
  * Marlin 3D Printer Firmware
  * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
@@ -97,7 +85,7 @@ cat > "${DIR}/Version.h" <<EOF
   * version was tagged.
   */
 #ifndef STRING_DISTRIBUTION_DATE
-  #define STRING_DISTRIBUTION_DATE "${DISTDATE}"
+  #define STRING_DISTRIBUTION_DATE "${STRING_DISTRIBUTION_DATE}"
 #endif
 
 /**