#!/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.7.0" if [ "${MASON_COMMAND}" = "--version" ]; then echo ${MASON_RELEASED_VERSION} exit 0 fi function usage { echo "Usage: $0 " } 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 " exit 1 elif [ -z "${MASON_VERSION}" ]; then usage echo "Missing " 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 < "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}" "$@"