mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 15:52:43 +00:00 
			
		
		
		
	 7c05eed487
			
		
	
	
		7c05eed487
		
	
	
	
	
		
			
			This is done by generating a Kernel/Version.h header with major version, minor version, and git hash.
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			777 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			777 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| set -e
 | |
| 
 | |
| OUTPUT_FILE=$1
 | |
| 
 | |
| if command -v git >/dev/null; then
 | |
|     if git status >/dev/null 2>&1; then
 | |
|         GIT_HASH=$( (git log --pretty=format:'%h' -n 1 | cut -c1-7) || true )
 | |
|         # There is at least one modified file as reported by git.
 | |
|         if git status --porcelain=v2 | head | grep -Ei '^1' >/dev/null; then
 | |
|             GIT_HASH="${GIT_HASH}-modified"
 | |
|         fi
 | |
|     else
 | |
|         GIT_HASH=unknown
 | |
|     fi
 | |
| else
 | |
|     GIT_HASH=unknown
 | |
| fi
 | |
| 
 | |
| 
 | |
| cat << EOF > "$OUTPUT_FILE"
 | |
| /*
 | |
|  * Automatically generated by Kernel/generate-version-file.sh
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| #include <AK/StringView.h>
 | |
| 
 | |
| namespace Kernel {
 | |
| 
 | |
| constexpr unsigned SERENITY_MAJOR_REVISION = 1;
 | |
| constexpr unsigned SERENITY_MINOR_REVISION = 0;
 | |
| constexpr StringView SERENITY_VERSION = "${GIT_HASH}"sv;
 | |
| 
 | |
| }
 | |
| EOF
 |