#!/usr/bin/env bash # # generate_version # # Make a _Version.h file # DIR=${1:-"Marlin/src/inc"} # 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') BRANCH=$(git -C "${DIR}" symbolic-ref -q --short HEAD) VERSION=$(git -C "${DIR}" describe --tags --first-parent 2>/dev/null) [ -z "${BRANCH}" ] && BRANCH=$(echo "${TRAVIS_BRANCH}") [ -z "${VERSION}" ] && VERSION=$(git -C "${DIR}" describe --tags --first-parent --always 2>/dev/null) SHORT_BUILD_VERSION=$(echo "${BRANCH}") DETAILED_BUILD_VERSION=$(echo "${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" <