mirror of
				https://github.com/coredns/coredns.git
				synced 2025-10-27 16:24:19 -04:00 
			
		
		
		
	
		
			
	
	
		
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
|   | #!/usr/bin/env bash
 | ||
|  | # | ||
|  | # Caddy build script. Automates proper versioning. | ||
|  | # | ||
|  | # Usage: | ||
|  | # | ||
|  | #     $ ./build.bash [output_filename] | ||
|  | # | ||
|  | # Outputs compiled program in current directory. | ||
|  | # Default file name is 'ecaddy'. | ||
|  | # | ||
|  | set -e | ||
|  | 
 | ||
|  | output="$1" | ||
|  | if [ -z "$output" ]; then | ||
|  | 	output="ecaddy" | ||
|  | fi | ||
|  | 
 | ||
|  | pkg=main | ||
|  | 
 | ||
|  | # Timestamp of build | ||
|  | builddate_id=$pkg.buildDate | ||
|  | builddate=`date -u` | ||
|  | 
 | ||
|  | # Current tag, if HEAD is on a tag | ||
|  | tag_id=$pkg.gitTag | ||
|  | set +e | ||
|  | tag=`git describe --exact-match HEAD 2> /dev/null` | ||
|  | set -e | ||
|  | 
 | ||
|  | # Nearest tag on branch | ||
|  | lasttag_id=$pkg.gitNearestTag | ||
|  | lasttag=`git describe --abbrev=0 --tags HEAD` | ||
|  | 
 | ||
|  | # Commit SHA | ||
|  | commit_id=$pkg.gitCommit | ||
|  | commit=`git rev-parse --short HEAD` | ||
|  | 
 | ||
|  | # Summary of uncommited changes | ||
|  | shortstat_id=$pkg.gitShortStat | ||
|  | shortstat=`git diff-index --shortstat HEAD` | ||
|  | 
 | ||
|  | # List of modified files | ||
|  | files_id=$pkg.gitFilesModified | ||
|  | files=`git diff-index --name-only HEAD` | ||
|  | 
 | ||
|  | 
 | ||
|  | go build -ldflags "
 | ||
|  | 	-X \"$builddate_id=$builddate\" | ||
|  | 	-X \"$tag_id=$tag\" | ||
|  | 	-X \"$lasttag_id=$lasttag\" | ||
|  | 	-X \"$commit_id=$commit\" | ||
|  | 	-X \"$shortstat_id=$shortstat\" | ||
|  | 	-X \"$files_id=$files\" | ||
|  | " -o "$output"
 |