mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	 9a71038e34
			
		
	
	
		9a71038e34
		
			
		
	
	
	
	
		
			
			This allows to generate the `VERSION_HASH` constant with the Git commit hash even when building from a source tarball which is not a Git repository (and without dependency on Git itself).
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| if [ ! -e "version.py" ]; then
 | |
|   echo "This script should be ran from the root folder of the Godot repository."
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| while getopts "h?sv:g:" opt; do
 | |
|   case "$opt" in
 | |
|   h|\?)
 | |
|     echo "Usage: $0 [OPTIONS...]"
 | |
|     echo
 | |
|     echo "  -s script friendly file name (godot.tar.gz)"
 | |
|     echo "  -v godot version for file name (e.g. 4.0-stable)"
 | |
|     echo "  -g git treeish to archive (e.g. master)"
 | |
|     echo
 | |
|     exit 1
 | |
|     ;;
 | |
|   s)
 | |
|     script_friendly_name=1
 | |
|     ;;
 | |
|   v)
 | |
|     godot_version=$OPTARG
 | |
|     ;;
 | |
|   g)
 | |
|     git_treeish=$OPTARG
 | |
|     ;;
 | |
|   esac
 | |
| done
 | |
| 
 | |
| if [ ! -z "$git_treeish" ]; then
 | |
|   HEAD=$(git rev-parse $git_treeish)
 | |
| else
 | |
|   HEAD=$(git rev-parse HEAD)
 | |
| fi
 | |
| 
 | |
| if [ ! -z "$script_friendly_name" ]; then
 | |
|   NAME=godot
 | |
| else
 | |
|   if [ ! -z "$godot_version" ]; then
 | |
|     NAME=godot-$godot_version
 | |
|   else
 | |
|     NAME=godot-$HEAD
 | |
|   fi
 | |
| fi
 | |
| 
 | |
| CURDIR=$(pwd)
 | |
| TMPDIR=$(mktemp -d -t godot-XXXXXX)
 | |
| 
 | |
| echo "Generating tarball for revision $HEAD with folder name '$NAME'."
 | |
| echo
 | |
| echo "The tarball will be written to the parent folder:"
 | |
| echo "    $(dirname $CURDIR)/$NAME.tar.gz"
 | |
| 
 | |
| git archive $HEAD --prefix=$NAME/ -o $TMPDIR/$NAME.tar
 | |
| 
 | |
| # Adding custom .git/HEAD to tarball so that we can generate VERSION_HASH.
 | |
| cd $TMPDIR
 | |
| mkdir -p $NAME/.git
 | |
| echo $HEAD > $NAME/.git/HEAD
 | |
| tar -uf $NAME.tar $NAME
 | |
| 
 | |
| cd $CURDIR
 | |
| gzip -c $TMPDIR/$NAME.tar > ../$NAME.tar.gz
 | |
| 
 | |
| rm -rf $TMPDIR
 |