54375cc7a4
Currently if you clone Marlin to a directory with a space in the name, Arduino will generate an error. Because when executed the path ends up split into two separate arguments.
35 lines
1.2 KiB
Bash
Executable file
35 lines
1.2 KiB
Bash
Executable file
#!/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
|
|
|
|
)
|