blob: 3ad57df631fd23f2cc55dac68433a5736cdb3c05 [file] [log] [blame]
#!/bin/bash
#
# Copyright 2017-present The Material Foundation 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
KOKORO_RUNNER_VERSION="v3.*"
fix_bazel_imports() {
if [ -z "$KOKORO_BUILD_NUMBER" ]; then
tests_dir_prefix=""
else
tests_dir_prefix="github/repo/"
fi
rewrite_source() {
find "${stashed_dir}${tests_dir_prefix}Tests" -type f -name '*.h' -exec sed -i '' -E "$1" {} + || true
find "${stashed_dir}${tests_dir_prefix}Tests" -type f -name '*.m' -exec sed -i '' -E "$1" {} + || true
}
# CocoaPods requires that public headers of dependent pods be implemented using framework import
# notation, while bazel requires that dependency headers be imported with quoted notation.
stashed_dir=""
rewrite_source "s/import <MDFInternationalization\/(.+)\.h>/import \"\1.h\"/"
stashed_dir="$(pwd)/"
reset_imports() {
# Undoes our source changes from above.
rewrite_source "s/import \"MDF(.+).h\"/import <MDFInternationalization\/MDF\1.h>/"
rewrite_source "s/import \"(.+)\+MaterialRTL\.h\"/import <MDFInternationalization\/\1+MaterialRTL.h>/"
}
trap reset_imports EXIT
}
if [ ! -d .kokoro-ios-runner ]; then
git clone https://github.com/material-foundation/kokoro-ios-runner.git .kokoro-ios-runner
fi
pushd .kokoro-ios-runner
git fetch > /dev/null
TAG=$(git tag --sort=v:refname -l "$KOKORO_RUNNER_VERSION" | tail -n1)
git checkout "$TAG" > /dev/null
popd
fix_bazel_imports
./.kokoro-ios-runner/bazel.sh test //:UnitTests 8.1.0
echo "Success!"