#!/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 --short HEAD` if [ "x$BRANCH" == "xHEAD" ] ; 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 BUILD_VERSION \"$VERSION\"" | sed "s/-/$BRANCH-/" >>"$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 )