| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | #!/bin/bash
 | 
					
						
							|  |  |  | set -e | 
					
						
							|  |  |  | set +x | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [[ ($1 == '--help') || ($1 == '-h') ]]; then | 
					
						
							|  |  |  |   echo "usage: $(basename $0) [firefox|webkit] [-f|--force]" | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo "Prepares checkout under browser folder, applies patches, builds, archives, and uploades if build is missing." | 
					
						
							|  |  |  |   echo "Script will bail out early if the build for the browser version is already present." | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo "Pass -f to upload anyway." | 
					
						
							|  |  |  |   echo | 
					
						
							|  |  |  |   echo "NOTE: This script is safe to run in a cronjob - it aquires a lock so that it does not run twice." | 
					
						
							|  |  |  |   exit 0 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [[ $# == 0 ]]; then | 
					
						
							|  |  |  |   echo "missing browser: 'firefox' or 'webkit'" | 
					
						
							|  |  |  |   echo "try './$(basename $0) --help' for more information" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | BROWSER_NAME="" | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | FFOX_WIN64="" | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | if [[ ("$1" == "firefox") || ("$1" == "firefox/") ]]; then | 
					
						
							|  |  |  |   BROWSER_NAME="firefox" | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  |   if [[ ("$2" == "--win64") || ("$3" == "--win64") ]]; then | 
					
						
							|  |  |  |     FFOX_WIN64="--win64" | 
					
						
							|  |  |  |   fi | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | elif [[ ("$1" == "webkit") || ("$1" == "webkit/") ]]; then | 
					
						
							|  |  |  |   BROWSER_NAME="webkit" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   echo ERROR: unknown browser - "$1" | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-22 17:16:47 -08:00
										 |  |  | if [[ $(uname) == MINGW* ]]; then | 
					
						
							|  |  |  |   ZIP_PATH="$PWD/archive-$BROWSER_NAME.zip" | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   ZIP_PATH="/tmp/archive-$BROWSER_NAME.zip" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | if [[ -f $ZIP_PATH ]]; then | 
					
						
							|  |  |  |   echo "Archive $ZIP_PATH already exists - remove and re-run the script." | 
					
						
							|  |  |  |   exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | # - make sure the lockfile is removed when we exit and then claim it | 
					
						
							|  |  |  | trap "rm -rf ${ZIP_PATH}; cd $(pwd -P); exit" INT TERM EXIT | 
					
						
							|  |  |  | cd "$(dirname "$0")" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # pull from upstream and check if a new build has to be uploaded. | 
					
						
							|  |  |  | if ! [[ ($2 == '-f') || ($2 == '--force') ]]; then | 
					
						
							| 
									
										
										
										
											2019-11-25 14:01:30 -08:00
										 |  |  |   if ./upload.sh $BROWSER_NAME --check $FFOX_WIN64; then | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  |     echo "Build is already uploaded - no changes." | 
					
						
							|  |  |  |     exit 0 | 
					
						
							|  |  |  |   else | 
					
						
							|  |  |  |     echo "Build is missing - rebuilding" | 
					
						
							|  |  |  |   fi | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   echo "Force-rebuilding the build." | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "-- preparing checkout" | 
					
						
							| 
									
										
										
										
											2019-11-21 17:06:57 -08:00
										 |  |  | ./prepare_checkout.sh $BROWSER_NAME | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-22 19:07:39 -08:00
										 |  |  | echo "-- cleaning" | 
					
						
							|  |  |  | ./$BROWSER_NAME/clean.sh | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- building" | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | if [[ $BROWSER_NAME == "firefox" ]]; then | 
					
						
							|  |  |  |   ./$BROWSER_NAME/build.sh $FFOX_WIN64 | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |   ./$BROWSER_NAME/build.sh | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- archiving to $ZIP_PATH" | 
					
						
							|  |  |  | ./$BROWSER_NAME/archive.sh $ZIP_PATH | 
					
						
							| 
									
										
										
										
											2019-11-22 20:49:40 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-11-21 15:25:46 -08:00
										 |  |  | echo "-- uploading" | 
					
						
							| 
									
										
										
										
											2019-11-25 15:57:52 -08:00
										 |  |  | ./upload.sh $BROWSER_NAME $ZIP_PATH $FFOX_WIN64 |