diff --git a/.clang-tidy b/.clang-tidy index 2a8ade0ec8e20..eb727b3bf02ab 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -115,7 +115,12 @@ Checks: > -bugprone-implicit-widening-of-multiplication-result, -bugprone-unchecked-optional-access, -bugprone-unused-local-non-trivial-variable, - -bugprone-unused-return-value + -bugprone-unused-return-value, + -readability-use-concise-preprocessor-directives, + -readability-math-missing-parentheses, + -readability-enum-initial-value, + -modernize-use-scoped-lock, + -readability-redundant-parentheses # Turn all the warnings from the checks above into errors. WarningsAsErrors: "*" diff --git a/ci/cloudbuild/builds/bazel-oldest.sh b/ci/cloudbuild/builds/bazel-oldest.sh index c1697dde77971..6740c3edf5549 100755 --- a/ci/cloudbuild/builds/bazel-oldest.sh +++ b/ci/cloudbuild/builds/bazel-oldest.sh @@ -33,5 +33,7 @@ args+=( --enable_workspace # Only run the unit tests, no need to waste time running everything. --test_tag_filters=-integration-test + # Disable warnings as errors for boringssl. + --per_file_copt=boringssl//@-Wno-error ) io::run bazel test "${args[@]}" -- "${BAZEL_TARGETS[@]}" diff --git a/ci/cloudbuild/builds/clang-cxx20.sh b/ci/cloudbuild/builds/clang-cxx20.sh index 1b73392eb762c..8aa512d8fe269 100755 --- a/ci/cloudbuild/builds/clang-cxx20.sh +++ b/ci/cloudbuild/builds/clang-cxx20.sh @@ -32,10 +32,12 @@ read -r ENABLED_FEATURES < <(features::always_build_cmake) ENABLED_FEATURES="${ENABLED_FEATURES},__ga_libraries__" readonly ENABLED_FEATURES +# Enabling deprecated-declarations requires operator<=>() io::run cmake "${cmake_args[@]}" \ -DCMAKE_CXX_STANDARD=20 \ -DGOOGLE_CLOUD_CPP_ENABLE_CLANG_ABI_COMPAT_17=ON \ - -DGOOGLE_CLOUD_CPP_ENABLE="${ENABLED_FEATURES}" + -DGOOGLE_CLOUD_CPP_ENABLE="${ENABLED_FEATURES}" \ + -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" io::run cmake --build cmake-out mapfile -t ctest_args < <(ctest::common_args) io::run env -C cmake-out ctest "${ctest_args[@]}" -LE "integration-test" diff --git a/ci/cloudbuild/builds/coverage.sh b/ci/cloudbuild/builds/coverage.sh index e60e3ab160307..3c1758ff19b5d 100755 --- a/ci/cloudbuild/builds/coverage.sh +++ b/ci/cloudbuild/builds/coverage.sh @@ -21,8 +21,10 @@ source module ci/cloudbuild/builds/lib/bazel.sh source module ci/cloudbuild/builds/lib/cloudcxxrc.sh source module ci/cloudbuild/builds/lib/integration.sh -export CC=gcc -export CXX=g++ +#export CC=gcc +#export CXX=g++ +export CC=clang +export CXX=clang++ # Explicitly list the patterns that match hand-crafted code. Excluding the # generated code results in a longer list and more maintenance. diff --git a/ci/cloudbuild/builds/cxx20.sh b/ci/cloudbuild/builds/cxx20.sh index a6f5ceda9ef2a..c56d77a38575d 100755 --- a/ci/cloudbuild/builds/cxx20.sh +++ b/ci/cloudbuild/builds/cxx20.sh @@ -32,10 +32,12 @@ read -r ENABLED_FEATURES < <(features::always_build_cmake) ENABLED_FEATURES="${ENABLED_FEATURES},__ga_libraries__" readonly ENABLED_FEATURES +# Enabling deprecated-declarations requires operator<=>() io::run cmake "${cmake_args[@]}" \ -DCMAKE_CXX_STANDARD=20 \ -DGOOGLE_CLOUD_CPP_ENABLE_CLANG_ABI_COMPAT_17=ON \ - -DGOOGLE_CLOUD_CPP_ENABLE="${ENABLED_FEATURES}" + -DGOOGLE_CLOUD_CPP_ENABLE="${ENABLED_FEATURES}" \ + -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" io::run cmake --build cmake-out mapfile -t ctest_args < <(ctest::common_args) io::run env -C cmake-out ctest "${ctest_args[@]}" -LE "integration-test" diff --git a/ci/cloudbuild/builds/demo-install.sh b/ci/cloudbuild/builds/demo-install.sh index 4f9ccd0343eae..4b85221429311 100755 --- a/ci/cloudbuild/builds/demo-install.sh +++ b/ci/cloudbuild/builds/demo-install.sh @@ -53,7 +53,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install diff --git a/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile b/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile index 302e5b7bf392a..9651f1ea79e51 100644 --- a/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile +++ b/ci/cloudbuild/dockerfiles/demo-fedora.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ## [BEGIN packaging.md] @@ -26,13 +26,14 @@ RUN dnf makecache && \ RUN dnf makecache && dnf debuginfo-install -y glibc # ``` -# Fedora:40 includes packages, with recent enough versions, for most of the +# Fedora:44 includes packages, with recent enough versions, for most of the # direct dependencies of `google-cloud-cpp`. # ```bash RUN dnf makecache && \ - dnf install -y protobuf-compiler protobuf-devel grpc-cpp grpc-devel \ - json-devel libcurl-devel openssl-devel + dnf install -y \ + json-devel libcurl-devel libpfm-devel \ + openssl-devel openssl-devel-engine # ``` # #### Patching pkg-config @@ -63,6 +64,23 @@ RUN curl -fsSL https://distfiles.ariadne.space/pkgconf/pkgconf-2.2.0.tar.gz | \ ENV PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig # ``` +# #### Protobuf + +# ```bash +WORKDIR /var/tmp/build/protobuf +RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=yes \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_ABSL_PROVIDER=package \ + -GNinja -S . -B cmake-out && \ + cmake --build cmake-out --target install && \ + ldconfig && cd /var/tmp && rm -fr build +# ``` + # #### opentelemetry-cpp # ```bash @@ -83,6 +101,33 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24 ldconfig # ``` +# #### gRPC + +# ```bash +WORKDIR /var/tmp/build/grpc +RUN dnf makecache && dnf install -y c-ares-devel re2-devel +RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL=ON \ + -DgRPC_BUILD_TESTS=OFF \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_OPENTELEMETRY_PROVIDER=package \ + -DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \ + -GNinja -S . -B cmake-out && \ + cmake --build cmake-out --target install && \ + ldconfig && cd /var/tmp && rm -fr build +# ``` + ## [DONE packaging.md] RUN dnf makecache && dnf install -y gdb @@ -95,4 +140,5 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca chmod +x /usr/local/bin/sccache # Update the ld.conf cache in case any libraries were installed in /usr/local/lib* +RUN (echo /usr/local/lib; echo /usr/local/lib64) | tee /etc/ld.so.conf.d/local.conf RUN ldconfig /usr/local/lib* diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-bazel.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-bazel.Dockerfile index 492d24d9e74f4..0a3a58194ef82 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-bazel.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-bazel.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ARG ARCH=amd64 @@ -64,3 +64,7 @@ RUN go version WORKDIR /var/tmp/downloads/cloud-bigtable-clients-test RUN curl -fsSL https://github.com/googleapis/cloud-bigtable-clients-test/archive/v0.0.4.tar.gz | \ tar -xzf - --strip-components=1 + +# Fedora 44 changed where it stores CA certs. +RUN ln -sf /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/tls/certs/ca-certificates.crt + diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile index a5ebcfac33e4a..515c29ab6095b 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-cmake.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ARG ARCH=amd64 @@ -23,8 +23,8 @@ RUN dnf makecache && \ dnf install -y abi-compliance-checker autoconf automake \ clang clang-analyzer clang-tools-extra \ cmake diffutils findutils gcc-c++ git \ - libcurl-devel llvm make ninja-build \ - openssl-devel patch python python3 \ + libcurl-devel libpfm-devel llvm make ninja-build \ + openssl-devel openssl-devel-engine patch python python3 \ python-pip tar unzip w3m wget which zip zlib-devel # Install the Python modules needed to run the storage emulator @@ -83,17 +83,17 @@ ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib # We disable the inline namespace because otherwise Abseil LTS updates break our # `check-api` build. -WORKDIR /var/tmp/build -RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.2.tar.gz | \ - tar -xzf - --strip-components=1 && \ - cmake \ - -DCMAKE_BUILD_TYPE="Release" \ - -DCMAKE_CXX_STANDARD=17 \ - -DABSL_BUILD_TESTING=OFF \ - -DBUILD_SHARED_LIBS=yes \ - -GNinja -S . -B cmake-out && \ - cmake --build cmake-out --target install && \ - ldconfig && cd /var/tmp && rm -fr build +#WORKDIR /var/tmp/build +#RUN curl -fsSL https://github.com/abseil/abseil-cpp/archive/20250814.2.tar.gz | \ +# tar -xzf - --strip-components=1 && \ +# cmake \ +# -DCMAKE_BUILD_TYPE="Release" \ +# -DCMAKE_CXX_STANDARD=17 \ +# -DABSL_BUILD_TESTING=OFF \ +# -DBUILD_SHARED_LIBS=yes \ +# -GNinja -S . -B cmake-out && \ +# cmake --build cmake-out --target install && \ +# ldconfig && cd /var/tmp && rm -fr build WORKDIR /var/tmp/build RUN curl -fsSL https://github.com/google/googletest/archive/v1.16.0.tar.gz | \ diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile index 05c72c0054291..435b87f5bf666 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-cxx20.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ARG ARCH=amd64 @@ -22,7 +22,8 @@ ARG ARCH=amd64 RUN dnf makecache && \ dnf install -y autoconf automake \ clang cmake diffutils findutils gcc-c++ git \ - make ninja-build patch python3 \ + libpfm-devel make ninja-build \ + openssl-devel openssl-devel-engine patch python3 \ python-pip tar unzip wget which zip zlib-devel # Install the development packages for libcurl and OpenSSL. Neither are affected @@ -185,6 +186,10 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca mv sccache /usr/local/bin/sccache && \ chmod +x /usr/local/bin/sccache +# Update the ld.conf cache in case any libraries were installed in /usr/local/lib* +RUN (echo /usr/local/lib; echo /usr/local/lib64) | tee /etc/ld.so.conf.d/local.conf +RUN ldconfig /usr/local/lib* + # Install the Cloud SDK and some of the emulators. We use the emulators to run # integration tests for the client libraries. COPY . /var/tmp/ci @@ -195,6 +200,3 @@ ENV CLOUDSDK_PYTHON=python3.10 RUN /var/tmp/ci/install-cloud-sdk.sh ENV CLOUD_SDK_LOCATION=/usr/local/google-cloud-sdk ENV PATH=${CLOUD_SDK_LOCATION}/bin:${PATH} - -# Update the ld.conf cache in case any libraries were installed in /usr/local/lib* -RUN ldconfig /usr/local/lib* diff --git a/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile index 9d1e232b3d416..d7072b23d35d0 100644 --- a/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-latest-publish-docs.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ARG ARCH=amd64 @@ -27,12 +27,12 @@ RUN dnf makecache && \ dnf install -y \ gmock-devel \ google-benchmark-devel \ - grpc-devel \ gtest-devel \ json-devel \ libcurl-devel \ + libpfm-devel \ openssl-devel \ - protobuf-devel \ + openssl-devel-engine \ pugixml-devel # This is used in the `publish-docs` build @@ -89,6 +89,42 @@ RUN curl -fsSL https://github.com/open-telemetry/opentelemetry-cpp/archive/v1.24 cmake --build cmake-out --target install && \ ldconfig && cd /var/tmp && rm -fr build +WORKDIR /var/tmp/build/protobuf +RUN curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=yes \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_ABSL_PROVIDER=package \ + -GNinja -S . -B cmake-out && \ + cmake --build cmake-out --target install && \ + ldconfig && cd /var/tmp && rm -fr build + +WORKDIR /var/tmp/build/grpc +RUN dnf makecache && dnf install -y c-ares-devel re2-devel +RUN curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL=ON \ + -DgRPC_BUILD_TESTS=OFF \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_OPENTELEMETRY_PROVIDER=package \ + -DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \ + -GNinja -S . -B cmake-out && \ + cmake --build cmake-out --target install && \ + ldconfig && cd /var/tmp && rm -fr build + WORKDIR /var/tmp/sccache RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/sccache-v0.10.0-x86_64-unknown-linux-musl.tar.gz | \ tar -zxf - --strip-components=1 && \ @@ -97,6 +133,7 @@ RUN curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.10.0/scca chmod +x /usr/local/bin/sccache # Update the ld.conf cache in case any libraries were installed in /usr/local/lib* +RUN (echo /usr/local/lib; echo /usr/local/lib64) | tee /etc/ld.so.conf.d/local.conf RUN ldconfig /usr/local/lib* # Install the Google Cloud CLI (formerly Google Cloud SDK). diff --git a/ci/cloudbuild/dockerfiles/fedora-msan.Dockerfile b/ci/cloudbuild/dockerfiles/fedora-msan.Dockerfile index d3f84f83a3f75..30ec3161d77e6 100644 --- a/ci/cloudbuild/dockerfiles/fedora-msan.Dockerfile +++ b/ci/cloudbuild/dockerfiles/fedora-msan.Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM fedora:40 +FROM fedora:44 ARG NCPU=4 ARG ARCH=amd64 diff --git a/doc/packaging.md b/doc/packaging.md index 2abb07b2bda6d..5a2e0023a426f 100644 --- a/doc/packaging.md +++ b/doc/packaging.md @@ -218,7 +218,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -239,13 +239,14 @@ sudo dnf install -y cmake curl findutils gcc-c++ git make ninja-build \ sudo dnf makecache && sudo dnf debuginfo-install -y glibc ``` -Fedora:40 includes packages, with recent enough versions, for most of the direct +Fedora:44 includes packages, with recent enough versions, for most of the direct dependencies of `google-cloud-cpp`. ```bash sudo dnf makecache && \ -sudo dnf install -y protobuf-compiler protobuf-devel grpc-cpp grpc-devel \ - json-devel libcurl-devel openssl-devel +sudo dnf install -y \ + json-devel libcurl-devel libpfm-devel \ + openssl-devel openssl-devel-engine ``` #### Patching pkg-config @@ -276,6 +277,23 @@ the search path. export PKG_CONFIG_PATH=/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/local/lib64/pkgconfig ``` +#### Protobuf + +```bash +mkdir -p $HOME/Downloads/protobuf && cd $HOME/Downloads/protobuf +curl -fsSL https://github.com/protocolbuffers/protobuf/archive/v33.1.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=yes \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_ABSL_PROVIDER=package \ + -GNinja -S . -B cmake-out && \ +sudo cmake --build cmake-out --target install && \ +sudo ldconfig && cd /var/tmp && rm -fr build +``` + #### opentelemetry-cpp ```bash @@ -296,6 +314,33 @@ sudo cmake --build cmake-out --target install -- -j ${NCPU:-4} && \ sudo ldconfig ``` +#### gRPC + +```bash +mkdir -p $HOME/Downloads/grpc && cd $HOME/Downloads/grpc +sudo dnf makecache && sudo dnf install -y c-ares-devel re2-devel +curl -fsSL https://github.com/grpc/grpc/archive/v1.71.2.tar.gz | \ + tar -xzf - --strip-components=1 && \ + cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_STANDARD=17 \ + -DBUILD_SHARED_LIBS=ON \ + -DgRPC_INSTALL=ON \ + -DgRPC_BUILD_TESTS=OFF \ + -DgRPC_ABSL_PROVIDER=package \ + -DgRPC_CARES_PROVIDER=package \ + -DgRPC_PROTOBUF_PROVIDER=package \ + -DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG \ + -DgRPC_RE2_PROVIDER=package \ + -DgRPC_SSL_PROVIDER=package \ + -DgRPC_ZLIB_PROVIDER=package \ + -DgRPC_OPENTELEMETRY_PROVIDER=package \ + -DgRPC_BUILD_GRPCPP_OTEL_PLUGIN=ON \ + -GNinja -S . -B cmake-out && \ +sudo cmake --build cmake-out --target install && \ +sudo ldconfig && cd /var/tmp && rm -fr build +``` + #### Compile and install the main project We can now compile and install `google-cloud-cpp`: @@ -310,7 +355,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -478,7 +523,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -650,7 +695,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -793,7 +838,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -964,7 +1009,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -1118,7 +1163,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install @@ -1323,7 +1368,7 @@ cmake -S . -B cmake-out \ -DBUILD_TESTING=OFF \ -DGOOGLE_CLOUD_CPP_WITH_MOCKS=OFF \ -DGOOGLE_CLOUD_CPP_ENABLE_EXAMPLES=OFF \ - -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-ON}" \ + -DGOOGLE_CLOUD_CPP_ENABLE_CTYPE_CORD_WORKAROUND="${DEMO_CORD_WORKAROUND:-OFF}" \ -DGOOGLE_CLOUD_CPP_ENABLE=__ga_libraries__,opentelemetry cmake --build cmake-out -- -j "$(nproc)" cmake --build cmake-out --target install diff --git a/google/cloud/bigtable/client.cc b/google/cloud/bigtable/client.cc index 893683bdadf4f..12e70978a0c9c 100644 --- a/google/cloud/bigtable/client.cc +++ b/google/cloud/bigtable/client.cc @@ -21,25 +21,24 @@ namespace cloud { namespace bigtable { GOOGLE_CLOUD_CPP_INLINE_NAMESPACE_BEGIN -using ::google::cloud::bigtable_internal::MergeOptions; using ::google::cloud::internal::OptionsSpan; StatusOr Client::PrepareQuery(InstanceResource const& instance, SqlStatement const& statement, Options opts) { - OptionsSpan span(MergeOptions(std::move(opts), opts_)); + OptionsSpan span(bigtable_internal::MergeOptions(std::move(opts), opts_)); return conn_->PrepareQuery({instance, statement}); } future> Client::AsyncPrepareQuery( InstanceResource const& instance, SqlStatement const& statement, Options opts) { - OptionsSpan span(MergeOptions(std::move(opts), opts_)); + OptionsSpan span(bigtable_internal::MergeOptions(std::move(opts), opts_)); return conn_->AsyncPrepareQuery({instance, statement}); } RowStream Client::ExecuteQuery(BoundQuery&& bound_query, Options opts) { - OptionsSpan span(MergeOptions(std::move(opts), opts_)); + OptionsSpan span(bigtable_internal::MergeOptions(std::move(opts), opts_)); return conn_->ExecuteQuery({std::move(bound_query)}); }