Serenity Operating System
at master 37 lines 777 B view raw
1#!/bin/sh 2 3set -e 4 5OUTPUT_FILE=$1 6 7if command -v git >/dev/null; then 8 if git status >/dev/null 2>&1; then 9 GIT_HASH=$( (git log --pretty=format:'%h' -n 1 | cut -c1-7) || true ) 10 # There is at least one modified file as reported by git. 11 if git status --porcelain=v2 | head | grep -Ei '^1' >/dev/null; then 12 GIT_HASH="${GIT_HASH}-modified" 13 fi 14 else 15 GIT_HASH=unknown 16 fi 17else 18 GIT_HASH=unknown 19fi 20 21 22cat << EOF > "$OUTPUT_FILE" 23/* 24 * Automatically generated by Kernel/generate-version-file.sh 25 */ 26 27#pragma once 28#include <AK/StringView.h> 29 30namespace Kernel { 31 32constexpr unsigned SERENITY_MAJOR_REVISION = 1; 33constexpr unsigned SERENITY_MINOR_REVISION = 0; 34constexpr StringView SERENITY_VERSION = "${GIT_HASH}"sv; 35 36} 37EOF