88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| MASON_COMMAND=$1 ; shift
 | |
| MASON_NAME=$1 ; shift
 | |
| MASON_VERSION=$1 ; shift
 | |
| 
 | |
| set -e
 | |
| set -o pipefail
 | |
| 
 | |
| MASON_RELEASED_VERSION="0.4.0"
 | |
| 
 | |
| if [ "${MASON_COMMAND}" = "--version" ]; then
 | |
|     echo ${MASON_RELEASED_VERSION}
 | |
|     exit 0
 | |
| fi
 | |
| 
 | |
| function usage {
 | |
|     echo "Usage: $0 <command> <lib> <version>"
 | |
| }
 | |
| 
 | |
| if [ -z "${MASON_COMMAND}" ]; then
 | |
|     usage
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| ROOTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null && pwd )"
 | |
| MASON_DIR=${MASON_DIR:-$ROOTDIR}
 | |
| 
 | |
| if [ "${MASON_COMMAND}" = "env" ]; then
 | |
|     . ${MASON_DIR}/mason.sh > /dev/null
 | |
|     eval echo \$${MASON_NAME}
 | |
|     exit
 | |
| fi
 | |
| 
 | |
| if [ -z "${MASON_NAME}" ]; then
 | |
|     usage
 | |
|     echo "Missing <lib>"
 | |
|     exit 1
 | |
| elif [ -z "${MASON_VERSION}" ]; then
 | |
|     usage
 | |
|     echo "Missing <version>"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| if [ "${MASON_COMMAND}" = "trigger" ]; then
 | |
|     if [ -z "${MASON_TRAVIS_TOKEN}" ]; then
 | |
|         echo "MASON_TRAVIS_TOKEN is not set."
 | |
|         exit 1
 | |
|     fi
 | |
| 
 | |
|     config=$(ruby <<RUBY
 | |
|     require 'yaml'
 | |
|     require 'json'
 | |
|     config = YAML.load_file("scripts/${MASON_NAME}/${MASON_VERSION}/.travis.yml")
 | |
|     config["env"] ||= {}
 | |
|     config["env"]["global"] ||= []
 | |
|     config["env"]["global"] << {"secure" => "VI6PAoen/TwUM2ynPt8890HKq6zc/e/jTZwYX1D9/BdzkOrTcztxZxO9hP5lsnYeqcNeLXgHpO4LVxm95gjodLLkSXUNW6JndRaiCVHS7dwkN+Oe9XWJajw5z1fRJjnCxhgICfHK/J3H+klKtvOJb2OMDc6W7UAoH/OWGDbBJ5w="}
 | |
|     config["env"]["global"] << {"secure" => "BVefSxpbYyQbruXm61pDwnawEN0KdvM865muccfEshAM9pPxd24NoB7JYeUdkktgWnO3QCmy3RTw0ck7DbjHTt0HT6AqXcNFYjCxbLWM+jmQDnDv8bxWas/2XU8jP+vK+OUDsYE5IL7ZevBYPY1dUWv6fOQt7NPKnhoar9KsDoQ="}
 | |
|     config["env"]["global"] << "MASON_NAME=${MASON_NAME}" << "MASON_VERSION=${MASON_VERSION}"
 | |
|     puts JSON.pretty_generate(config)
 | |
| RUBY
 | |
|     )
 | |
| 
 | |
|     body="{
 | |
|       \"request\": {
 | |
|         \"message\": \"Building ${MASON_NAME} ${MASON_VERSION}\",
 | |
|         \"branch\": \"$(git rev-parse --abbrev-ref HEAD)\",
 | |
|         \"config\": ${config}
 | |
|       }
 | |
|     }"
 | |
| 
 | |
|     curl -s -X POST https://api.travis-ci.org/repo/mapbox%2Fmason/requests \
 | |
|         -H "Content-Type: application/json" \
 | |
|         -H "Accept: application/json" \
 | |
|         -H "Travis-API-Version: 3" \
 | |
|         -H "Authorization: token ${MASON_TRAVIS_TOKEN}" \
 | |
|         -d "$body"
 | |
| 
 | |
|     echo "Now go to https://travis-ci.org/mapbox/mason/builds to view build status"
 | |
| 
 | |
|     exit
 | |
| fi
 | |
| 
 | |
| . ${MASON_DIR}/mason.sh
 | |
| 
 | |
| export MASON_DIR
 | |
| bash "${MASON_DIR}/scripts/${MASON_NAME}/${MASON_VERSION}/script.sh" "${MASON_COMMAND}" "$@"
 |