#!/usr/bin/env bash # generate_version_header_for_marlin DIR="$1" export DIR OUTFILE="$2" export OUTFILE BUILDATE=$(date '+"%s"') DISTDATE=$(date '+"%Y-%m-%d %H:%M"') cat > "$OUTFILE" <<EOF /** * THIS FILE IS AUTOMATICALLY GENERATED DO NOT MANUALLY EDIT IT. * IT DOES NOT GET COMMITTED TO THE REPOSITORY. */ #define BUILD_UNIX_DATETIME ${BUILDATE} #define STRING_DISTRIBUTION_DATE ${DISTDATE} #define PROTOCOL_VERSION "1.0" #define MACHINE_NAME "Travis CI" #define SOURCE_CODE_URL "https://github.com/MarlinFirmware/Marlin" #define DEFAULT_MACHINE_UUID "3442baa1-08ee-435b-8a10-99d185bd43b8" #define WEBSITE_URL "http://marlinfw.org" EOF ( 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 )