diff --git a/LinuxAddons/bin/generate_version_header_for_marlin b/LinuxAddons/bin/generate_version_header_for_marlin index 539a3fe5a7..5fa9fb6338 100755 --- a/LinuxAddons/bin/generate_version_header_for_marlin +++ b/LinuxAddons/bin/generate_version_header_for_marlin @@ -1,12 +1,36 @@ #!/usr/bin/env bash # generate_version_header_for_marlin -DIR="$1" export DIR -OUTFILE="$2" export OUTFILE +DIR="$1" +OUTFILE="$2" -BUILDATE=$(date '+"%s"') -DISTDATE=$(date '+"%Y-%m-%d %H:%M"') +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) + +# Voodoo version tag generator +if [ -z "${VERSION}" ]; then + VERSION=$(git -C "${DIR}" describe --tags --first-parent --always 2>/dev/null) + SHORT_BUILD_VERSION=$(echo "${VERSION}" | sed "s/-.*/${BRANCH}/") + DETAILED_BUILD_VERSION=$(echo "${VERSION}" | sed "s/-/${BRANCH}-/") +else + SHORT_BUILD_VERSION=$(echo "${BRANCH}") + DETAILED_BUILD_VERSION=$(echo "${BRANCH}-${VERSION}") +fi + +# 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 > "$OUTFILE" < "$OUTFILE" </dev/null` - if [ "x$VERSION" != "x" ] ; then - echo "#define SHORT_BUILD_VERSION \"$VERSION\"" | sed "s/-.*/$BRANCH\"/" >>"$OUTFILE" - echo "#define DETAILED_BUILD_VERSION \"$VERSION\"" | sed "s/-/$BRANCH-/" >>"$OUTFILE" - else - VERSION=`git describe --tags --first-parent --always 2>/dev/null` - echo "#define SHORT_BUILD_VERSION \"$BRANCH\"" >>"$OUTFILE" - echo "#define DETAILED_BUILD_VERSION \"${BRANCH}-$VERSION\"" >>"$OUTFILE" - fi -)