1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/usr/bin/env bash
- #
- # Copyright (c) Contributors to the Open 3D Engine Project.
- # For complete copyright and license terms please see the LICENSE at the root of this distribution.
- #
- # SPDX-License-Identifier: Apache-2.0 OR MIT
- #
- #
- set -o errexit # exit on the first failure encountered
- # Jenkins defines environment variables for parameters and passes "false" to variables
- # that are not set. Here we clear them if they are false so we can also just define them
- # from command line
- if [[ "${CLEAN_ASSETS}" == "false" ]]; then
- CLEAN_ASSETS=
- fi
- if [[ "${CLEAN_OUTPUT_DIRECTORY}" == "false" ]]; then
- CLEAN_OUTPUT_DIRECTORY=
- fi
- if [[ -n "$CLEAN_ASSETS" ]]; then
- echo "[ci_build] CLEAN_ASSETS option set"
- for project in $(echo $CMAKE_LY_PROJECTS | sed "s/;/ /g")
- do
- if [[ -d "$project/Cache" ]]; then
- echo "[ci_build] Deleting \"$project/Cache\""
- rm -rf $project/Cache
- fi
- done
- fi
- # If the node label changes, we issue a clean output since node changes can change SDK/CMake/toolchains/etc
- LAST_CONFIGURE_NODE_LABEL_FILE=ci_last_node_label.txt
- if [[ -n "$NODE_LABEL" ]]; then
- if [[ -d $OUTPUT_DIRECTORY ]]; then
- pushd $OUTPUT_DIRECTORY
- if [[ -e ${LAST_CONFIGURE_NODE_LABEL_FILE} ]]; then
- LAST_NODE_LABEL=$(<${LAST_CONFIGURE_NODE_LABEL_FILE})
- else
- LAST_NODE_LABEL=
- fi
- # Detect if the node label has changed
- if [[ "${LAST_NODE_LABEL}" != "${NODE_LABEL}" ]]; then
- echo [ci_build] Last run was done with node label \"${LAST_NODE_LABEL}\", new node label is \"${NODE_LABEL}\", forcing CLEAN_OUTPUT_DIRECTORY
- CLEAN_OUTPUT_DIRECTORY=1
- fi
- popd
- fi
- fi
- if [[ -n "$CLEAN_OUTPUT_DIRECTORY" ]]; then
- echo "[ci_build] CLEAN_OUTPUT_DIRECTORY option set"
- if [[ -d $OUTPUT_DIRECTORY ]]; then
- echo "[ci_build] Deleting \"${OUTPUT_DIRECTORY}\""
- rm -rf ${OUTPUT_DIRECTORY}
- fi
- fi
- mkdir -p ${OUTPUT_DIRECTORY}
- # Save the node label
- pushd $OUTPUT_DIRECTORY
- echo "${NODE_LABEL}" > ${LAST_CONFIGURE_NODE_LABEL_FILE}
- popd
|