From e8701195e66f2d27ffe17fb514eae8173795aaf7 Mon Sep 17 00:00:00 2001 From: Georgiy Bondarenko <69736697+nehilo@users.noreply.github.com> Date: Thu, 4 Mar 2021 22:54:23 +0500 Subject: Initial commit --- buildroot/bin/generate_version | 144 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 buildroot/bin/generate_version (limited to 'buildroot/bin/generate_version') diff --git a/buildroot/bin/generate_version b/buildroot/bin/generate_version new file mode 100644 index 0000000..b88e3de --- /dev/null +++ b/buildroot/bin/generate_version @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# +# generate_version +# +# Make a Version.h file to accompany CUSTOM_VERSION_FILE +# + +DIR=${1:-"Marlin"} + +# MRCC3=$( git merge-base HEAD upstream/bugfix-2.0.x 2>/dev/null ) +# MRCC2=$( git merge-base HEAD upstream/bugfix-1.1.x 2>/dev/null ) +# MRCC1=$( git merge-base HEAD upstream/1.1.x 2>/dev/null ) + +# BASE='?' +# if [[ -n $MRCC3 && $MRCC3 != $MRCC2 ]]; then +# BASE=bugfix-2.0.x +# elif [[ -n $MRCC2 ]]; then +# BASE=bugfix-1.1.x +# elif [[ -n $MRCC1 ]]; then +# BASE=1.1.x +# fi + +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) + +[ -z "${BRANCH}" ] && BRANCH=$(echo "${TRAVIS_BRANCH}") +[ -z "${VERSION}" ] && VERSION=$(git -C "${DIR}" describe --tags --first-parent --always 2>/dev/null) + +SHORT_BUILD_VERSION=$(echo "${BRANCH}") +DETAILED_BUILD_VERSION=$(echo "${BRANCH}-${VERSION}") + +# 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 > "${DIR}/Version.h" <. + * + */ +#pragma once + +/** + * THIS FILE IS AUTOMATICALLY GENERATED DO NOT MANUALLY EDIT IT. + * IT DOES NOT GET COMMITTED TO THE REPOSITORY. + * + * Branch: ${BRANCH} + * Version: ${VERSION} + */ + +/** + * Marlin release version identifier + */ +#ifndef SHORT_BUILD_VERSION + #define SHORT_BUILD_VERSION "${SHORT_BUILD_VERSION}" +#endif + +/** + * Verbose version identifier which should contain a reference to the location + * from where the binary was downloaded or the source code was compiled. + */ +#ifndef DETAILED_BUILD_VERSION + #define DETAILED_BUILD_VERSION "${DETAILED_BUILD_VERSION}" +#endif + +/** + * The STRING_DISTRIBUTION_DATE represents when the binary file was built, + * here we define this default string as the date where the latest release + * version was tagged. + */ +#ifndef STRING_DISTRIBUTION_DATE + #define STRING_DISTRIBUTION_DATE "${DISTDATE}" +#endif + +/** + * The protocol for communication to the host. Protocol indicates communication + * standards such as the use of ASCII, "echo:" and "error:" line prefixes, etc. + * (Other behaviors are given by the firmware version and capabilities report.) + */ +#ifndef PROTOCOL_VERSION + #define PROTOCOL_VERSION "${PROTOCOL_VERSION}" +#endif + +/** + * Defines a generic printer name to be output to the LCD after booting Marlin. + */ +#ifndef MACHINE_NAME + #define MACHINE_NAME "${MACHINE_NAME}" +#endif + +/** + * The SOURCE_CODE_URL is the location where users will find the Marlin Source + * Code which is installed on the device. In most cases —unless the manufacturer + * has a distinct Github fork— the Source Code URL should just be the main + * Marlin repository. + */ +#ifndef SOURCE_CODE_URL + #define SOURCE_CODE_URL "${SOURCE_CODE_URL}" +#endif + +/** + * Default generic printer UUID. + */ +#ifndef DEFAULT_MACHINE_UUID + #define DEFAULT_MACHINE_UUID "${DEFAULT_MACHINE_UUID}" +#endif + +/** + * The WEBSITE_URL is the location where users can get more information such as + * documentation about a specific Marlin release. + */ +#ifndef WEBSITE_URL + #define WEBSITE_URL "${WEBSITE_URL}" +#endif + +EOF -- cgit v1.2.3