diff --git a/LinuxAddons/bin/generate_version_header_for_marlin b/LinuxAddons/bin/generate_version_header_for_marlin new file mode 100755 index 0000000000..a7bef9a5a2 --- /dev/null +++ b/LinuxAddons/bin/generate_version_header_for_marlin @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +# generate_version_header_for_marlin + +DIR="$1" export DIR +OUTFILE="$2" export OUTFILE +echo "/* This file is automatically generated by an Arduino hook" >"$OUTFILE" +echo " * Do not manually edit it" >>"$OUTFILE" +echo " * It does not get committed to the repository" >>"$OUTFILE" +echo " */" >>"$OUTFILE" +echo "" >>"$OUTFILE" + +echo "#define BUILD_UNIX_DATETIME" `date +%s` >>"$OUTFILE" +echo "#define STRING_DISTRIBUTION_DATE" `date '+"%Y-%m-%d %H:%M"'` >>"$OUTFILE" +( set +e + cd "$DIR" + BRANCH=`git symbolic-ref -q --short HEAD` + if [ "x$BRANCH" == "x" ] ; then + BRANCH="" + elif [ "x$BRANCH" == "xDevelopment" ] ; then + BRANCH=" dev" + else + BRANCH=" $BRANCH" + fi + VERSION=`git describe --tags --first-parent 2>/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 + URL=`git config --local --get remote.origin.url | sed "sx.*github.com.xhttps://github.com/x" | sed "sx\.gitx/x"` + if [ "x$URL" != "x" ] ; then + echo "#define SOURCE_CODE_URL \""$URL"\"" >>"$OUTFILE" + echo "// Deprecated URL definition" >>"$OUTFILE" + echo "#define FIRMWARE_URL \""$URL"\"" >>"$OUTFILE" + fi +)