mirror of
				https://github.com/coredns/coredns.git
				synced 2025-11-04 03:03:14 -05:00 
			
		
		
		
	
		
			
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| 
								 | 
							
								#!/usr/bin/env bash
							 | 
						||
| 
								 | 
							
								set -e
							 | 
						||
| 
								 | 
							
								set -o pipefail
							 | 
						||
| 
								 | 
							
								shopt -s nullglob # if no files match glob, assume empty list instead of string literal
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## PACKAGE TO BUILD
							 | 
						||
| 
								 | 
							
								Package=github.com/mholt/caddy
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## PATHS TO USE
							 | 
						||
| 
								 | 
							
								DistDir=$GOPATH/src/$Package/dist
							 | 
						||
| 
								 | 
							
								BuildDir=$DistDir/builds
							 | 
						||
| 
								 | 
							
								ReleaseDir=$DistDir/release
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## BEGIN
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Compile binaries
							 | 
						||
| 
								 | 
							
								mkdir -p $BuildDir
							 | 
						||
| 
								 | 
							
								cd $BuildDir
							 | 
						||
| 
								 | 
							
								rm -f caddy*
							 | 
						||
| 
								 | 
							
								gox $Package
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Zip them up with release notes and stuff
							 | 
						||
| 
								 | 
							
								mkdir -p $ReleaseDir
							 | 
						||
| 
								 | 
							
								cd $ReleaseDir
							 | 
						||
| 
								 | 
							
								rm -f caddy*
							 | 
						||
| 
								 | 
							
								for f in $BuildDir/*
							 | 
						||
| 
								 | 
							
								do
							 | 
						||
| 
								 | 
							
									# Name .zip file same as binary, but strip .exe from end
							 | 
						||
| 
								 | 
							
									zipname=$(basename ${f%".exe"})
							 | 
						||
| 
								 | 
							
									if [[ $f == *"linux"* ]] || [[ $f == *"bsd"* ]]; then
							 | 
						||
| 
								 | 
							
										zipname=${zipname}.tar.gz
							 | 
						||
| 
								 | 
							
									else
							 | 
						||
| 
								 | 
							
										zipname=${zipname}.zip
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									# Binary inside the zip file is simply the project name
							 | 
						||
| 
								 | 
							
									binbase=$(basename $Package)
							 | 
						||
| 
								 | 
							
									if [[ $f == *.exe ]]; then
							 | 
						||
| 
								 | 
							
										binbase=$binbase.exe
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
									bin=$BuildDir/$binbase
							 | 
						||
| 
								 | 
							
									mv $f $bin
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									# Compress distributable
							 | 
						||
| 
								 | 
							
									if [[ $zipname == *.zip ]]; then
							 | 
						||
| 
								 | 
							
										zip -j $zipname $bin $DistDir/CHANGES.txt $DistDir/LICENSES.txt $DistDir/README.txt
							 | 
						||
| 
								 | 
							
									else
							 | 
						||
| 
								 | 
							
										tar -cvzf $zipname -C $BuildDir $binbase -C $DistDir CHANGES.txt LICENSES.txt README.txt
							 | 
						||
| 
								 | 
							
									fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									# Put binary filename back to original
							 | 
						||
| 
								 | 
							
									mv $bin $f
							 | 
						||
| 
								 | 
							
								done
							 |