| #!/bin/bash |
| # |
| # Copyright 2017-present The Material Motion Authors. All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # Fail on any error. |
| set -e |
| |
| # Display commands to stderr. |
| set -x |
| |
| BAZEL_VERSION="0.20.0" |
| |
| fix_bazel_imports() { |
| if [ -z "$KOKORO_BUILD_NUMBER" ]; then |
| repo_prefix="" |
| else |
| repo_prefix="github/repo/" |
| fi |
| |
| # Fixes a bug in bazel where objc_library targets have a _ prefix. |
| find "${repo_prefix}tests/unit" -type f -name '*.swift' -exec sed -i '' -E "s/import Motion(.+)/import _Motion\1/" {} + || true |
| stashed_dir=$(pwd) |
| reset_imports() { |
| # Undoes our source changes from above. |
| find "${stashed_dir}/${tests_dir_prefix}tests/unit" -type f -name '*.swift' -exec sed -i '' -E "s/import _Motion(.+)/import Motion\1/" {} + || true |
| } |
| trap reset_imports EXIT |
| } |
| |
| run_bazel() { |
| echo "Running bazel builds..." |
| |
| fix_bazel_imports |
| |
| if [ -n "$KOKORO_BUILD_NUMBER" ]; then |
| bazel version |
| use_bazel.sh "$BAZEL_VERSION" |
| bazel version |
| |
| # Move into our cloned repo |
| cd github/repo |
| fi |
| |
| # Run against whichever Xcode is currently selected. |
| selected_xcode_developer_path=$(xcode-select -p) |
| selected_xcode_contents_path=$(dirname "$selected_xcode_developer_path") |
| |
| xcode_version=$(cat "$selected_xcode_contents_path/version.plist" \ |
| | grep "CFBundleShortVersionString" -A1 \ |
| | grep string \ |
| | cut -d'>' -f2 \ |
| | cut -d'<' -f1) |
| |
| bazel clean |
| bazel test //... --xcode_version $xcode_version --ios_minimum_os=9.0 --ios_multi_cpus=i386,x86_64 --test_output=all |
| } |
| |
| run_bazel |
| |
| echo "Success!" |