@ -2,8 +2,6 @@
#
# Helper to do build so you don't have to remember all the steps/args.
echo "::group::Run full mac build"
set -eu
# Some base locations.
@ -12,7 +10,7 @@ readonly ProtoRootDir="${ScriptDir}/../.."
readonly BazelFlags = " ${ BAZEL_FLAGS :- --announce_rc --macos_minimum_os=10.9 } "
# Invoke with BAZEL=bazelisk to use that instead.
readonly BazelBin = " ${ BAZEL :- bazel } ${ BAZEL_STARTUP_FLAGS :- } "
readonly BazelBin = " ${ BAZEL :- bazel } "
printUsage( ) {
NAME = $( basename " ${ 0 } " )
@ -29,9 +27,6 @@ OPTIONS:
Show this message
-c, --clean
Issue a clean before the normal build.
-r, --regenerate-descriptors
Run generate_descriptor_proto.sh to regenerate all the checked in
proto sources.
--full-build
By default only protoc is built within protobuf, this option will
enable a full build/test of the entire protobuf project.
@ -76,7 +71,6 @@ else
fi
DO_CLEAN = no
REGEN_DESCRIPTORS = no
FULL_BUILD = no
DO_XCODE_IOS_TESTS = yes
DO_XCODE_OSX_TESTS = yes
@ -94,9 +88,6 @@ while [[ $# != 0 ]]; do
-c | --clean )
DO_CLEAN = yes
; ;
-r | --regenerate-descriptors )
REGEN_DESCRIPTORS = yes
; ;
--full-build )
FULL_BUILD = yes
; ;
@ -190,17 +181,12 @@ if [[ "${DO_CLEAN}" == "yes" ]] ; then
fi
fi
if [ [ " ${ REGEN_DESCRIPTORS } " = = "yes" ] ] ; then
header "Regenerating the descriptor sources."
./generate_descriptor_proto.sh
fi
if [ [ " ${ FULL_BUILD } " = = "yes" ] ] ; then
header "Build/Test: everything"
time ${ BazelBin } test //:protoc //:protobuf //src/... $BazelFlags
${ BazelBin } test //:protoc //:protobuf //src/... $BazelFlags
else
header "Building: protoc"
time ${ BazelBin } build //:protoc $BazelFlags
${ BazelBin } build //:protoc $BazelFlags
fi
# Ensure the WKT sources checked in are current.
@ -233,8 +219,7 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
if [ [ " ${ XCODE_QUIET } " = = "yes" ] ] ; then
XCODEBUILD_TEST_BASE_IOS += ( -quiet )
fi
# Don't need to worry about form factors or retina/non retina;
# just pick a mix of OS Versions and 32/64 bit.
# Don't need to worry about form factors or retina/non retina.
# NOTE: Different Xcode have different simulated hardware/os support.
case " ${ XCODE_VERSION } " in
[ 6-9] .* | 1[ 0-2] .* )
@ -242,9 +227,8 @@ if [[ "${DO_XCODE_IOS_TESTS}" == "yes" ]] ; then
exit 11
; ;
13.* | 14.*)
# Dropped 32bit as Apple doesn't seem support the simulators either.
XCODEBUILD_TEST_BASE_IOS += (
-destination "platform=iOS Simulator,name=iPhone 8,OS=latest" # 64bit
-destination "platform=iOS Simulator,name=iPhone 13,OS=latest"
)
; ;
* )
@ -271,8 +255,7 @@ if [[ "${DO_XCODE_OSX_TESTS}" == "yes" ]] ; then
" ${ XCODEBUILD } "
-project objectivec/ProtocolBuffers_OSX.xcodeproj
-scheme ProtocolBuffers
# Since the ObjC 2.0 Runtime is required, 32bit OS X isn't supported.
-destination "platform=OS X,arch=x86_64" # 64bit
-destination "platform=macOS"
)
if [ [ " ${ XCODE_QUIET } " = = "yes" ] ] ; then
XCODEBUILD_TEST_BASE_OSX += ( -quiet )
@ -331,10 +314,8 @@ fi
if [ [ " ${ DO_OBJC_CONFORMANCE_TESTS } " = = "yes" ] ] ; then
header "Running ObjC Conformance Tests"
time ${ BazelBin } test //objectivec:conformance_test $BazelFlags
${ BazelBin } test //objectivec:conformance_test $BazelFlags
fi
echo ""
echo " $( basename " ${ 0 } " ) : Success! "
echo "::endgroup::"