Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
#!/bin/bash |
|
# |
|
# Build file to set up and run tests based on distribution archive |
|
|
|
set -eux |
|
|
|
# Change to repo root |
|
cd $(dirname $0)/../../.. |
|
|
|
# |
|
# Update git submodules |
|
# |
|
git submodule update --init --recursive |
|
|
|
# |
|
# Build distribution archive |
|
# |
|
# TODO: this should use Bazel-built dist archives. |
|
date ; ./autogen.sh |
|
date ; ./configure |
|
date ; make dist |
|
date |
|
|
|
DIST_ARCHIVE=( $(ls protobuf-*.tar.gz) ) |
|
if (( ${#DIST_ARCHIVE[@]} != 1 )); then |
|
echo >&2 "Distribution archive not found. ${#DIST_ARCHIVE[@]} matches:" |
|
echo >&2 "${DIST_ARCHIVE[@]}" |
|
exit 1 |
|
fi |
|
|
|
# |
|
# Check for all expected files |
|
# |
|
kokoro/common/check_missing_dist_files.sh ${DIST_ARCHIVE} |
|
|
|
# |
|
# Extract to a temporary directory |
|
# |
|
if [[ -z ${DIST_WORK_ROOT:-} ]]; then |
|
# If you want to preserve the extracted sources, set the DIST_WORK_ROOT |
|
# environment variable to an existing directory that should be used. |
|
DIST_WORK_ROOT=$(mktemp -d) |
|
function cleanup_work_root() { |
|
echo "Cleaning up temporary directory ${DIST_WORK_ROOT}..." |
|
rm -rf ${DIST_WORK_ROOT} |
|
} |
|
trap cleanup_work_root EXIT |
|
fi |
|
|
|
tar -C ${DIST_WORK_ROOT} --strip-components=1 -axf ${DIST_ARCHIVE} |
|
|
|
# |
|
# Run tests using extracted sources |
|
# |
|
SOURCE_DIR=${DIST_WORK_ROOT} \ |
|
CMAKE_GENERATOR=Ninja \ |
|
CTEST_PARALLEL_LEVEL=$(nproc) \ |
|
kokoro/common/cmake.sh |
|
|
|
echo "PASS"
|
|
|