mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-03 18:53:13 -05: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"
							 |